Fix native provisioning scheduling and progress reporting
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { recordAgentReceipt } from '../provisioning/agent-events.js';
|
||||
import { createHash, randomBytes, randomUUID, timingSafeEqual } from 'node:crypto';
|
||||
import { isIP } from 'node:net';
|
||||
import { db } from '../db/index.js';
|
||||
@@ -342,7 +343,12 @@ export function reportHostOperation(hostId: string, id: string, input: { state:
|
||||
if (state === 'failed') database().prepare("UPDATE ec_host_decommissions SET stage='failed',error=?,updated_at=? WHERE operation_id=?").run(error ?? 'The agent could not start cleanup. Repair the installation, then retry deletion.', now(), id);
|
||||
else database().prepare("UPDATE ec_host_decommissions SET stage='running',updated_at=? WHERE operation_id=? AND stage IN ('queued','running')").run(now(), id);
|
||||
}
|
||||
if (operation.state !== state) database().prepare('INSERT INTO ec_host_operation_events(operation_id,state,created_at,error) VALUES(?,?,?,?)').run(id, state, now(), error);
|
||||
if (operation.state !== state) {
|
||||
database().prepare('INSERT INTO ec_host_operation_events(operation_id,state,created_at,error) VALUES(?,?,?,?)').run(id, state, now(), error);
|
||||
if (operation.kind.startsWith('instance.') && operation.kind !== 'instance.inspect' || operation.kind === 'files.stage') {
|
||||
recordAgentReceipt(id, state, now());
|
||||
}
|
||||
}
|
||||
return getHostOperation(id)!;
|
||||
})();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user