diff --git a/packages/adapters/src/kubernetes-client-adapter.ts b/packages/adapters/src/kubernetes-client-adapter.ts index 6f8feabe1..4bb2377f4 100644 --- a/packages/adapters/src/kubernetes-client-adapter.ts +++ b/packages/adapters/src/kubernetes-client-adapter.ts @@ -113,7 +113,8 @@ class KubernetesClientAdapter { this.logger.error(`Status for "${podName}" pod responded with error`, err?.body?.message); if (err.statusCode === 404) { - this.logger.error("You have deleted this pod already! Try to increase runnerExitDelay in CSIController."); + this.logger.error("Pod not found", podName); + throw Error("Pod not found"); } } else { this.logger.error(`Failed to get pod status: ${podName}.`, err); diff --git a/packages/host/src/lib/csi-controller.ts b/packages/host/src/lib/csi-controller.ts index fd80d374e..bdcff0101 100644 --- a/packages/host/src/lib/csi-controller.ts +++ b/packages/host/src/lib/csi-controller.ts @@ -760,6 +760,10 @@ export class CSIController extends TypedEmitter { } private async handleKill(req: ParsedMessage): Promise> { + if (this.status !== InstanceStatus.RUNNING) { + return { opStatus: ReasonPhrases.BAD_REQUEST, error: "Instance not running" }; + } + const { body: { removeImmediately = false } = { removeImmediately: false } } = req; if (typeof removeImmediately !== "boolean")