mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 21:21:44 +00:00
Merge pull request #128 from houhoucoop/issue-7328
feat: improve Single-Replica Volume Detection for Upgrade
This commit is contained in:
commit
f9a277d893
@ -5,8 +5,10 @@ import { Checkbox } from '@components/Form/Checkbox';
|
|||||||
import ModalWithCard from '@shell/components/ModalWithCard';
|
import ModalWithCard from '@shell/components/ModalWithCard';
|
||||||
import LabeledSelect from '@shell/components/form/LabeledSelect';
|
import LabeledSelect from '@shell/components/form/LabeledSelect';
|
||||||
import { Banner } from '@components/Banner';
|
import { Banner } from '@components/Banner';
|
||||||
|
import { HCI as HCI_ANNOTATIONS } from '@pkg/harvester/config/labels-annotations';
|
||||||
import { HCI } from '../types';
|
import { HCI } from '../types';
|
||||||
import UpgradeInfo from './UpgradeInfo';
|
import UpgradeInfo from './UpgradeInfo';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'HarvesterUpgrade',
|
name: 'HarvesterUpgrade',
|
||||||
|
|
||||||
@ -34,6 +36,7 @@ export default {
|
|||||||
selectMode: true,
|
selectMode: true,
|
||||||
version: '',
|
version: '',
|
||||||
enableLogging: true,
|
enableLogging: true,
|
||||||
|
skipSingleReplicaDetachedVol: false,
|
||||||
readyReleaseNote: false,
|
readyReleaseNote: false,
|
||||||
isOpen: false
|
isOpen: false
|
||||||
};
|
};
|
||||||
@ -68,6 +71,10 @@ export default {
|
|||||||
return this.$store.getters['harvester/schemaFor'](HCI.UPGRADE_LOG);
|
return this.$store.getters['harvester/schemaFor'](HCI.UPGRADE_LOG);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
skipSingleReplicaDetachedVolFeatureEnabled() {
|
||||||
|
return this.$store.getters['harvester-common/getFeatureEnabled']('skipSingleReplicaDetachedVol');
|
||||||
|
},
|
||||||
|
|
||||||
releaseLink() {
|
releaseLink() {
|
||||||
return `https://github.com/harvester/harvester/releases/tag/${ this.version }`;
|
return `https://github.com/harvester/harvester/releases/tag/${ this.version }`;
|
||||||
}
|
}
|
||||||
@ -104,6 +111,11 @@ export default {
|
|||||||
spec: { version: this.version }
|
spec: { version: this.version }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (this.skipSingleReplicaDetachedVolFeatureEnabled && this.skipSingleReplicaDetachedVol) {
|
||||||
|
upgradeValue.metadata.annotations =
|
||||||
|
{ [HCI_ANNOTATIONS.SKIP_SINGLE_REPLICA_DETACHED_VOL]: JSON.stringify(this.skipSingleReplicaDetachedVol) };
|
||||||
|
}
|
||||||
|
|
||||||
if (this.canEnableLogging) {
|
if (this.canEnableLogging) {
|
||||||
upgradeValue.spec.logEnabled = this.enableLogging;
|
upgradeValue.spec.logEnabled = this.enableLogging;
|
||||||
}
|
}
|
||||||
@ -190,6 +202,21 @@ export default {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
v-if="skipSingleReplicaDetachedVolFeatureEnabled"
|
||||||
|
class="mb-5"
|
||||||
|
>
|
||||||
|
<Checkbox
|
||||||
|
v-model:value="skipSingleReplicaDetachedVol"
|
||||||
|
class="check"
|
||||||
|
type="checkbox"
|
||||||
|
:label="t('harvester.upgradePage.skipSingleReplicaDetachedVol')"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<hr
|
||||||
|
v-if="version"
|
||||||
|
class="divider"
|
||||||
|
/>
|
||||||
<div v-if="version">
|
<div v-if="version">
|
||||||
<p
|
<p
|
||||||
v-clean-html="t('harvester.upgradePage.releaseTip', {url: releaseLink}, true)"
|
v-clean-html="t('harvester.upgradePage.releaseTip', {url: releaseLink}, true)"
|
||||||
|
|||||||
@ -49,7 +49,8 @@ const featuresV142 = [
|
|||||||
const featuresV150 = [
|
const featuresV150 = [
|
||||||
...featuresV142,
|
...featuresV142,
|
||||||
'tpmPersistentState',
|
'tpmPersistentState',
|
||||||
'untaggedNetworkSetting'
|
'untaggedNetworkSetting',
|
||||||
|
'skipSingleReplicaDetachedVol'
|
||||||
];
|
];
|
||||||
|
|
||||||
export const RELEASE_FEATURES = {
|
export const RELEASE_FEATURES = {
|
||||||
|
|||||||
@ -43,6 +43,7 @@ export const HCI = {
|
|||||||
IMAGE_SUFFIX: 'harvesterhci.io/image-type',
|
IMAGE_SUFFIX: 'harvesterhci.io/image-type',
|
||||||
OS_TYPE: 'harvesterhci.io/os-type',
|
OS_TYPE: 'harvesterhci.io/os-type',
|
||||||
STORAGE_PROVISIONER: 'harvesterhci.io/storageProvisioner',
|
STORAGE_PROVISIONER: 'harvesterhci.io/storageProvisioner',
|
||||||
|
SKIP_SINGLE_REPLICA_DETACHED_VOL: 'harvesterhci.io/skipSingleReplicaDetachedVol',
|
||||||
HOST_REQUEST: 'management.cattle.io/pod-requests',
|
HOST_REQUEST: 'management.cattle.io/pod-requests',
|
||||||
STORAGE_CLASS: 'harvesterhci.io/storageClassName',
|
STORAGE_CLASS: 'harvesterhci.io/storageClassName',
|
||||||
STORAGE_NETWORK: 'storage-network.settings.harvesterhci.io',
|
STORAGE_NETWORK: 'storage-network.settings.harvesterhci.io',
|
||||||
|
|||||||
@ -854,6 +854,7 @@ harvester:
|
|||||||
currentVersion: CURRENT VERSION
|
currentVersion: CURRENT VERSION
|
||||||
versionLabel: AVAILABLE COMPATIBLE VERSIONS
|
versionLabel: AVAILABLE COMPATIBLE VERSIONS
|
||||||
enableLogging: Enable Logging
|
enableLogging: Enable Logging
|
||||||
|
skipSingleReplicaDetachedVol: Skip checking single-replica detached volumes
|
||||||
upgradeNode: Upgrading Node
|
upgradeNode: Upgrading Node
|
||||||
upgradeSysService: Upgrading System Service
|
upgradeSysService: Upgrading System Service
|
||||||
upgradeImage: Download Upgrade Image
|
upgradeImage: Download Upgrade Image
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user