You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by nv...@apache.org on 2021/08/13 19:39:14 UTC

[cloudstack] branch main updated: Add internal cs name to vm during the ingest (#5242)

This is an automated email from the ASF dual-hosted git repository.

nvazquez 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 1d17d7c  Add internal cs name to vm during the ingest (#5242)
1d17d7c is described below

commit 1d17d7cfbc9fe870d185e3de78d877f500e915a4
Author: DK101010 <57...@users.noreply.github.com>
AuthorDate: Fri Aug 13 21:38:52 2021 +0200

    Add internal cs name to vm during the ingest (#5242)
    
    * add internal cs name to vm during the ingest
    
    * Update server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java
    
    Co-authored-by: dahn <da...@gmail.com>
    
    * remove lang.StringUtils
    
    * Update vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java
    
    Co-authored-by: sureshanaparti <12...@users.noreply.github.com>
    
    * Update vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java
    
    Co-authored-by: Abhishek Kumar <ab...@gmail.com>
    
    Co-authored-by: DK101010 <di...@itelligence.de>
    Co-authored-by: dahn <da...@gmail.com>
    Co-authored-by: sureshanaparti <12...@users.noreply.github.com>
    Co-authored-by: Abhishek Kumar <ab...@gmail.com>
---
 .../java/org/apache/cloudstack/vm/UnmanagedInstanceTO.java     | 10 ++++++++++
 .../com/cloud/hypervisor/vmware/resource/VmwareResource.java   |  1 +
 .../java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java |  6 +++++-
 .../src/main/java/com/cloud/hypervisor/vmware/mo/HostMO.java   |  5 +++--
 .../java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java  |  9 +++++++++
 5 files changed, 28 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 860ecdc..95675f2 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 class UnmanagedInstanceTO {
 
     private String name;
 
+    private String internalCSName;
+
     private PowerState powerState;
 
     private Integer cpuCores;
@@ -55,6 +57,14 @@ public class UnmanagedInstanceTO {
         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 db277e3..0248903 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
@@ -7277,6 +7277,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
         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 a470486..07cf567 100644
--- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java
+++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java
@@ -956,6 +956,10 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager {
             throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, String.format("Failed to import VM: %s. %s", unmanagedInstance.getName(), Strings.nullToEmpty(e.getMessage())));
         }
 
+        String internalCSName = unmanagedInstance.getInternalCSName();
+        if(StringUtils.isEmpty(internalCSName)){
+            internalCSName = instanceName;
+        }
         Map<String, String> allDetails = new HashMap<>(details);
         if (validatedServiceOffering.isDynamic()) {
             allDetails.put(VmDetailConstants.CPU_NUMBER, String.valueOf(validatedServiceOffering.getCpu()));
@@ -1002,7 +1006,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager {
             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 ac419b2..ab3f109 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 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
 
                     if (s_logger.isTraceEnabled())
                         s_logger.trace("put " + vmName + " into host cache");
-
-                    _vmCache.put(vmName, new VirtualMachineMO(_context, oc.getObj()));
+                    VirtualMachineMO virtualMachine = new VirtualMachineMO(_context, oc.getObj());
+                    virtualMachine.setInternalCSName(vmName);
+                    _vmCache.put(vmName, virtualMachine);
                 }
             }
         }
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 04fe65d..c99286b 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
@@ -130,6 +130,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);