diff --git a/pkg/harvester/components/HarvesterUpgrade.vue b/pkg/harvester/components/HarvesterUpgrade.vue index a4b41fa1f7d..7f174648ae6 100644 --- a/pkg/harvester/components/HarvesterUpgrade.vue +++ b/pkg/harvester/components/HarvesterUpgrade.vue @@ -41,6 +41,16 @@ export default { computed: { ...mapGetters(['currentCluster']), + latestUpgrade() { + return this.upgrade?.find(u => u.isLatestUpgrade); + }, + + isUpgradeInProgress() { + return this.latestUpgrade && + !this.latestUpgrade.isUpgradeSucceeded && + !this.latestUpgrade.isUpgradeFailed; + }, + versionOptions() { const versions = this.$store.getters['harvester/all'](HCI.VERSION); @@ -131,7 +141,12 @@ export default { :cluster="currentCluster.nameDisplay" /> - diff --git a/pkg/harvester/models/harvesterhci.io.upgrade.js b/pkg/harvester/models/harvesterhci.io.upgrade.js index 8c323c01c7b..8ab2589fef8 100644 --- a/pkg/harvester/models/harvesterhci.io.upgrade.js +++ b/pkg/harvester/models/harvesterhci.io.upgrade.js @@ -9,6 +9,10 @@ export default class HciUpgrade extends HarvesterResource { return this?.metadata?.labels?.[HCI.LATEST_UPGRADE] === 'true'; } + get isUpgradeFailed() { + return this?.metadata?.labels?.[HCI.UPGRADE_STATE] === 'Failed'; + } + get isUpgradeSucceeded() { return this?.metadata?.labels?.[HCI.UPGRADE_STATE] === 'Succeeded'; }