Latest changes from harvester/master

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
Francesco Torchia
2024-10-23 17:01:03 +02:00
parent deeccf3db6
commit ec3d88aeb7
56 changed files with 1498 additions and 2197 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ import { _VIEW, _EDIT, _CREATE } from '@shell/config/query-params';
import Tag from '@shell/components/Tag';
export default {
name: 'DiskTags',
name: 'Tags',
components: { Tag },
+12 -2
View File
@@ -35,13 +35,23 @@ export default {
version: '',
enableLogging: true,
readyReleaseNote: false,
isOpen: false,
isOpen: false
};
},
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);
@@ -133,7 +143,7 @@ export default {
/>
</h1>
<button
v-if="versionOptions.length"
v-if="versionOptions.length && !isUpgradeInProgress"
type="button"
class="btn bg-warning btn-sm"
@click="open"
+33 -10
View File
@@ -34,15 +34,7 @@ export default {
},
data() {
const categorySettings = this.settings.filter((s) => {
if (this.category !== 'advanced') {
return (CATEGORY[this.category] || []).find(item => item === s.id);
} else if (this.category === 'advanced') {
const allCategory = Object.keys(CATEGORY);
return !allCategory.some(category => (CATEGORY[category] || []).find(item => item === s.id));
}
}) || [];
const categorySettings = this.filterCategorySettings();
return {
HCI_SETTING,
@@ -52,7 +44,27 @@ export default {
computed: { ...mapGetters({ t: 'i18n/t' }) },
watch: {
settings: {
deep: true,
handler() {
this['categorySettings'] = this.filterCategorySettings();
}
}
},
methods: {
filterCategorySettings() {
return this.settings.filter((s) => {
if (this.category !== 'advanced') {
return (CATEGORY[this.category] || []).find(item => item === s.id);
} else if (this.category === 'advanced') {
const allCategory = Object.keys(CATEGORY);
return !allCategory.some(category => (CATEGORY[category] || []).find(item => item === s.id));
}
}) || [];
},
showActionMenu(e, setting) {
const actionElement = e.srcElement;
@@ -104,7 +116,7 @@ export default {
<template>
<div>
<div v-for="(setting, i) in categorySettings" class="advanced-setting mb-20" :key="i" >
<div v-for="(setting, i) in categorySettings" :key="i">
<div class="header">
<div class="title">
<h1>
@@ -112,6 +124,9 @@ export default {
<span v-if="setting.customized" class="modified">
Modified
</span>
<span v-if="setting.technicalPreview" v-clean-tooltip="t('advancedSettings.technicalPreview')" class="technical-preview">
Technical Preview
</span>
</h1>
<h2 v-clean-html="t(setting.description, {}, true)">
</h2>
@@ -200,4 +215,12 @@ export default {
padding: 2px 10px;
font-size: 12px;
}
.technical-preview {
margin-left: 10px;
border: 1px solid var(--warning);
border-radius: 5px;
padding: 2px 10px;
font-size: 12px;
}
</style>
+7 -3
View File
@@ -1,5 +1,6 @@
<script>
import { Banner } from '@components/Banner';
import { DOC_LINKS } from '../config/doc-links';
export default {
name: 'HarvesterUpgradeInfo',
@@ -16,6 +17,10 @@ export default {
computed: {
releaseVersion() {
return !!this.version ? `https://github.com/harvester/harvester/releases/tag/${ this.version }` : `https://github.com/harvester/harvester/releases`;
},
upgradeLink() {
return DOC_LINKS.UPGRADE_URL;
}
},
};
@@ -26,15 +31,14 @@ export default {
<Banner color="warning">
<div>
<strong>{{ t('harvester.upgradePage.upgradeInfo.warning') }}:</strong>
<p v-clean-html="t('harvester.upgradePage.upgradeInfo.doc', {}, true)" class="mb-5">
</p>
<p v-clean-html="t('harvester.upgradePage.upgradeInfo.doc', {url: upgradeLink}, true)" class="mb-5"></p>
<p class="mb-5">
{{ t('harvester.upgradePage.upgradeInfo.tip') }}
</p>
<p class="mb-5">
{{ t('harvester.upgradePage.upgradeInfo.moreNotes') }} <a :href="releaseVersion" target="_blank">{{ t('generic.moreInfo') }} </a>
{{ t('harvester.upgradePage.upgradeInfo.moreNotes') }} <a :href="releaseVersion" target="_blank">{{ t('generic.moreInfo') }}</a>
</p>
</div>
</Banner>
+1 -1
View File
@@ -61,7 +61,7 @@ export default {
window.open(
url,
'_blank',
'toolbars=0,width=900,height=700,left=0,top=0,noreferrer'
`toolbars=0,width=${ screen.width - 200 },height=${ screen.height - 200 },left=0,top=0,noreferrer`
);
},
@@ -0,0 +1,39 @@
<script>
import CreateEditView from '@shell/mixins/create-edit-view';
import { LabeledInput } from '@components/Form/LabeledInput';
export default {
name: 'AdditionalGuestMemoryOverheadRatio',
components: { LabeledInput },
mixins: [CreateEditView],
data() {
return { ratio: this.value.value || this.value.default };
},
methods: {
update() {
this.value['value'] = this.ratio;
},
useDefault() {
this['ratio'] = this.value.default;
this.update();
},
},
};
</script>
<template>
<div class="row">
<div class="col span-12">
<LabeledInput
v-model:value="ratio"
:label="t('harvester.setting.ratio')"
@update:value="update"
/>
</div>
</div>
</template>
@@ -10,6 +10,7 @@ import Tip from '@shell/components/Tip';
import { allHash } from '@shell/utils/promise';
import { NODE } from '@shell/config/types';
import { HCI } from '../../types';
import { DOC_LINKS } from '../../config/doc-links';
export default {
name: 'HarvesterEditStorageNetwork',
@@ -85,6 +86,9 @@ export default {
},
computed: {
storageNetworkExampleLink() {
return DOC_LINKS.STORAGE_NETWORK_EXAMPLE;
},
clusterNetworkOptions() {
const inStore = this.$store.getters['currentProduct'].inStore;
const clusterNetworks = this.$store.getters[`${ inStore }/all`](HCI.CLUSTER_NETWORK) || [];
@@ -206,8 +210,8 @@ export default {
:placeholder="t('harvester.setting.storageNetwork.range.placeholder')"
label-key="harvester.setting.storageNetwork.range.label"
/>
<Tip class="mb-20" icon="icon icon-info" :text="t('harvester.setting.storageNetwork.tip')">
<t k="harvester.setting.storageNetwork.tip" :raw="true" />
<Tip class="mb-20" icon="icon icon-info">
<t k="harvester.setting.storageNetwork.tip" :raw="true" :url="storageNetworkExampleLink" />
</Tip>
<ArrayList