cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Saksham Srivastava (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CLOUDSTACK-8088) VM scale up is failing in vmware with Unable to execute ScaleVmCommand due to java.lang.NullPointerException
Date Thu, 18 Dec 2014 09:11:13 GMT

     [ 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)

Mime
View raw message