fix(striker-ui-api): wrap missed job calls in try-catch

main
Tsu-ba-me 2 years ago
parent 3a01052e03
commit 00aa2c02df
  1. 10
      striker-ui-api/src/lib/request_handlers/host/updateHost.ts
  2. 18
      striker-ui-api/src/lib/request_handlers/server/createServer.ts

@ -4,7 +4,7 @@ import { LOCAL } from '../../consts/LOCAL';
import SERVER_PATHS from '../../consts/SERVER_PATHS'; import SERVER_PATHS from '../../consts/SERVER_PATHS';
import { job } from '../../accessModule'; import { job } from '../../accessModule';
import { stdout } from '../../shell'; import { stderr, stdout } from '../../shell';
export const updateHost: RequestHandler< export const updateHost: RequestHandler<
{ hostUUID: string }, { hostUUID: string },
@ -25,6 +25,7 @@ export const updateHost: RequestHandler<
if (isEnableInstallTarget !== undefined) { if (isEnableInstallTarget !== undefined) {
const task = isEnableInstallTarget ? 'enable' : 'disable'; const task = isEnableInstallTarget ? 'enable' : 'disable';
try {
job({ job({
file: __filename, file: __filename,
job_command: `${SERVER_PATHS.usr.sbin['striker-manage-install-target'].self} --${task}`, job_command: `${SERVER_PATHS.usr.sbin['striker-manage-install-target'].self} --${task}`,
@ -33,6 +34,13 @@ export const updateHost: RequestHandler<
job_name: `install-target::${task}`, job_name: `install-target::${task}`,
job_title: 'job_0015', job_title: 'job_0015',
}); });
} catch (subError) {
stderr(`Failed to ${task} install target; CAUSE: ${subError}`);
response.status(500).send();
return;
}
} }
response.status(200).send(); response.status(200).send();

@ -6,10 +6,10 @@ import { REP_INTEGER, REP_UUID } from '../../consts/REG_EXP_PATTERNS';
import SERVER_PATHS from '../../consts/SERVER_PATHS'; import SERVER_PATHS from '../../consts/SERVER_PATHS';
import { dbQuery, job } from '../../accessModule'; import { dbQuery, job } from '../../accessModule';
import { stderr, stdout } from '../../shell';
export const createServer: RequestHandler = ({ body }, response) => { export const createServer: RequestHandler = ({ body }, response) => {
console.log('Creating server.'); stdout(`Creating server.\n${JSON.stringify(body, null, 2)}`);
console.dir(body, { depth: null });
const { const {
serverName, serverName,
@ -81,7 +81,7 @@ export const createServer: RequestHandler = ({ body }, response) => {
`Data anvil UUID must be a valid UUID; got [${dataAnvilUUID}].`, `Data anvil UUID must be a valid UUID; got [${dataAnvilUUID}].`,
); );
} catch (assertError) { } catch (assertError) {
console.log( stdout(
`Failed to assert value when trying to provision a server; CAUSE: ${assertError}.`, `Failed to assert value when trying to provision a server; CAUSE: ${assertError}.`,
); );
@ -99,7 +99,7 @@ storage_size=${dataStorageSize}
install_iso=${dataInstallISO} install_iso=${dataInstallISO}
driver_iso=${dataDriverISO}`; driver_iso=${dataDriverISO}`;
console.log(`provisionServerJobData: [${provisionServerJobData}]`); stdout(`provisionServerJobData=[${provisionServerJobData}]`);
const [[provisionServerJobHostUUID]] = dbQuery( const [[provisionServerJobHostUUID]] = dbQuery(
`SELECT `SELECT
@ -134,8 +134,9 @@ driver_iso=${dataDriverISO}`;
ON pri_hos.phl = nod_1.phr;`, ON pri_hos.phl = nod_1.phr;`,
).stdout; ).stdout;
console.log(`provisionServerJobHostUUID: [${provisionServerJobHostUUID}]`); stdout(`provisionServerJobHostUUID=[${provisionServerJobHostUUID}]`);
try {
job({ job({
file: __filename, file: __filename,
job_command: SERVER_PATHS.usr.sbin['anvil-provision-server'].self, job_command: SERVER_PATHS.usr.sbin['anvil-provision-server'].self,
@ -145,6 +146,13 @@ driver_iso=${dataDriverISO}`;
job_description: 'job_0148', job_description: 'job_0148',
job_host_uuid: provisionServerJobHostUUID, job_host_uuid: provisionServerJobHostUUID,
}); });
} catch (subError) {
stderr(`Failed to provision server; CAUSE: ${subError}`);
response.status(500).send();
return;
}
response.status(202).send(); response.status(202).send();
}; };

Loading…
Cancel
Save