Merge pull request #1542 from nvazquez/nestedv CLOUDSTACK-9379: Support nested virtualization at VM level on VMware Hypervisor## Introduction
[JIRA TICKET](https://issues.apache.org/jira/browse/CLOUDSTACK-9379) It is desired to support nested virtualization at VM level for VMware hypervisor. Current behaviour supports enabling/desabling global nested virtualization by modifying global config `'vmware.nested.virtualization'`. It is wished to improve this feature, having control at VM level instead of a global control only. A new global configuration is added, to enable/disable VM nested virtualization control: `'vmware.nested.virtualization.perVM'`. Default value=false After a vm deployment or start command, vm params include `'nestedVirtualizationFlag'` key and its value is: - true -> nested virtualization enabled - false -> nested virtualization disabled **We will determinate nested virtualization enabled/disabled by examining this 3 values:** - **(1)** global configuration `'vmware.nested.virtualization'` value - **(2)** global configuration `'vmware.nested.virtualization.perVM'` value - **(3)** `'nestedVirtualizationFlag'` value in `user_vm_details` if present, `null` if not. Using this 3 values, there are different use cases: - **(1)** = TRUE, **(2)** = TRUE, **(3)** is null -> _ENABLED_ - **(1)** = TRUE, **(2)** = TRUE, **(3)** = TRUE -> _ENABLED_ - **(1)** = TRUE, **(2)** = TRUE, **(3)** = FALSE -> _DISABLED_ - **(1)** = TRUE, **(2)** = FALSE, **(3)** indifferent -> _ENABLED_ - **(1)** = FALSE, **(2)** = TRUE, **(3)** is null -> _DISABLED_ - **(1)** = FALSE, **(2)** = TRUE, **(3)** = TRUE -> _ENABLED_ - **(1)** = FALSE, **(2)** = TRUE, **(3)** = FALSE -> _DISABLED_ - **(1)** = FALSE, **(2)** = FALSE, **(3)** indifferent -> _DISABLED_ * pr/1542: CLOUDSTACK-9379: Support nested virtualization at VM level on VMware Hypervisor Signed-off-by: Rohit Yadav <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/feaeed7b Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/feaeed7b Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/feaeed7b Branch: refs/heads/master Commit: feaeed7b1665c8851d7762ef95a37a5fc70756e3 Parents: 97f9ef5 cebee7c Author: Rohit Yadav <[email protected]> Authored: Wed Nov 23 14:59:35 2016 +0530 Committer: Rohit Yadav <[email protected]> Committed: Wed Nov 23 15:00:36 2016 +0530 ---------------------------------------------------------------------- .../com/cloud/hypervisor/guru/VMwareGuru.java | 65 ++++++-- .../vmware/resource/VmwareResource.java | 2 +- .../cloud/hypervisor/guru/VMwareGuruTest.java | 157 +++++++++++++++++++ .../vmware/resource/VmwareResourceTest.java | 56 +++++++ server/src/com/cloud/configuration/Config.java | 8 - .../smoke/test_nested_virtualization.py | 152 ++++++++++++++++++ 6 files changed, 419 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/feaeed7b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java ----------------------------------------------------------------------
