Pearl1594 opened a new issue #5925:
URL: https://github.com/apache/cloudstack/issues/5925


   <!--
   Verify first that your issue/request is not already reported on GitHub.
   Also test if the latest release and main branch are affected too.
   Always add information AFTER of these HTML comments, but no need to delete 
the comments.
   -->
   
   ##### ISSUE TYPE
   <!-- Pick one below and delete the rest -->
    * Bug Report
   
   ##### COMPONENT NAME
   <!--
   Categorize the issue, e.g. API, VR, VPN, UI, etc.
   -->
   ~~~
   VM deployment (and probably other operations, that depend on CopyCommand)
   ~~~
   
   ##### CLOUDSTACK VERSION
   <!--
   New line separated list of affected versions, commit ID for issues on main 
branch.
   -->
   
   ~~~
   Observed the bahaviour on 4.11.3 to 4.16
   ~~~
   
   ##### CONFIGURATION
   <!--
   Information about the configuration if relevant, e.g. basic network, 
advanced networking, etc.  N/A otherwise
   -->
   
   
   ##### OS / ENVIRONMENT
   <!--
   Information about the environment if relevant, N/A otherwise
   -->
   Vmware / Centos 7
   
   ##### SUMMARY
   <!-- Explain the problem/feature briefly -->
   On VMware, It was observed that when a volume migration command is in 
progress (whose executeInSequence parameter is always true) is followed by a VM 
deployment operation, the CopyCommand triggered by the clone volume operation 
waits until volume migration completes. Based on 
https://github.com/apache/cloudstack/blob/main/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/guru/VMwareGuru.java#L233-L241
 if vmware.create.full.clone is false, then it shouldn't wait for volume 
migration to complete. 
   The reason for this behavior is that when it goes through all the hypervisor 
Gurus, at VMware guru, the execute in sequence is set to false, but when it 
then goes to XenServerGuru, it gets reset to true 
(https://github.com/apache/cloudstack/blob/main/plugins/hypervisors/xenserver/src/main/java/com/cloud/hypervisor/XenServerGuru.java#L183
 - as CopyCommand is an instance of StorageSubSystemCommand)
   
   ##### STEPS TO REPRODUCE
   <!--
   For bugs, show exactly how to reproduce the problem, using a minimal 
test-case. Use Screenshots if accurate.
   
   For new features, show how the feature would be used.
   -->
   
   <!-- Paste example playbooks or commands between quotes below -->
   ~~~
   1. Initiate a Volume migration - take note of the host to which the command 
(MigrateVolumeCommand) is sent
   2. Deploy a VM on the same host as the one handling volume migration
   3. Ensure the following global settings: 
   - execute.in.sequence.hypervisor.command &
   - vmware.create.full.clone
   are false
   4. Notice that the copy command waits until MigrateVolumeCommand completes
   ~~~
   
   <!-- You can also paste gist.github.com links for larger files -->
   
   ##### EXPECTED RESULTS
   <!-- What did you expect to happen when running the steps above? -->
   
   ~~~
   The 2 commands run concurrently when the required global settings are false
   ~~~
   
   ##### ACTUAL RESULTS
   <!-- What actually happened? -->
   
   <!-- Paste verbatim command output between quotes below -->
   ~~~
   CopyCommand waits for MigrateVolumeCommand to complete
   ~~~
   
   Some debug logs to help visualize the issue:
   **On enabling remote debugging** - notice executeInSequence is false
   
![image](https://user-images.githubusercontent.com/10495417/152139086-64426ac2-d534-410c-9dd8-0a97344568f8.png)
   
   On the command that is actually sent to the host:
   
![image](https://user-images.githubusercontent.com/10495417/152139687-4dc6302e-8ac9-4441-b316-b71d036fc165.png)
   
   
   
   


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