From ef17a68ee2de26f95539df86bb0ac5202d3ad577 Mon Sep 17 00:00:00 2001 From: DK101010 Date: Mon, 26 Jul 2021 13:26:22 +0100 Subject: [PATCH 1/5] add internal cs name to vm during the ingest --- .../org/apache/cloudstack/vm/UnmanagedInstanceTO.java | 10 ++++++++++ .../hypervisor/vmware/resource/VmwareResource.java | 1 + .../apache/cloudstack/vm/UnmanagedVMsManagerImpl.java | 8 +++++++- .../java/com/cloud/hypervisor/vmware/mo/HostMO.java | 5 +++-- .../cloud/hypervisor/vmware/mo/VirtualMachineMO.java | 9 +++++++++ 5 files changed, 30 insertions(+), 3 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/vm/UnmanagedInstanceTO.java b/api/src/main/java/org/apache/cloudstack/vm/UnmanagedInstanceTO.java index 860ecdc3ba14..95675f2bf349 100644 --- a/api/src/main/java/org/apache/cloudstack/vm/UnmanagedInstanceTO.java +++ b/api/src/main/java/org/apache/cloudstack/vm/UnmanagedInstanceTO.java @@ -29,6 +29,8 @@ public enum PowerState { private String name; + private String internalCSName; + private PowerState powerState; private Integer cpuCores; @@ -55,6 +57,14 @@ public void setName(String name) { this.name = name; } + public String getInternalCSName() { + return internalCSName; + } + + public void setInternalCSName(String internalCSName) { + this.internalCSName = internalCSName; + } + public PowerState getPowerState() { return powerState; } 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 f19f7cc5f770..86a045926aeb 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 @@ -7203,6 +7203,7 @@ private UnmanagedInstanceTO getUnmanagedInstance(VmwareHypervisorHost hyperHost, try { 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()); diff --git a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java index 501ca6328020..afd388e8dcbd 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -138,6 +138,7 @@ import com.cloud.vm.dao.VMInstanceDao; import com.google.common.base.Strings; import com.google.gson.Gson; +import org.apache.commons.lang.StringUtils; public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { public static final String VM_IMPORT_DEFAULT_TEMPLATE_NAME = "system-default-vm-import-dummy-template.iso"; @@ -954,6 +955,11 @@ private UserVm importVirtualMachineInternal(final UnmanagedInstanceTO unmanagedI throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import VM: %s. %s", unmanagedInstance.getName(), Strings.nullToEmpty(e.getMessage()))); } + String internalCSName = instanceName; + if(!StringUtils.isEmpty(unmanagedInstance.getInternalCSName()) && !unmanagedInstance.getInternalCSName().equals(instanceName)){ + internalCSName = unmanagedInstance.getInternalCSName(); + } + Map allDetails = new HashMap<>(details); if (validatedServiceOffering.isDynamic()) { allDetails.put(VmDetailConstants.CPU_NUMBER, String.valueOf(validatedServiceOffering.getCpu())); @@ -1000,7 +1006,7 @@ private UserVm importVirtualMachineInternal(final UnmanagedInstanceTO unmanagedI powerState = VirtualMachine.PowerState.PowerOn; } try { - userVm = userVmManager.importVM(zone, host, template, instanceName, displayName, owner, + userVm = userVmManager.importVM(zone, host, template, internalCSName, displayName, owner, null, caller, true, null, owner.getAccountId(), userId, validatedServiceOffering, null, hostName, cluster.getHypervisorType(), allDetails, powerState); diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java index ac419b243410..f8adb73b3dc5 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java @@ -579,8 +579,9 @@ private void loadVmCache() throws Exception { if (s_logger.isTraceEnabled()) s_logger.trace("put " + vmName + " into host cache"); - - _vmCache.put(vmName, new VirtualMachineMO(_context, oc.getObj())); + VirtualMachineMO virtualMaschine = new VirtualMachineMO(_context, oc.getObj()); + virtualMaschine.setInternalCSName(vmName); + _vmCache.put(vmName, virtualMaschine); } } } diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java index 0d01931989bf..435b934d4c4d 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java @@ -129,6 +129,15 @@ public class VirtualMachineMO extends BaseMO { public static final String ANSWER_NO = "1"; private ManagedObjectReference _vmEnvironmentBrowser = null; + private String internalCSName; + + public String getInternalCSName() { + return internalCSName; + } + + public void setInternalCSName(String internalVMName) { + this.internalCSName = internalVMName; + } public VirtualMachineMO(VmwareContext context, ManagedObjectReference morVm) { super(context, morVm); From 57873a39904e5afcf2298a6c76982c2e29424e00 Mon Sep 17 00:00:00 2001 From: DK101010 <57522802+DK101010@users.noreply.github.com> Date: Wed, 28 Jul 2021 07:57:09 +0200 Subject: [PATCH 2/5] Update server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java Co-authored-by: dahn --- .../org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java index afd388e8dcbd..4639c6f9ceae 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -955,11 +955,10 @@ private UserVm importVirtualMachineInternal(final UnmanagedInstanceTO unmanagedI throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import VM: %s. %s", unmanagedInstance.getName(), Strings.nullToEmpty(e.getMessage()))); } - String internalCSName = instanceName; - if(!StringUtils.isEmpty(unmanagedInstance.getInternalCSName()) && !unmanagedInstance.getInternalCSName().equals(instanceName)){ - internalCSName = unmanagedInstance.getInternalCSName(); + String internalCSName = unmanagedInstance.getInternalCSName(); + if(StringUtils.isEmpty(internalCSName)){ + internalCSName = instanceName; } - Map allDetails = new HashMap<>(details); if (validatedServiceOffering.isDynamic()) { allDetails.put(VmDetailConstants.CPU_NUMBER, String.valueOf(validatedServiceOffering.getCpu())); From 68927f6ee49de24f24aa167017c74e2270b44c62 Mon Sep 17 00:00:00 2001 From: DK101010 Date: Mon, 2 Aug 2021 07:23:37 +0100 Subject: [PATCH 3/5] remove lang.StringUtils --- .../java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java | 1 - 1 file changed, 1 deletion(-) diff --git a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java index d4a3f90a984f..07cf567b7e37 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -139,7 +139,6 @@ import com.cloud.vm.snapshot.dao.VMSnapshotDao; import com.google.common.base.Strings; import com.google.gson.Gson; -import org.apache.commons.lang.StringUtils; public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { public static final String VM_IMPORT_DEFAULT_TEMPLATE_NAME = "system-default-vm-import-dummy-template.iso"; From e4b1b77bc09acb8afb53206747eb0b7277425d6b Mon Sep 17 00:00:00 2001 From: DK101010 <57522802+DK101010@users.noreply.github.com> Date: Tue, 10 Aug 2021 13:53:23 +0200 Subject: [PATCH 4/5] Update vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java Co-authored-by: sureshanaparti <12028987+sureshanaparti@users.noreply.github.com> --- .../src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java index f8adb73b3dc5..b0ae1faf181c 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java @@ -579,7 +579,7 @@ private void loadVmCache() throws Exception { if (s_logger.isTraceEnabled()) s_logger.trace("put " + vmName + " into host cache"); - VirtualMachineMO virtualMaschine = new VirtualMachineMO(_context, oc.getObj()); + VirtualMachineMO virtualMachine = new VirtualMachineMO(_context, oc.getObj()); virtualMaschine.setInternalCSName(vmName); _vmCache.put(vmName, virtualMaschine); } From 482669482b6cdc7ed173e960c193dbf9250ce184 Mon Sep 17 00:00:00 2001 From: DK101010 <57522802+DK101010@users.noreply.github.com> Date: Wed, 11 Aug 2021 10:14:58 +0200 Subject: [PATCH 5/5] Update vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java Co-authored-by: Abhishek Kumar --- .../src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java index b0ae1faf181c..ab3f109e19ea 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java @@ -580,8 +580,8 @@ private void loadVmCache() throws Exception { if (s_logger.isTraceEnabled()) s_logger.trace("put " + vmName + " into host cache"); VirtualMachineMO virtualMachine = new VirtualMachineMO(_context, oc.getObj()); - virtualMaschine.setInternalCSName(vmName); - _vmCache.put(vmName, virtualMaschine); + virtualMachine.setInternalCSName(vmName); + _vmCache.put(vmName, virtualMachine); } } }