add global setting to allow parallel execution on vmware - #6413
Conversation
f183ef4 to
c8eb5f2
Compare
4a107e7 to
ff10451
Compare
|
Found UI changes, kicking a new UI QA build |
|
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress. |
weizhouapache
left a comment
There was a problem hiding this comment.
overall code lgtm
just a minor comment
| } else { | ||
| _fullCloneFlag = Boolean.parseBoolean(value); | ||
| } | ||
| _fullCloneFlag = StorageManager.VmwareCreateCloneFull.value(); |
There was a problem hiding this comment.
@DaanHoogland
is it possible _fullCloneFlag is null ?
There was a problem hiding this comment.
No, create full clone has a default value.
|
Found UI changes, kicking a new UI QA build |
|
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress. |
|
UI build: ✔️ |
|
Found UI changes, kicking a new UI QA build |
|
@blueorangutan package |
|
@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 3667 |
|
@blueorangutan test matrix |
|
@DaanHoogland a Trillian-Jenkins matrix job (centos7 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests |
|
Trillian test result (tid-4397)
|
|
Trillian test result (tid-4398)
|
|
Trillian test result (tid-4399)
|
|
Tested - LGTM Details: Tested by having 2 hosts, one of them disabled (env with one host - can't even reproduce the problem) - clean 4.17 env - reproduced the problem. Deployed a VM and a 20GB volume with data in it (so it becomes thicker in the datastore - takes time to migrate it...) Configured global setting vmware.allow.parallel.command.execution=TRUE - and after this, the VM deployment will happen right away, even while the volume migration is still happening. |
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch. |
|
Found UI changes, kicking a new UI QA build |
|
@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress. |
|
UI build: ✔️ |
|
SonarCloud Quality Gate failed. |
|
I think this is good to go. I noticed the lint errors on several PRs and couldn´t figure out what it complains about. |








Description
This PR fixes the following situation:
As an operator one wants to be able to start a VM while another volume migration job is being already executed (when both actions are executed by same host). On vmware this is only possible when the setting
vmware.create.full.cloneis set to false, due to historic limitations in vmware. As a backwards compatible solution this PR adds a setting to override the behaviour whenvmware.create.full.cloneis set to true. when the new settingvmware.allow.parallel.command.executionis set to true parallel execution of storage commands is allways allowed.Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
unit test added and tested manually;
In an environment with 1 host and 2 primary storages
vmware.create.full.cloneon individual primary storages, with the settingvmware.allow.parallel.command.executionset to false. When settingvmware.create.full.clone == trueon only one of the primary storages the deploy will only happen immediately on the other storage.vmware.create.full.clone == trueon a global level, withvmware.allow.parallel.command.execution == false, deployment always waits tillVolumeMigration/CopyCommand/Relocate Virtual Machineis donevmware.create.full.clone == trueon any level, withvmware.allow.parallel.command.execution == truealways immediately deploys virtual machinesnote variety 2, it is not significant but please argue if you feel we should do more testing.