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]

Reply via email to