k8s force exit after cleanup for now

pull/310/head
Frostebite 2022-02-01 01:35:11 +00:00
parent 0eef3b325c
commit d0de6c2b45
5 changed files with 16 additions and 33 deletions

26
dist/index.js vendored
View File

@ -1900,6 +1900,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
const k8s = __importStar(__webpack_require__(89679)); const k8s = __importStar(__webpack_require__(89679));
const __1 = __webpack_require__(41359);
const core = __importStar(__webpack_require__(42186)); const core = __importStar(__webpack_require__(42186));
const kubernetes_storage_1 = __importDefault(__webpack_require__(43951)); const kubernetes_storage_1 = __importDefault(__webpack_require__(43951));
const kubernetes_task_runner_1 = __importDefault(__webpack_require__(7181)); const kubernetes_task_runner_1 = __importDefault(__webpack_require__(7181));
@ -2025,18 +2026,17 @@ class Kubernetes {
catch (_a) { } catch (_a) { }
}); });
} }
cleanupSharedResources( cleanupSharedResources(buildGuid, buildParameters,
// eslint-disable-next-line no-unused-vars
buildGuid,
// eslint-disable-next-line no-unused-vars
buildParameters,
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
branchName, branchName,
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
defaultSecretsArray) { defaultSecretsArray) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
cloud_runner_logger_1.default.log(`deleting PVC`); cloud_runner_logger_1.default.log(`deleting PVC`);
return this.kubeClient.deleteNamespacedPersistentVolumeClaim(this.pvcName, this.namespace); yield this.kubeClient.deleteNamespacedPersistentVolumeClaim(this.pvcName, this.namespace);
yield __1.Output.setBuildVersion(buildParameters.buildVersion);
// eslint-disable-next-line unicorn/no-process-exit
process.exit();
}); });
} }
static findPodFromJob(kubeClient, jobName, namespace) { static findPodFromJob(kubeClient, jobName, namespace) {
@ -2256,12 +2256,7 @@ class KubernetesSecret {
for (const buildSecret of secrets) { for (const buildSecret of secrets) {
secret.data[buildSecret.ParameterKey] = base64.encode(buildSecret.ParameterValue); secret.data[buildSecret.ParameterKey] = base64.encode(buildSecret.ParameterValue);
} }
try { return kubeClient.createNamespacedSecret(namespace, secret);
yield kubeClient.createNamespacedSecret(namespace, secret);
}
catch (error) {
throw error;
}
}); });
} }
} }
@ -2315,12 +2310,7 @@ class KubernetesServiceAccount {
name: serviceAccountName, name: serviceAccountName,
}; };
serviceAccount.automountServiceAccountToken = false; serviceAccount.automountServiceAccountToken = false;
try { return kubeClient.createNamespacedServiceAccount(namespace, serviceAccount);
yield kubeClient.createNamespacedServiceAccount(namespace, serviceAccount);
}
catch (error) {
throw error;
}
}); });
} }
} }

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
import * as k8s from '@kubernetes/client-node'; import * as k8s from '@kubernetes/client-node';
import { BuildParameters } from '../..'; import { BuildParameters, Output } from '../..';
import * as core from '@actions/core'; import * as core from '@actions/core';
import { CloudRunnerProviderInterface } from '../services/cloud-runner-provider-interface'; import { CloudRunnerProviderInterface } from '../services/cloud-runner-provider-interface';
import CloudRunnerSecret from '../services/cloud-runner-secret'; import CloudRunnerSecret from '../services/cloud-runner-secret';
@ -171,9 +171,7 @@ class Kubernetes implements CloudRunnerProviderInterface {
} }
async cleanupSharedResources( async cleanupSharedResources(
// eslint-disable-next-line no-unused-vars
buildGuid: string, buildGuid: string,
// eslint-disable-next-line no-unused-vars
buildParameters: BuildParameters, buildParameters: BuildParameters,
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
branchName: string, branchName: string,
@ -181,7 +179,10 @@ class Kubernetes implements CloudRunnerProviderInterface {
defaultSecretsArray: { ParameterKey: string; EnvironmentVariable: string; ParameterValue: string }[], defaultSecretsArray: { ParameterKey: string; EnvironmentVariable: string; ParameterValue: string }[],
) { ) {
CloudRunnerLogger.log(`deleting PVC`); CloudRunnerLogger.log(`deleting PVC`);
return this.kubeClient.deleteNamespacedPersistentVolumeClaim(this.pvcName, this.namespace); await this.kubeClient.deleteNamespacedPersistentVolumeClaim(this.pvcName, this.namespace);
await Output.setBuildVersion(buildParameters.buildVersion);
// eslint-disable-next-line unicorn/no-process-exit
process.exit();
} }
static async findPodFromJob(kubeClient: CoreV1Api, jobName: string, namespace: string) { static async findPodFromJob(kubeClient: CoreV1Api, jobName: string, namespace: string) {

View File

@ -21,11 +21,7 @@ class KubernetesSecret {
for (const buildSecret of secrets) { for (const buildSecret of secrets) {
secret.data[buildSecret.ParameterKey] = base64.encode(buildSecret.ParameterValue); secret.data[buildSecret.ParameterKey] = base64.encode(buildSecret.ParameterValue);
} }
try { return kubeClient.createNamespacedSecret(namespace, secret);
await kubeClient.createNamespacedSecret(namespace, secret);
} catch (error) {
throw error;
}
} }
} }

View File

@ -10,11 +10,7 @@ class KubernetesServiceAccount {
name: serviceAccountName, name: serviceAccountName,
}; };
serviceAccount.automountServiceAccountToken = false; serviceAccount.automountServiceAccountToken = false;
try { return kubeClient.createNamespacedServiceAccount(namespace, serviceAccount);
await kubeClient.createNamespacedServiceAccount(namespace, serviceAccount);
} catch (error) {
throw error;
}
} }
} }