This is an automated email from the ASF dual-hosted git repository.
shwstppr pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push:
new 27a3d617292 Fix unmanage VM marvin tests and small UI fixes for import
(#8338)
27a3d617292 is described below
commit 27a3d6172925570d0f2bbdd68b1a42ade263c647
Author: Nicolas Vazquez <[email protected]>
AuthorDate: Wed Dec 13 01:55:05 2023 -0300
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
---
.../hypervisor/vmware/resource/VmwareResource.java | 3 +++
ui/src/views/tools/ImportUnmanagedInstance.vue | 18 ++++++++++++++----
.../com/cloud/hypervisor/vmware/util/VmwareHelper.java | 18 +++++++++++-------
3 files changed, 28 insertions(+), 11 deletions(-)
diff --git
a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java
b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index 3e14c0eb975..6c457273bc3 100644
---
a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++
b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -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);
}
}
diff --git a/ui/src/views/tools/ImportUnmanagedInstance.vue
b/ui/src/views/tools/ImportUnmanagedInstance.vue
index 73a2bb96ed1..86decf75d57 100644
--- a/ui/src/views/tools/ImportUnmanagedInstance.vue
+++ b/ui/src/views/tools/ImportUnmanagedInstance.vue
@@ -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>
diff --git
a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java
b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java
index 8301dd2a561..3a8aa085f97 100644
---
a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java
+++
b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareHelper.java
@@ -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")) {