happyalexkg opened a new issue, #7436:
URL: https://github.com/apache/cloudstack/issues/7436
Hello guys, need help here.
ISSUE TYPE
Bug Report
COMPONENT NAME
HA for KVM Host
CLOUDSTACK VERSION
4.17.2
CONFIGURATION
virtual lab :
cat /etc/hosts on each
192.168.11.4 cloudstack-mgr
192.168.11.101 cloud-node02 storage-node02 (compute +linstor-controller+
linstor-satellite)
192.168.11.102 cloud-node03 storage-node03 (compute + linstor-satellite)
192.168.11.100 cloud-node01 storage-node01 (compute + linstor-satellite)
OS / ENVIRONMENT
linstor, mgmt, nfs - rockylinux 9
Descp:
I have 3 kvm host, HA configured properly:
HA enabled - true
HA state - Available
HA provider - kvmhaprovider
Compute offering contains -
Offer HA - true
For example, Vm was created on cloud-node02. Everything works find, Then
i'm go to iLO and shutdown server (power OFF): cloud-node02
and VM never migrate to another host
and in logs i saw:
2023-04-09 00:15:17,946 DEBUG [c.c.a.t.Request]
(AgentManager-Handler-13:null) (logid:) Seq 7-6852789782997642137: Processing:
{ Ans: , MgmtId: 345051817719, via: 7, Ver: v1, Flags: 10,
[{"com.cloud.agent.api.Answer":{"result":"false","
details":"java.lang.NullPointerException: Cannot invoke
"String.equals(Object)" because the return value of
"com.linbit.linstor.api.model.Volume.getDevicePath()" is null
at
com.cloud.hypervisor.kvm.storage.LinstorStorageAdaptor.lambda$getResourceByPath$0(LinstorStorageAdaptor.java:297)
at
java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
at
java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
at
java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at
java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at
java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
at
java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at
java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
at
com.cloud.hypervisor.kvm.storage.LinstorStorageAdaptor.lambda$getResourceByPath$1(LinstorStorageAdaptor.java:297)
at
java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
at
java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
at
java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at
java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at
java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at
java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
at
com.cloud.hypervisor.kvm.storage.LinstorStorageAdaptor.getResourceByPath(LinstorStorageAdaptor.java:298)
at
com.cloud.hypervisor.kvm.storage.LinstorStorageAdaptor.disconnectPhysicalDiskByPath(LinstorStorageAdaptor.java:331)
at
com.cloud.hypervisor.kvm.storage.KVMStoragePoolManager.disconnectPhysicalDiskByPath(KVMStoragePoolManager.java:204)
at
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.cleanupDisk(LibvirtComputingResource.java:3150)
at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStopCommandWrapper.execute(LibvirtStopCommandWrapper.java:101)
at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStopCommandWrapper.execute(LibvirtStopCommandWrapper.java:49)
at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
at
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1831)
at com.cloud.agent.Agent.processRequest(Agent.java:660)
at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1080)
at com.cloud.utils.nio.Task.call(Task.java:83)
at com.cloud.utils.nio.Task.call(Task.java:29)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
","wait":"0","bypassHostMaintenance":"false"}}] }
and VM never migate :( but if i boot up again host, after everything is
loaded and started - Vm migrate to new node.
I tried same scenarion with Ceph and everything works as should.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]