[ https://issues.apache.org/jira/browse/CLOUDSTACK-8088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Saksham Srivastava updated CLOUDSTACK-8088: ------------------------------------------- Description: setup ------- Vcenter 5.5 (esxi-5.5) setup steps to reproduce ------------------------ 1-enable zone level setting enable.dynamic.scale.vm 2-deploy a vm which is dynamically scalable 3- try to scale up vm to medium SO (#cpu=1,cpu=1000,mem=1024) expected ----------- scaling up should be sucessful actual ------- scaling up is failing with error com.cloud.utils.exception.CloudRuntimeException: Unable to scale vm due to Unable to execute ScaleVmCommand due to java.lang.NullPointerException During scale vm command, in VmwareResource.java the following line is executed where there is no value sent in the 'details' map for the configuration parameter 'vmware.reserve.mem'. because of this NPE is occured. int getReservedMemoryMb(VirtualMachineTO vmSpec) { if (vmSpec.getDetails().get(VMwareGuru.VmwareReserveMemory.key()).equalsIgnoreCase("true")) { ... In VirtualMachineManagerImpl.java ScaleVmCommand is prepared where VirtualMachineTO transfer object is created as following where we are not setting 'details' map. public ScaleVmCommand(String vmName, int cpus, Integer minSpeed, Integer maxSpeed, long minRam, long maxRam, boolean limitCpuUse) { ..... this.vm = new VirtualMachineTO(1L, vmName, null, cpus, minSpeed, maxSpeed, minRam, maxRam, null, null, false, limitCpuUse, null); ..... We need to pass these configuration parameters ("vmware.reserve.cpu", "vmware.reserve.mem") to VMwareResource.java using VirtualMachineTO. was: setup ------- Vcenter 5.5 (esxi-5.5) setup steps to reproduce ------------------------ 1-enable zone level setting enable.dynamic.scale.vm 2-deploy a vm which is dynamically scalable 3- try to scale up vm to medium SO (#cpu=1,cpu=1000,mem=1024) expected ----------- scaling up should be sucessful actual ------- scaling up is failing with error com.cloud.utils.exception.CloudRuntimeException: Unable to scale vm due to Unable to execute ScaleVmCommand due to java.lang.NullPointerException > VM scale up is failing in vmware with Unable to execute ScaleVmCommand due to > java.lang.NullPointerException > ------------------------------------------------------------------------------------------------------------ > > Key: CLOUDSTACK-8088 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8088 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Affects Versions: 4.5.0 > Reporter: Saksham Srivastava > Assignee: Saksham Srivastava > > setup > ------- > Vcenter 5.5 (esxi-5.5) setup > steps to reproduce > ------------------------ > 1-enable zone level setting enable.dynamic.scale.vm > 2-deploy a vm which is dynamically scalable > 3- try to scale up vm to medium SO (#cpu=1,cpu=1000,mem=1024) > expected > ----------- > scaling up should be sucessful > actual > ------- > scaling up is failing with error > com.cloud.utils.exception.CloudRuntimeException: Unable to scale vm due to > Unable to execute ScaleVmCommand due to java.lang.NullPointerException > During scale vm command, in VmwareResource.java the following line is > executed where there is no value sent in the 'details' map for the > configuration parameter 'vmware.reserve.mem'. because of this NPE is occured. > int getReservedMemoryMb(VirtualMachineTO vmSpec) { > if > (vmSpec.getDetails().get(VMwareGuru.VmwareReserveMemory.key()).equalsIgnoreCase("true")) > { ... > In VirtualMachineManagerImpl.java ScaleVmCommand is prepared where > VirtualMachineTO transfer object is created as following where we are not > setting 'details' map. > public ScaleVmCommand(String vmName, int cpus, Integer minSpeed, Integer > maxSpeed, long minRam, long maxRam, boolean limitCpuUse) { > ..... > this.vm = new VirtualMachineTO(1L, vmName, null, cpus, minSpeed, maxSpeed, > minRam, maxRam, null, null, false, limitCpuUse, null); > ..... > We need to pass these configuration parameters ("vmware.reserve.cpu", > "vmware.reserve.mem") to VMwareResource.java using VirtualMachineTO. -- This message was sent by Atlassian JIRA (v6.3.4#6332)