Fix unmanage VM marvin tests and small UI fixes for import (#8338)

This PR fixes the failing smoke test for test_vm_lifecycle_unmanage_import.py for Vmware and adds a small UI fix on the import wizard
This commit is contained in:
Nicolas Vazquez 2023-12-13 01:55:05 -03:00 committed by GitHub
parent a791d46abe
commit 27a3d61729
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 11 deletions

View File

@ -54,6 +54,7 @@ import com.vmware.vim25.FileQueryFlags;
import com.vmware.vim25.FolderFileInfo;
import com.vmware.vim25.HostDatastoreBrowserSearchResults;
import com.vmware.vim25.HostDatastoreBrowserSearchSpec;
import com.vmware.vim25.VirtualMachineConfigSummary;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.storage.command.CopyCommand;
import org.apache.cloudstack.storage.command.StorageSubSystemCommand;
@ -7154,6 +7155,8 @@ public class VmwareResource extends ServerResourceBase implements StoragePoolRes
}
UnmanagedInstanceTO instance = VmwareHelper.getUnmanagedInstance(hyperHost, vmMo);
if (instance != null) {
VirtualMachineConfigSummary configSummary = vmMo.getConfigSummary();
instance.setCpuSpeed(configSummary != null ? configSummary.getCpuReservation() : 0);
unmanagedInstances.put(instance.getName(), instance);
}
}

View File

@ -266,12 +266,12 @@
</template>
<span>{{ $t('message.ip.address.changes.effect.after.vm.restart') }}</span>
</a-form-item>
<a-row :gutter="12" justify="end">
<a-row v-if="selectedVmwareVcenter" :gutter="12" justify="end">
<a-col style="text-align: right">
<a-form-item name="forced" ref="forced">
<template #label>
<tooltip-label
:title="selectedVmwareVcenter ? $t('label.allow.duplicate.macaddresses') : $t('label.forced')"
:title="$t('label.allow.duplicate.macaddresses')"
:tooltip="apiParams.forced.description"/>
</template>
<a-switch v-model:checked="form.forced" @change="val => { switches.forced = val }" />
@ -294,15 +294,25 @@
</template>
</a-alert>
</a-row>
<a-row :gutter="12">
<a-row v-if="!selectedVmwareVcenter" :gutter="12">
<a-col :md="24" :lg="12">
<a-form-item name="migrateallowed" ref="migrateallowed" v-if="!selectedVmwareVcenter">
<a-form-item name="migrateallowed" ref="migrateallowed">
<template #label>
<tooltip-label :title="$t('label.migrate.allowed')" :tooltip="apiParams.migrateallowed.description"/>
</template>
<a-switch v-model:checked="form.migrateallowed" @change="val => { switches.migrateAllowed = val }" />
</a-form-item>
</a-col>
<a-col>
<a-form-item name="forced" ref="forced">
<template #label>
<tooltip-label
:title="$t('label.forced')"
:tooltip="apiParams.forced.description"/>
</template>
<a-switch v-model:checked="form.forced" @change="val => { switches.forced = val }" />
</a-form-item>
</a-col>
</a-row>
<div :span="24" class="action-button">
<a-button @click="closeAction">{{ $t('label.cancel') }}</a-button>

View File

@ -56,6 +56,7 @@ import com.vmware.vim25.NasDatastoreInfo;
import com.vmware.vim25.VMwareDVSPortSetting;
import com.vmware.vim25.VirtualDeviceFileBackingInfo;
import com.vmware.vim25.VirtualIDEController;
import com.vmware.vim25.VirtualMachineConfigSummary;
import com.vmware.vim25.VirtualMachineGuestOsIdentifier;
import com.vmware.vim25.VirtualMachineToolsStatus;
import com.vmware.vim25.VirtualSCSIController;
@ -797,18 +798,21 @@ public class VmwareHelper {
instance = new UnmanagedInstanceTO();
instance.setName(vmMo.getVmName());
instance.setInternalCSName(vmMo.getInternalCSName());
instance.setCpuCores(vmMo.getConfigSummary().getNumCpu());
instance.setCpuCoresPerSocket(vmMo.getCoresPerSocket());
instance.setCpuSpeed(vmMo.getConfigSummary().getCpuReservation());
instance.setMemory(vmMo.getConfigSummary().getMemorySizeMB());
instance.setOperatingSystemId(vmMo.getVmGuestInfo().getGuestId());
VirtualMachineConfigSummary configSummary = vmMo.getConfigSummary();
if (configSummary != null) {
instance.setCpuCores(configSummary.getNumCpu());
instance.setCpuSpeed(configSummary.getCpuReservation());
instance.setMemory(configSummary.getMemorySizeMB());
}
ClusterMO clusterMo = new ClusterMO(hyperHost.getContext(), hyperHost.getHyperHostCluster());
instance.setClusterName(clusterMo.getName());
instance.setHostName(hyperHost.getHyperHostName());
if (StringUtils.isEmpty(instance.getOperatingSystemId())) {
instance.setOperatingSystemId(vmMo.getConfigSummary().getGuestId());
if (StringUtils.isEmpty(instance.getOperatingSystemId()) && configSummary != null) {
instance.setOperatingSystemId(configSummary.getGuestId());
}
VirtualMachineGuestOsIdentifier osIdentifier = VirtualMachineGuestOsIdentifier.OTHER_GUEST;
try {
@ -819,8 +823,8 @@ public class VmwareHelper {
}
}
instance.setOperatingSystem(vmMo.getGuestInfo().getGuestFullName());
if (StringUtils.isEmpty(instance.getOperatingSystem())) {
instance.setOperatingSystem(vmMo.getConfigSummary().getGuestFullName());
if (StringUtils.isEmpty(instance.getOperatingSystem()) && configSummary != null) {
instance.setOperatingSystem(configSummary.getGuestFullName());
}
UnmanagedInstanceTO.PowerState powerState = UnmanagedInstanceTO.PowerState.PowerUnknown;
if (vmMo.getPowerState().toString().equalsIgnoreCase("POWERED_ON")) {