Skip to content

NPE during host rolling maintenance when host has VMs with custom constrained/unconstrained service offering #9836

@sureshanaparti

Description

@sureshanaparti

NPE during host rolling maintenance when host has VMs with custom constrained/unconstrained service offering

ISSUE TYPE
  • Bug Report
COMPONENT NAME
Host
CLOUDSTACK VERSION
4.19.1.2
OS / ENVIRONMENT

MS + KVM Hosts (OL8)

SUMMARY

NPE after start rolling maintenance when host has VMs with custom constrained/unconstrained service offering.

STEPS TO REPRODUCE
  • Set host tag (tag1) to host, say Host1
  • Set host tag (tag1) to any other host, say Host2, in the same cluster as Host1
  • Create custom constrained/unconstrained service offering with host tag tag1
  • Create VM on the Host1, using the above service offering
  • Start rolling maintenance on Host1

Logs:

2024-10-22 07:33:59,845 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (API-Job-Executor-39:ctx-8b239b3a job-58) (logid:dae9839e) Executing AsyncJobVO: {id:58, userId: 2, accountId: 2, instanceType: Host, instanceId: 1, cmd: org.apache.cloudstack.api.command.admin.resource.StartRollingMaintenanceCmd, cmdInfo: {"response":"json","ctxUserId":"2","sessionkey":"5KjTYbzLXZBM2G0YP4VX1m0ImKo","httpmethod":"GET","ctxStartEventId":"141","hostids":"3ebaf579-7343-463b-9f85-8d7672f23dff","ctxDetails":"{\"interface com.cloud.host.Host\":\"3ebaf579-7343-463b-9f85-8d7672f23dff\"}","ctxAccountId":"2","cmdEventType":"HOST.ROLLING.MAINTENANCE"}, cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: null, initMsid: 32989593469185, completeMsid: null, lastUpdated: null, lastPolled: null, created: null, removed: null}
2024-10-22 07:33:59,857 DEBUG [c.c.r.RollingMaintenanceManagerImpl] (API-Job-Executor-39:ctx-8b239b3a job-58 ctx-46d77a1d) (logid:dae9839e) State checks on the hosts in the cluster
2024-10-22 07:33:59,857 DEBUG [c.c.r.RollingMaintenanceManagerImpl] (API-Job-Executor-39:ctx-8b239b3a job-58 ctx-46d77a1d) (logid:dae9839e) Checking hosts capacity before attempting rolling maintenance
2024-10-22 07:33:59,865 DEBUG [c.c.c.CapacityManagerImpl] (API-Job-Executor-39:ctx-8b239b3a job-58 ctx-46d77a1d) (logid:dae9839e) Host {id: 1, name: ol8.localdomain, uuid: 3ebaf579-7343-463b-9f85-8d7672f23dff} is KVM hypervisor type, no max guest limit check needed
2024-10-22 07:33:59,876 ERROR [c.c.a.ApiAsyncJobDispatcher] (API-Job-Executor-39:ctx-8b239b3a job-58) (logid:dae9839e) Unexpected exception while executing org.apache.cloudstack.api.command.admin.resource.StartRollingMaintenanceCmd
java.lang.NullPointerException
	at com.cloud.capacity.CapacityManagerImpl.checkIfHostHasCpuCapability(CapacityManagerImpl.java:415)
	at com.cloud.resource.RollingMaintenanceManagerImpl.performCapacityChecksBeforeHostInMaintenance(RollingMaintenanceManagerImpl.java:641)
	at com.cloud.resource.RollingMaintenanceManagerImpl.performCapacityChecks(RollingMaintenanceManagerImpl.java:593)
	at com.cloud.resource.RollingMaintenanceManagerImpl.startRollingMaintenance(RollingMaintenanceManagerImpl.java:200)
	at org.apache.cloudstack.api.command.admin.resource.StartRollingMaintenanceCmd.execute(StartRollingMaintenanceCmd.java:131)
	at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:172)
	at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:112)
	at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:654)
	at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:48)
	at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
	at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
	at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
	at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:45)
	at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:602)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
2024-10-22 07:33:59,879 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (API-Job-Executor-39:ctx-8b239b3a job-58) (logid:dae9839e) Complete async job-58, jobStatus: FAILED, resultCode: 530, result: org.apache.cloudstack.api.response.ExceptionResponse/null/{"uuidList":[],"errorcode":"530"}
EXPECTED RESULTS
Rolling maintenance of host should be performed without any issues.
ACTUAL RESULTS
Rolling maintenance of host fails with error, when host has VMs with custom constrained/unconstrained service offering.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions