pull/524/head
Frostebite 2023-03-26 02:23:02 +01:00
parent 10605dbd47
commit 8c016d26af
4 changed files with 17 additions and 18 deletions

14
dist/index.js generated vendored
View File

@ -3146,6 +3146,7 @@ class Kubernetes {
}
catch (error) {
cloud_runner_logger_1.default.log(`error running k8s workflow ${error}`);
await new Promise((resolve) => setTimeout(resolve, 3000));
cloud_runner_logger_1.default.log(JSON.stringify((await this.kubeClient.listNamespacedEvent(this.namespace)).body.items
.map((x) => {
return {
@ -3694,6 +3695,7 @@ class KubernetesTaskRunner {
let sinceTime = ``;
// eslint-disable-next-line no-constant-condition
while (true) {
await new Promise((resolve) => setTimeout(resolve, 3000));
const lastReceivedMessage = KubernetesTaskRunner.lastReceivedTimestamp > 0
? `\nLast Log Message "${this.lastReceivedMessage}" ${this.lastReceivedTimestamp}`
: ``;
@ -3704,18 +3706,18 @@ class KubernetesTaskRunner {
sinceTime = ` --since-time="${dateTimeIsoString}"`;
}
let extraFlags = ``;
extraFlags += (await kubernetes_pods_1.default.IsPodRunning(podName, namespace, kubeClient)) ? ` -f` : ` -p`;
extraFlags += (await kubernetes_pods_1.default.IsPodRunning(podName, namespace, kubeClient))
? ` -f -c ${containerName} --timestamps${sinceTime}`
: ` --previous`;
let lastMessageSeenIncludedInChunk = false;
let lastMessageSeen = false;
let logs;
try {
logs = await cloud_runner_system_1.CloudRunnerSystem.Run(`kubectl logs ${podName}${extraFlags} -c ${containerName} --timestamps${sinceTime}`, false, true);
logs = await cloud_runner_system_1.CloudRunnerSystem.Run(`kubectl logs ${podName}${extraFlags}`, false, true);
}
catch (error) {
const errorString = `${error}`;
const continueStreaming = errorString.includes(`dial timeout, backstop`) ||
errorString.includes(`HttpError: HTTP request failed`) ||
(await kubernetes_pods_1.default.IsPodRunning(podName, namespace, kubeClient));
await new Promise((resolve) => setTimeout(resolve, 3000));
const continueStreaming = await kubernetes_pods_1.default.IsPodRunning(podName, namespace, kubeClient);
cloud_runner_logger_1.default.log(`K8s logging error ${error} ${continueStreaming}`);
if (continueStreaming) {
continue;

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -148,6 +148,7 @@ class Kubernetes implements ProviderInterface {
);
} catch (error: any) {
CloudRunnerLogger.log(`error running k8s workflow ${error}`);
await new Promise((resolve) => setTimeout(resolve, 3000));
CloudRunnerLogger.log(
JSON.stringify(
(await this.kubeClient.listNamespacedEvent(this.namespace)).body.items

View File

@ -23,6 +23,7 @@ class KubernetesTaskRunner {
let sinceTime = ``;
// eslint-disable-next-line no-constant-condition
while (true) {
await new Promise((resolve) => setTimeout(resolve, 3000));
const lastReceivedMessage =
KubernetesTaskRunner.lastReceivedTimestamp > 0
? `\nLast Log Message "${this.lastReceivedMessage}" ${this.lastReceivedTimestamp}`
@ -36,24 +37,19 @@ class KubernetesTaskRunner {
sinceTime = ` --since-time="${dateTimeIsoString}"`;
}
let extraFlags = ``;
extraFlags += (await KubernetesPods.IsPodRunning(podName, namespace, kubeClient)) ? ` -f` : ` -p`;
extraFlags += (await KubernetesPods.IsPodRunning(podName, namespace, kubeClient))
? ` -f -c ${containerName} --timestamps${sinceTime}`
: ` --previous`;
let lastMessageSeenIncludedInChunk = false;
let lastMessageSeen = false;
let logs;
try {
logs = await CloudRunnerSystem.Run(
`kubectl logs ${podName}${extraFlags} -c ${containerName} --timestamps${sinceTime}`,
false,
true,
);
logs = await CloudRunnerSystem.Run(`kubectl logs ${podName}${extraFlags}`, false, true);
} catch (error: any) {
const errorString = `${error}`;
const continueStreaming =
errorString.includes(`dial timeout, backstop`) ||
errorString.includes(`HttpError: HTTP request failed`) ||
(await KubernetesPods.IsPodRunning(podName, namespace, kubeClient));
await new Promise((resolve) => setTimeout(resolve, 3000));
const continueStreaming = await KubernetesPods.IsPodRunning(podName, namespace, kubeClient);
CloudRunnerLogger.log(`K8s logging error ${error} ${continueStreaming}`);
if (continueStreaming) {
continue;