raniers1 opened a new issue, #13098:
URL: https://github.com/apache/cloudstack/issues/13098

   ### problem
   
   When automated DRS is enabled and a cluster contains a VM with a vGPU 
   passthrough profile, the DRS plan generation fails for the entire cluster 
   with an unhandled `InvalidParameterValueException`. No migrations are 
planned 
   for any VM in the cluster, even for the ones that are perfectly migratable.
   
   Error log:
   
   ERROR [o.a.c.c.ClusterDrsServiceImpl] Unable to generate DRS plans for 
cluster
   Cluster {id: "3", name: "princeton-cluster01"}
   com.cloud.exception.InvalidParameterValueException: Unsupported operation,
   VM uses host passthrough, cannot migrate
       at 
org.apache.cloudstack.cluster.ClusterDrsServiceImpl.getBestMigration(ClusterDrsServiceImpl.java:453)
       at 
org.apache.cloudstack.cluster.ClusterDrsServiceImpl.getDrsPlan(ClusterDrsServiceImpl.java:362)
       at 
org.apache.cloudstack.cluster.ClusterDrsServiceImpl.generateDrsPlanForAllClusters(ClusterDrsServiceImpl.java:289)
       at 
org.apache.cloudstack.cluster.ClusterDrsServiceImpl.poll(ClusterDrsServiceImpl.java:181)
   
   
   
   ### versions
   
   ACS 4.21.0.0, KVM
   
   ### The steps to reproduce the bug
   
   1. Enable automated DRS on a cluster (cluster.drs.enabled=true)
   2. Have at least one VM in the cluster using a GPU passthrough profile
   3. Wait for the DRS poll cycle to run
   
   
   
   ### What to do about it?
   
   In `getBestMigration`, catch the `InvalidParameterValueException` thrown by 
   `listHostsForMigrationOfVM` inside the VM loop and skip the VM with a debug 
   log. This allows the remaining eligible VMs to still be evaluated normally.
   


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