Unverified Commit 200061d3 authored by Sebastian Malton's avatar Sebastian Malton Committed by GitHub
Browse files

Use .status.phase instead of computing it for Pod.getStatusMessage (#4286)

parent b52bd297
Showing with 40 additions and 47 deletions
+40 -47
......@@ -165,40 +165,40 @@ interface IContainerProbe {
failureThreshold?: number;
}
export interface ContainerStateRunning {
startedAt: string;
}
export interface ContainerStateWaiting {
reason: string;
message: string;
}
export interface ContainerStateTerminated {
startedAt: string;
finishedAt: string;
exitCode: number;
reason: string;
containerID?: string;
message?: string;
signal?: number;
}
/**
* ContainerState holds a possible state of container. Only one of its members
* may be specified. If none of them is specified, the default one is
* `ContainerStateWaiting`.
*/
export interface ContainerState {
running?: ContainerStateRunning;
waiting?: ContainerStateWaiting;
terminated?: ContainerStateTerminated;
}
export interface IPodContainerStatus {
name: string;
state?: {
[index: string]: object;
running?: {
startedAt: string;
};
waiting?: {
reason: string;
message: string;
};
terminated?: {
startedAt: string;
finishedAt: string;
exitCode: number;
reason: string;
};
};
lastState?: {
[index: string]: object;
running?: {
startedAt: string;
};
waiting?: {
reason: string;
message: string;
};
terminated?: {
startedAt: string;
finishedAt: string;
exitCode: number;
reason: string;
};
};
state?: ContainerState;
lastState?: ContainerState;
ready: boolean;
restartCount: number;
image: string;
......@@ -373,23 +373,16 @@ export class Pod extends WorkloadKubeObject {
}
// Returns pod phase or container error if occurred
getStatusMessage() {
if (this.getReason() === PodStatus.EVICTED) return "Evicted";
if (this.metadata.deletionTimestamp) return "Terminating";
const statuses = this.getContainerStatuses(false); // not including initContainers
for (const { state } of statuses.reverse()) {
if (state.waiting) {
return state.waiting.reason || "Waiting";
}
getStatusMessage(): string {
if (this.getReason() === PodStatus.EVICTED) {
return "Evicted";
}
if (state.terminated) {
return state.terminated.reason || "Terminated";
}
if (this.metadata.deletionTimestamp) {
return "Terminating";
}
return this.getStatusPhase();
return this.getStatusPhase() || "Waiting";
}
getStatusPhase() {
......
......@@ -69,7 +69,7 @@ export class Pods extends React.Component<Props> {
formatters: {
tableView: true,
},
children: Object.keys(state).map(status => (
children: Object.keys(state).map((status: keyof typeof state) => (
<Fragment key={status}>
<div className="title">
{name} <span className="text-secondary">({status}{ready ? ", ready" : ""})</span>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment