diff --git a/packages/forklift-console-plugin/src/modules/Plans/utils/helpers/getPlanPhase.ts b/packages/forklift-console-plugin/src/modules/Plans/utils/helpers/getPlanPhase.ts index 78bc17f38..1b70175bf 100644 --- a/packages/forklift-console-plugin/src/modules/Plans/utils/helpers/getPlanPhase.ts +++ b/packages/forklift-console-plugin/src/modules/Plans/utils/helpers/getPlanPhase.ts @@ -7,23 +7,6 @@ export const getPlanPhase = (data: PlanData): PlanPhase => { if (!plan) return 'Unknown'; - // Check condition category - const isCritical = plan?.status?.conditions?.find( - (c) => c.category === 'Critical' && c.status === 'True', - ); - - if (isCritical) { - return 'Error'; - } - - // Check condition category - const isWarn = plan?.status?.conditions?.find( - (c) => c.category === 'Warn' && c.status === 'True', - ); - - // Check for vm errors - const vmError = plan?.status?.migration?.vms?.find((vm) => vm?.error); - // Check condition type const conditions = getConditions(plan); @@ -31,6 +14,7 @@ export const getPlanPhase = (data: PlanData): PlanPhase => { return 'Unknown'; } + // Check for Archived if (plan?.spec?.archived && !conditions.includes('Archived')) { return 'Archiving'; } @@ -39,10 +23,33 @@ export const getPlanPhase = (data: PlanData): PlanPhase => { return 'Archived'; } + // Check for Succeeded if (conditions.includes('Succeeded')) { return 'Succeeded'; } + // Check for Canceled + if (conditions.includes('Canceled')) { + return 'Canceled'; + } + + // CHeck for Running + if (conditions.includes('Executing')) { + return 'Running'; + } + + // Check condition category + const isCritical = plan?.status?.conditions?.find( + (c) => c.category === 'Critical' && c.status === 'True', + ); + + if (isCritical) { + return 'Error'; + } + + // Check for vm errors + const vmError = plan?.status?.migration?.vms?.find((vm) => vm?.error); + if (conditions.includes('Failed')) { return 'Failed'; } @@ -51,18 +58,15 @@ export const getPlanPhase = (data: PlanData): PlanPhase => { return 'vmError'; } + // Check condition category + const isWarn = plan?.status?.conditions?.find( + (c) => c.category === 'Warn' && c.status === 'True', + ); + if (isWarn) { return 'Warning'; } - if (conditions.includes('Canceled')) { - return 'Canceled'; - } - - if (conditions.includes('Executing')) { - return 'Running'; - } - if (conditions.includes('Ready')) { return 'Ready'; }