mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge remote-tracking branch 'origin/4.17'
This commit is contained in:
commit
e1c7a447cc
@ -147,7 +147,7 @@ public class EncryptionSecretKeyChanger {
|
||||
{
|
||||
bwriter.write(newMSKey);
|
||||
} catch (IOException e) {
|
||||
System.out.println("Failed to write new secret to file. Please update the file manually");
|
||||
System.out.println(String.format("Please update the file %s manually. Failed to write new secret to file with error %s", keyFile, e.getMessage()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -397,7 +397,11 @@ for example:
|
||||
|
||||
def saveMgmtServerSecretKey():
|
||||
if self.encryptiontype == 'file':
|
||||
try:
|
||||
open(self.encryptionKeyFile, 'w').write(self.mgmtsecretkey)
|
||||
except IOError as e:
|
||||
msg = "Failed to save management server secret key file %s due to %s, also please check the default umask"%(self.encryptionKeyFile, e.strerror)
|
||||
self.errorAndExit(msg)
|
||||
|
||||
def formatEncryptResult(value):
|
||||
return 'ENC(%s)'%value
|
||||
|
||||
@ -43,6 +43,10 @@ export default {
|
||||
}
|
||||
},
|
||||
getDimensions () {
|
||||
const num = Number(this.size)
|
||||
if (Number.isInteger(num) && num > 0) {
|
||||
return num
|
||||
}
|
||||
switch (this.size) {
|
||||
case '4x':
|
||||
return 56
|
||||
|
||||
@ -26,7 +26,8 @@ export const i18n = createI18n({
|
||||
fallbackLocale: 'en',
|
||||
silentTranslationWarn: true,
|
||||
messages: messages,
|
||||
silentFallbackWarn: true
|
||||
silentFallbackWarn: true,
|
||||
warnHtmlInMessage: 'off'
|
||||
})
|
||||
|
||||
export function loadLanguageAsync (lang) {
|
||||
|
||||
@ -45,12 +45,11 @@
|
||||
<a-card-grid style="width:200px;" :title="zoneItem.name" :hoverable="false">
|
||||
<a-radio :value="zoneItem.id">
|
||||
<div>
|
||||
<img
|
||||
<resource-icon
|
||||
v-if="zoneItem && zoneItem.icon && zoneItem.icon.base64image"
|
||||
:src="getImg(zoneItem.icon.base64image)"
|
||||
style="marginTop: -30px; marginLeft: 60px"
|
||||
width="36px"
|
||||
height="36px" />
|
||||
:image="zoneItem.icon.base64image"
|
||||
size="36"
|
||||
style="marginTop: -30px; marginLeft: 60px" />
|
||||
<global-outlined v-else :style="{fontSize: '36px', marginLeft: '60px', marginTop: '-40px'}"/>
|
||||
</div>
|
||||
</a-radio>
|
||||
@ -1487,9 +1486,6 @@ export default {
|
||||
'maxmemory' in serviceOffering.serviceofferingdetails && 'maxcpunumber' in serviceOffering.serviceofferingdetails &&
|
||||
'minmemory' in serviceOffering.serviceofferingdetails
|
||||
},
|
||||
getImg (image) {
|
||||
return 'data:image/png;charset=utf-8;base64, ' + image
|
||||
},
|
||||
updateOverrideRootDiskShowParam (val) {
|
||||
if (val) {
|
||||
this.showRootDiskSizeChanger = false
|
||||
|
||||
@ -269,10 +269,12 @@ export default {
|
||||
this.addCluster()
|
||||
},
|
||||
addCluster () {
|
||||
let clustername = this.clustername
|
||||
|
||||
if (this.hypervisor === 'VMware') {
|
||||
const clusternameVal = this.clustername
|
||||
this.url = `http://${this.host}/${this.dataCenter}/${clusternameVal}`
|
||||
this.clustername = `${this.host}/${this.dataCenter}/${clusternameVal}`
|
||||
clustername = `${this.host}/${this.dataCenter}/${clusternameVal}`
|
||||
}
|
||||
this.loading = true
|
||||
this.parentToggleLoading()
|
||||
@ -281,7 +283,7 @@ export default {
|
||||
hypervisor: this.hypervisor,
|
||||
clustertype: this.clustertype,
|
||||
podId: this.podId,
|
||||
clustername: this.clustername,
|
||||
clustername: clustername,
|
||||
url: this.url
|
||||
}
|
||||
if (this.ovm3pool) {
|
||||
|
||||
@ -137,14 +137,14 @@ export default {
|
||||
return this.prefillContent?.hypervisor || null
|
||||
},
|
||||
localstorageenabled () {
|
||||
return this.prefillContent?.localstorageenabled?.value || false
|
||||
return this.prefillContent?.localstorageenabled || false
|
||||
},
|
||||
localstorageenabledforsystemvm () {
|
||||
return this.prefillContent?.localstorageenabledforsystemvm?.value || false
|
||||
return this.prefillContent?.localstorageenabledforsystemvm || false
|
||||
},
|
||||
steps () {
|
||||
const steps = []
|
||||
const hypervisor = this.prefillContent.hypervisor ? this.prefillContent.hypervisor.value : null
|
||||
const hypervisor = this.prefillContent.hypervisor ? this.prefillContent.hypervisor : null
|
||||
steps.push({
|
||||
title: 'label.cluster',
|
||||
fromKey: 'clusterResource',
|
||||
|
||||
@ -143,7 +143,7 @@
|
||||
</a-button>
|
||||
</div>
|
||||
<a-modal
|
||||
:visible="showError"
|
||||
v-model:visible="showError"
|
||||
:title="`${$t('label.error')}!`"
|
||||
:maskClosable="false"
|
||||
:closable="true"
|
||||
@ -151,7 +151,7 @@
|
||||
@cancel="() => { showError = false }"
|
||||
centered
|
||||
>
|
||||
<div v-ctrl-enter="showError = false">
|
||||
<div v-ctrl-enter="() => showError = false">
|
||||
<span>{{ $t('message.required.traffic.type') }}</span>
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="showError = false">{{ $t('label.cancel') }}</a-button>
|
||||
@ -161,7 +161,7 @@
|
||||
</a-modal>
|
||||
<a-modal
|
||||
:title="$t('label.edit.traffic.type')"
|
||||
:visible="showEditTraffic"
|
||||
v-model:visible="showEditTraffic"
|
||||
:closable="true"
|
||||
:maskClosable="false"
|
||||
centered
|
||||
@ -323,7 +323,7 @@ export default {
|
||||
return traffics
|
||||
},
|
||||
hypervisor () {
|
||||
return this.prefillContent.hypervisor?.value || null
|
||||
return this.prefillContent.hypervisor || null
|
||||
}
|
||||
},
|
||||
created () {
|
||||
@ -414,15 +414,23 @@ export default {
|
||||
const shouldHaveLabels = this.physicalNetworks.length > 1
|
||||
let isValid = true
|
||||
this.requiredTrafficTypes.forEach(type => {
|
||||
if (!isValid) return false
|
||||
let foundType = false
|
||||
this.physicalNetworks.forEach(net => {
|
||||
net.traffics.forEach(traffic => {
|
||||
if (!isValid) return false
|
||||
if (traffic.type === type) {
|
||||
foundType = true
|
||||
}
|
||||
if (this.hypervisor !== 'VMware') {
|
||||
if (shouldHaveLabels && (!traffic.label || traffic.label.length === 0)) {
|
||||
isValid = false
|
||||
}
|
||||
} else {
|
||||
if (shouldHaveLabels && (!traffic.vSwitchName || traffic.vSwitchName.length === 0)) {
|
||||
isValid = false
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
if (!foundType || !isValid) {
|
||||
@ -477,12 +485,12 @@ export default {
|
||||
const fields = {}
|
||||
if (this.hypervisor === 'VMware') {
|
||||
delete this.trafficInEdit.traffic.label
|
||||
fields.vSwitchName = null
|
||||
fields.vlanId = null
|
||||
fields.vSwitchName = this.trafficInEdit?.traffic?.vSwitchName || null
|
||||
fields.vlanId = this.trafficInEdit?.traffic?.vlanId || null
|
||||
if (traffic.type === 'guest') {
|
||||
fields.vSwitchName = this.trafficInEdit?.traffic?.vSwitchName || 'vSwitch0'
|
||||
}
|
||||
fields.vSwitchType = 'vmwaresvs'
|
||||
fields.vSwitchType = this.trafficInEdit?.traffic?.vSwitchType || 'vmwaresvs'
|
||||
} else {
|
||||
delete this.trafficInEdit.traffic.vSwitchName
|
||||
delete this.trafficInEdit.traffic.vlanId
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user