You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by nvazquez <gi...@git.apache.org> on 2016/05/12 20:25:27 UTC

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

GitHub user nvazquez opened a pull request:

    https://github.com/apache/cloudstack/pull/1542

    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.
    
    ## Proposal
    
    A new global configuration is added, to enable/disable VM nested virtualization control: `'vmware.nested.virtualization.perVM'`. Default value=false
    
    ## Behaviour
    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_

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nvazquez/cloudstack nestedv

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1542.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1542
    
----
commit 66a4a842bff1a8e8d1bb15fea12fb3b005b1c1d7
Author: nvazquez <ni...@gmail.com>
Date:   2016-05-09T20:06:02Z

    CLOUDSTACK-9379: Support nested virtualization at VM level on VMware Hypervisor

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
     @karuturi @jburwell As per @rhtyd we can run additional tests with blueorangutan . Can we execute them and merge this PR since it  passes the  standard test suite just fine?



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Thanks @jburwell! Rebased


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

Posted by ustcweizhou <gi...@git.apache.org>.
Github user ustcweizhou commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542#issuecomment-219270106
  
    @nvazquez Can you use ConfigKey instead of changes on Config.java and schema-481to490.sql ?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhtyd sure, will do and post results


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell This sounds like a good idea. In this PR all abstraction work is done so the things to do would be to implement support in respective hypervisor resources as well as strip "vmware." prefix from conjuration items. @nvazquez is preparing intragrtion test based on @rhtyd idea


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @serg38 @nvazquez I apologize that I am late to the review.  I would like to see a Marvin test added that verifies that nested virtualization works when the global setting is enabled (i.e. successfully create a VM within a VM).  Would that be possible?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhtyd good idea to check the CPU flags.  There is a part of me that would like to see a VM actually spin up inside a VM, but there are also many things that could go wrong that are not related to CloudStack.  Plus, it would be slow.  Therefore, checking the CPU flags is an excellent compromise.  
    
    Another thing that I see in this PR is that nested virtualization seems like a capability that should be more generally expressed and managed in CloudStack's core abstractions.  @rhtyd could you open a ticket to extract the aspects of this enhancement that are common across all hypervisors that support nested virtualization?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @blueorangutan test centos7 vmware-55u3 test_nested_virtualization.py


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez  the code is great now.
    
    I have just a concern about that hack to change the field declared as final.
    In my opinion, the final there does not bring benefits. So, I believe it can be removed. 
    I have seen people using final a lot, but I think that final should be used only when we have 100% certainty that it is needed; otherwise, it complicates our lives when writing test cases or while extending some method/class.
    
    What do you think?



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    The debian pkg failed due to an intermittent unit test failure (ignorable, env issue).
    @blueorangutan test


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rafaelweingartner @jburwell @karuturi Looks like this PR has everything to get merged. Can we do it by the release freeze?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    That's great, thanks!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez @rhtyd is working on an enhancement to blueoragnutan that will allow to specify component tests to run in addition to the smoke tests.  When that is ready, we will re-execute the smoke tests with the new component test introduced by the PR.   


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Hi @rhtyd, we ran `test_internal_lb.py` and `test_vpc_vpn.py` using `tl-vmware.ova` template and got this results:
    
    `test_vpc_vpn` is ok:
    ```
    Test Site 2 Site VPN Across redundant VPCs ... === TestName: test_01_redundant_vpc_site2site_vpn | Status : SUCCESS ===
    ok
    Test Remote Access VPN in VPC ... === TestName: test_01_vpc_remote_access_vpn | Status : SUCCESS ===
    ok
    Test Site 2 Site VPN Across VPCs ... === TestName: test_01_vpc_site2site_vpn | Status : SUCCESS ===
    ok
     
    ----------------------------------------------------------------------
    Ran 3 tests in 1949.605s
     
    OK
    ```
    
    However, `test_internal_lb` fails, we could find some issues:
    - /sbin/ip is needed but not present in template {Cmd: /sbin/ip addr show eth0 |grep 'inet '| cut -f6 -d' ' > /tmp/index.html via Host: 10.140.12.107} {returns: [u'sh: /sbin/ip: not found']}
    - 2 more tests fail due to a difference in wget on new template: {Cmd: /usr/bin/wget -T3 -qO- --user=XX --password=XX http://XXXX:8081/admin?stats via Host: 10.140.12.106} {returns: [u"/usr/bin/wget: unrecognized option '..
    - We have some strange erros in this functions which require more arguments than given but couldn't find out why
    ```
    2016-10-02 22:13:20,881 - CRITICAL - EXCEPTION: execute_internallb_haproxy_tests: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/unittest/case.py", line 331, in run\n    testMethod()\n', 'TypeError: execute_internallb_haproxy_tests() takes exactly 2 arguments (1 given)\n']
    2016-10-02 22:13:20,883 - CRITICAL - EXCEPTION: execute_internallb_roundrobin_tests: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/unittest/case.py", line 331, in run\n    testMethod()\n', 'TypeError: execute_internallb_roundrobin_tests() takes exactly 2 arguments (1 given)\n']
    2016-10-02 22:13:20,885 - CRITICAL - EXCEPTION: run_ssh_test_accross_hosts: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/unittest/case.py", line 331, in run\n    testMethod()\n', 'TypeError: run_ssh_test_accross_hosts() takes at least 3 arguments (1 given)\n']
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Thanks @rafaelweingartner 
    This is the link to JIRA ticket: https://issues.apache.org/jira/browse/CLOUDSTACK-9457


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhytd can you help @serg38 craft a template with KVM installed and the virsh commands to create a nested VM?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

Posted by remibergsma <gi...@git.apache.org>.
Github user remibergsma commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542#issuecomment-219206665
  
    KVM also has this feature and there you can enable/disable it in the agent.properties file (ant not per VM). We should try to make the code as generic as possible, instead of implementing it like this IMHO.
    
    Why do you want to control this per VM by the way?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Great tip, @rhtyd This way it is actually very straightforward. We should be able to come up with integration test for this PR shortly


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez unfortunately I no longer am involved in cloud computing. I'd really need a deep dive to give value, sorry. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542#issuecomment-222046182
  
    Hi @ustcweizhou @DaanHoogland @remibergsma,
    
    I moved global config definitions to `ConfigKey.java` instead of `Config.java` and `schema-481to490.sql`.
    
    I also created a JIRA ticket https://issues.apache.org/jira/browse/CLOUDSTACK-9391 to extend this functionality to any hypervisor, I can work on it and create a separate pull request, what do you think?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @serg38 no problem


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez, it seems that there was a problem with the Jenkins Job. Can you force another build?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez long time we don\u2019t do this ;)
    
    First of all, your PR explanation is great. The code is very well documented and explained and with test cases (very good ones). Congratulations. I really like your work. 
    
    I have some suggestions for you, though.
    
    I think that the method \u201cenableNestedVirtualization\u201d could return a Boolean. I see no need to transform the Boolean in a String there; It seems better to use Boolean.toString(bool) at line 376. Moreover, when reading the method \u201cenableNestedVirtualization\u201d, I felt like it was going to enable something on the VM, which is not the case. This looks more a \u201cshould\u201d, \u201ccan\u201d, \u201chas\u201d type of method. I mean, it is a method that checks if something has to/should/can be done; in this case, the enabling of nested virtualization. Therefore, I think names such as \u201ccanUseNestedVirtualization\u201d, \u201cshould enableNestedVirtualization\u201d, \u201chasToEnableNestedVirtualization\u201d seem more appropriate.
    
    I also think that the code has room for improvements. First, to reduce the cyclomatic complexity, you can invert the first if, which become something like this:
    ```
    if (globalNestedV == null || globalNestedVPerVM == null) {
        return false;
    }
    ```
    Then, the other conditional can be further improved. It is a bit complicated. Something like this would have the same result:
    ```
    if (globalNVPVM) {
                return (localNestedV == null && globalNV) || BooleanUtils.toBoolean(localNestedV);
            }
      return globalNV;
    ```
    
    On method \u201cconfigNestedVirtualization\u201d, I would just suggest using the word \u201cconfigure\u201d instead of \u201cconfig\u201d. At least for me, when I read config, I think configuration and not configure (this is a very personal opinion, so if you are ok with config, be my guest). A method, for me, means an action that is executed, so it seems a better fit the word \u201cconfigure\u201d (verb).
    
    The method \u201ctestConfigNestedVirtualization\u201d, I think it should check if the \u201cVmDetailConstants.NESTED_VIRTUALIZATION_FLAG\u201d flag (parameter) is being loaded properly from the \u201cvmDetails\u201d. I also suggest you using the \u201cinOrder\u201d to verify the calls in order. If the order of the calls changes, the behavior of the method changes too, right?
    
    About the method \u201cenableNestedVirtualizationBaseTest\u201d, I think it could be a little bit more self-explaining, such as: executeAndVerify<nameOfTheMethod>Test.
    
    And finally, about the others test methods, I think instead of TFT, TFN, and others at the end, I think if you were a bit more literal, and self-explaining, it would be better. For instance, the test method \u201ctestEnableNestedVirtualizationCaseTFF\u201d, in a more detailed version, could be read as \u201ctestEnableNestedVirtualizationCaseGlobalNvTrueGlobalNvPvFalseLocalVmfalse\u201d. I know it is a huge method name, but I think it facilitates for newcomers and also for the @nvazquez of the future ;)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542#issuecomment-219468957
  
    @remibergsma In some private cloud environments nested virtualization is not a good fit so it is generally disabled. That's fine but we found that it would be very nice to have a way to support exceptions e.g. to support users to run Android emulators that as it turned out needs nested virtualization.    


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    <b>Trillian test result (tid-240)</b>
    Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
    Total time taken: 26546 seconds
    Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1542-t240-kvm-centos7.zip
    Test completed. 49 look ok, 0 have error(s)
    
    
    Test | Result | Time (s) | Test File
    --- | --- | --- | ---
    test_01_vpc_site2site_vpn | Success | 165.02 | test_vpc_vpn.py
    test_01_vpc_remote_access_vpn | Success | 56.10 | test_vpc_vpn.py
    test_01_redundant_vpc_site2site_vpn | Success | 270.83 | test_vpc_vpn.py
    test_02_VPC_default_routes | Success | 254.75 | test_vpc_router_nics.py
    test_01_VPC_nics_after_destroy | Success | 550.23 | test_vpc_router_nics.py
    test_05_rvpc_multi_tiers | Success | 510.12 | test_vpc_redundant.py
    test_04_rvpc_network_garbage_collector_nics | Success | 1412.01 | test_vpc_redundant.py
    test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Success | 553.73 | test_vpc_redundant.py
    test_02_redundant_VPC_default_routes | Success | 733.13 | test_vpc_redundant.py
    test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Success | 1297.34 | test_vpc_redundant.py
    test_09_delete_detached_volume | Success | 15.64 | test_volumes.py
    test_08_resize_volume | Success | 15.54 | test_volumes.py
    test_07_resize_fail | Success | 20.65 | test_volumes.py
    test_06_download_detached_volume | Success | 15.35 | test_volumes.py
    test_05_detach_volume | Success | 100.29 | test_volumes.py
    test_04_delete_attached_volume | Success | 10.27 | test_volumes.py
    test_03_download_attached_volume | Success | 15.40 | test_volumes.py
    test_02_attach_volume | Success | 44.00 | test_volumes.py
    test_01_create_volume | Success | 715.11 | test_volumes.py
    test_deploy_vm_multiple | Success | 238.69 | test_vm_life_cycle.py
    test_deploy_vm | Success | 0.03 | test_vm_life_cycle.py
    test_advZoneVirtualRouter | Success | 0.02 | test_vm_life_cycle.py
    test_10_attachAndDetach_iso | Success | 26.72 | test_vm_life_cycle.py
    test_09_expunge_vm | Success | 125.25 | test_vm_life_cycle.py
    test_08_migrate_vm | Success | 35.89 | test_vm_life_cycle.py
    test_07_restore_vm | Success | 0.14 | test_vm_life_cycle.py
    test_06_destroy_vm | Success | 130.93 | test_vm_life_cycle.py
    test_03_reboot_vm | Success | 125.87 | test_vm_life_cycle.py
    test_02_start_vm | Success | 10.18 | test_vm_life_cycle.py
    test_01_stop_vm | Success | 35.32 | test_vm_life_cycle.py
    test_CreateTemplateWithDuplicateName | Success | 121.13 | test_templates.py
    test_08_list_system_templates | Success | 0.04 | test_templates.py
    test_07_list_public_templates | Success | 0.04 | test_templates.py
    test_05_template_permissions | Success | 0.06 | test_templates.py
    test_04_extract_template | Success | 5.23 | test_templates.py
    test_03_delete_template | Success | 5.14 | test_templates.py
    test_02_edit_template | Success | 90.18 | test_templates.py
    test_01_create_template | Success | 70.65 | test_templates.py
    test_10_destroy_cpvm | Success | 131.44 | test_ssvm.py
    test_09_destroy_ssvm | Success | 163.81 | test_ssvm.py
    test_08_reboot_cpvm | Success | 131.67 | test_ssvm.py
    test_07_reboot_ssvm | Success | 133.64 | test_ssvm.py
    test_06_stop_cpvm | Success | 161.92 | test_ssvm.py
    test_05_stop_ssvm | Success | 138.91 | test_ssvm.py
    test_04_cpvm_internals | Success | 1.21 | test_ssvm.py
    test_03_ssvm_internals | Success | 3.32 | test_ssvm.py
    test_02_list_cpvm_vm | Success | 0.12 | test_ssvm.py
    test_01_list_sec_storage_vm | Success | 0.13 | test_ssvm.py
    test_01_snapshot_root_disk | Success | 11.24 | test_snapshots.py
    test_04_change_offering_small | Success | 237.66 | test_service_offerings.py
    test_03_delete_service_offering | Success | 0.05 | test_service_offerings.py
    test_02_edit_service_offering | Success | 0.11 | test_service_offerings.py
    test_01_create_service_offering | Success | 0.11 | test_service_offerings.py
    test_02_sys_template_ready | Success | 0.14 | test_secondary_storage.py
    test_01_sys_vm_start | Success | 0.19 | test_secondary_storage.py
    test_09_reboot_router | Success | 40.54 | test_routers.py
    test_08_start_router | Success | 35.35 | test_routers.py
    test_07_stop_router | Success | 10.17 | test_routers.py
    test_06_router_advanced | Success | 0.06 | test_routers.py
    test_05_router_basic | Success | 0.04 | test_routers.py
    test_04_restart_network_wo_cleanup | Success | 5.70 | test_routers.py
    test_03_restart_network_cleanup | Success | 60.54 | test_routers.py
    test_02_router_internal_adv | Success | 1.16 | test_routers.py
    test_01_router_internal_basic | Success | 0.61 | test_routers.py
    test_router_dns_guestipquery | Success | 76.77 | test_router_dns.py
    test_router_dns_externalipquery | Success | 0.07 | test_router_dns.py
    test_router_dhcphosts | Success | 276.67 | test_router_dhcphosts.py
    test_01_updatevolumedetail | Success | 0.09 | test_resource_detail.py
    test_01_reset_vm_on_reboot | Success | 161.17 | test_reset_vm_on_reboot.py
    test_createRegion | Success | 0.03 | test_regions.py
    test_create_pvlan_network | Success | 5.21 | test_pvlan.py
    test_dedicatePublicIpRange | Success | 0.45 | test_public_ip_range.py
    test_04_rvpc_privategw_static_routes | Success | 604.28 | test_privategw_acl.py
    test_03_vpc_privategw_restart_vpc_cleanup | Success | 537.89 | test_privategw_acl.py
    test_02_vpc_privategw_static_routes | Success | 381.40 | test_privategw_acl.py
    test_01_vpc_privategw_acl | Success | 93.23 | test_privategw_acl.py
    test_01_primary_storage_nfs | Success | 35.82 | test_primary_storage.py
    test_createPortablePublicIPRange | Success | 15.22 | test_portable_publicip.py
    test_createPortablePublicIPAcquire | Success | 15.46 | test_portable_publicip.py
    test_isolate_network_password_server | Success | 89.18 | test_password_server.py
    test_UpdateStorageOverProvisioningFactor | Success | 0.14 | test_over_provisioning.py
    test_oobm_zchange_password | Success | 20.52 | test_outofbandmanagement.py
    test_oobm_multiple_mgmt_server_ownership | Success | 16.52 | test_outofbandmanagement.py
    test_oobm_issue_power_status | Success | 10.51 | test_outofbandmanagement.py
    test_oobm_issue_power_soft | Success | 15.52 | test_outofbandmanagement.py
    test_oobm_issue_power_reset | Success | 16.02 | test_outofbandmanagement.py
    test_oobm_issue_power_on | Success | 16.02 | test_outofbandmanagement.py
    test_oobm_issue_power_off | Success | 10.52 | test_outofbandmanagement.py
    test_oobm_issue_power_cycle | Success | 16.02 | test_outofbandmanagement.py
    test_oobm_enabledisable_across_clusterzones | Success | 57.63 | test_outofbandmanagement.py
    test_oobm_enable_feature_valid | Success | 5.19 | test_outofbandmanagement.py
    test_oobm_enable_feature_invalid | Success | 0.12 | test_outofbandmanagement.py
    test_oobm_disable_feature_valid | Success | 5.21 | test_outofbandmanagement.py
    test_oobm_disable_feature_invalid | Success | 0.13 | test_outofbandmanagement.py
    test_oobm_configure_invalid_driver | Success | 0.11 | test_outofbandmanagement.py
    test_oobm_configure_default_driver | Success | 0.10 | test_outofbandmanagement.py
    test_oobm_background_powerstate_sync | Success | 29.79 | test_outofbandmanagement.py
    test_extendPhysicalNetworkVlan | Success | 15.36 | test_non_contigiousvlan.py
    test_01_nic | Success | 682.54 | test_nic.py
    test_releaseIP | Success | 238.70 | test_network.py
    test_reboot_router | Success | 445.09 | test_network.py
    test_public_ip_user_account | Success | 10.25 | test_network.py
    test_public_ip_admin_account | Success | 40.31 | test_network.py
    test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Success | 66.94 | test_network.py
    test_network_rules_acquired_public_ip_2_nat_rule | Success | 61.85 | test_network.py
    test_network_rules_acquired_public_ip_1_static_nat_rule | Success | 124.20 | test_network.py
    test_delete_account | Success | 263.79 | test_network.py
    test_02_port_fwd_on_non_src_nat | Success | 55.72 | test_network.py
    test_01_port_fwd_on_src_nat | Success | 111.73 | test_network.py
    test_nic_secondaryip_add_remove | Success | 238.87 | test_multipleips_per_nic.py
    login_test_saml_user | Success | 24.95 | test_login.py
    test_assign_and_removal_lb | Success | 133.63 | test_loadbalance.py
    test_02_create_lb_rule_non_nat | Success | 187.39 | test_loadbalance.py
    test_01_create_lb_rule_src_nat | Success | 239.09 | test_loadbalance.py
    test_03_list_snapshots | Success | 0.16 | test_list_ids_parameter.py
    test_02_list_templates | Success | 0.04 | test_list_ids_parameter.py
    test_01_list_volumes | Success | 0.04 | test_list_ids_parameter.py
    test_07_list_default_iso | Success | 0.07 | test_iso.py
    test_05_iso_permissions | Success | 0.07 | test_iso.py
    test_04_extract_Iso | Success | 5.17 | test_iso.py
    test_03_delete_iso | Success | 95.19 | test_iso.py
    test_02_edit_iso | Success | 0.06 | test_iso.py
    test_01_create_iso | Success | 21.94 | test_iso.py
    test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | Success | 258.43 | test_internal_lb.py
    test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Success | 183.48 | test_internal_lb.py
    test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Success | 510.07 | test_internal_lb.py
    test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Success | 471.33 | test_internal_lb.py
    test_dedicateGuestVlanRange | Success | 10.30 | test_guest_vlan_range.py
    test_UpdateConfigParamWithScope | Success | 0.15 | test_global_settings.py
    test_rolepermission_lifecycle_update | Success | 7.26 | test_dynamicroles.py
    test_rolepermission_lifecycle_list | Success | 7.03 | test_dynamicroles.py
    test_rolepermission_lifecycle_delete | Success | 6.81 | test_dynamicroles.py
    test_rolepermission_lifecycle_create | Success | 6.88 | test_dynamicroles.py
    test_rolepermission_lifecycle_concurrent_updates | Success | 6.96 | test_dynamicroles.py
    test_role_lifecycle_update_role_inuse | Success | 6.84 | test_dynamicroles.py
    test_role_lifecycle_update | Success | 12.08 | test_dynamicroles.py
    test_role_lifecycle_list | Success | 6.91 | test_dynamicroles.py
    test_role_lifecycle_delete | Success | 12.04 | test_dynamicroles.py
    test_role_lifecycle_create | Success | 7.40 | test_dynamicroles.py
    test_role_inuse_deletion | Success | 6.99 | test_dynamicroles.py
    test_role_account_acls_multiple_mgmt_servers | Success | 9.18 | test_dynamicroles.py
    test_role_account_acls | Success | 9.22 | test_dynamicroles.py
    test_default_role_deletion | Success | 6.93 | test_dynamicroles.py
    test_04_create_fat_type_disk_offering | Success | 0.07 | test_disk_offerings.py
    test_03_delete_disk_offering | Success | 0.04 | test_disk_offerings.py
    test_02_edit_disk_offering | Success | 0.05 | test_disk_offerings.py
    test_02_create_sparse_type_disk_offering | Success | 0.07 | test_disk_offerings.py
    test_01_create_disk_offering | Success | 0.11 | test_disk_offerings.py
    test_deployvm_userdispersing | Success | 20.75 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userconcentrated | Success | 20.67 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_firstfit | Success | 136.38 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userdata_post | Success | 10.57 | test_deploy_vm_with_userdata.py
    test_deployvm_userdata | Success | 66.12 | test_deploy_vm_with_userdata.py
    test_02_deploy_vm_root_resize | Success | 7.10 | test_deploy_vm_root_resize.py
    test_01_deploy_vm_root_resize | Success | 7.22 | test_deploy_vm_root_resize.py
    test_00_deploy_vm_root_resize | Success | 223.65 | test_deploy_vm_root_resize.py
    test_deploy_vm_from_iso | Success | 214.11 | test_deploy_vm_iso.py
    test_DeployVmAntiAffinityGroup | Success | 76.20 | test_affinity_groups.py
    test_03_delete_vm_snapshots | Skipped | 0.00 | test_vm_snapshots.py
    test_02_revert_vm_snapshots | Skipped | 0.00 | test_vm_snapshots.py
    test_01_test_vm_volume_snapshot | Skipped | 0.00 | test_vm_snapshots.py
    test_01_create_vm_snapshots | Skipped | 0.00 | test_vm_snapshots.py
    test_06_copy_template | Skipped | 0.00 | test_templates.py
    test_static_role_account_acls | Skipped | 0.03 | test_staticroles.py
    test_11_ss_nfs_version_on_ssvm | Skipped | 0.02 | test_ssvm.py
    test_01_scale_vm | Skipped | 0.00 | test_scale_vm.py
    test_01_primary_storage_iscsi | Skipped | 0.04 | test_primary_storage.py
    test_nested_virtualization_vmware | Skipped | 0.00 | test_nested_virtualization.py
    test_06_copy_iso | Skipped | 0.00 | test_iso.py
    test_deploy_vgpu_enabled_vm | Skipped | 0.04 | test_deploy_vgpu_enabled_vm.py
    test_3d_gpu_support | Skipped | 0.06 | test_deploy_vgpu_enabled_vm.py



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell nested VM is something tricky to test, we can support this as a subtle feature but not a generally supported one. In our test/trillian environment, we're already running nested virtualization. I'm not sure investing time on inception of a test environment is useful. The feature is specific to vmware, I don't understand why KVM needs to be involved.
    
    A quick test could be to run a guest VM on VMware with specific cpu flags (say vmx, smx, ht) and verify that the VM launched with these flags have the cpu features for example, the test could do: (1)ssh into the vm, (2) cat /proc/cpuinfo and (3) grep `flags` for specific cpu flags such as vmx, ht etc. I think such a test should work with the default centos template or with macchanina.
    
    The feature could also be written and tested in such a way to add `any` key/value details on a VM and be interpreted by the hypervisor specific resource.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @blueorangutan package


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez I would like to get this PR merged for 4.10.0.0.  Could you please rebase this PR to pull the latest Marvin enhancements/fixes?  Once that is done, I will kick off a regression test in preparation to merge it.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Based on test results LGTM. /cc @jburwell 
    Can we have one more LGTM on this, @serg38 @jburwell ?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell @rhtyd I included new marvin test for nested virtualization, thanks @rhtyd for your idea!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    I understand the need to create a test. And I agree that it deserves a test. What I meant was the following.
    
    IMHO, you could simply remove the final keyword of the variable declaration. Sometimes in the ACS code, I have seen people using some design/ways of coding without having a good and well-thought explanation for them (the use of final is one good example). For instance, variables \u201cVmwareEnableNestedVirtualization\u201d and \u201cVmwareEnableNestedVirtualizationPerVM\u201d are only used in the \u201cVMwareGuru\u201d class. They do not need to be either static or public. Moreover, there is no need for those variables to be final. 
    
    If those variables were protected (only), it would be much easier to write test cases.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Great.I am ok with the code. I give my LGTM here.
    I have one extra question, though.  How do you intend to change that parameter (NESTED_VIRTUALIZATION_FLAG) to tell which VM should have the nested virtualization enabled? I am assuming that there is no option through the ACS API, is that right? If so, you are going to change the parameter directly in the database, right?



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhtyd @jburwell @rafaelweingartner @koushik-das Can we agree if this PR is OK as it is ?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhtyd a Trillian-Jenkins test job (centos7 mgmt + vmware-55u3) has been kicked to run smoke tests


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request #1542: CLOUDSTACK-9379: Support nested virtualizatio...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1542#discussion_r74655041
  
    --- Diff: plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java ---
    @@ -2184,7 +2184,7 @@ int getReservedCpuMHZ(VirtualMachineTO vmSpec) {
             return new Pair<String, String>(vmInternalCSName, vmNameOnVcenter);
         }
     
    -    private static void configNestedHVSupport(VirtualMachineMO vmMo, VirtualMachineTO vmSpec, VirtualMachineConfigSpec vmConfigSpec) throws Exception {
    +    protected static void configNestedHVSupport(VirtualMachineMO vmMo, VirtualMachineTO vmSpec, VirtualMachineConfigSpec vmConfigSpec) throws Exception {
    --- End diff --
    
    This method does not need to be static.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell The only BUILTIN Centos template for Vmware is 5.3 that doesn't have KVM support to my knowledge. Are you proposing to introduce another BUILTIN template so that it is available for anyone to use during the integration testing? We don't have any KVM expertise at this point so this will be next to mission impossible. The only option for us would be to package vSphere python SDK and try to talk to vCenter directly.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell @rhtyd @koushik-das Can you review this PR?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    LGTM, merging based on code reviews and tests, ignoring known intermittent errors in vpc/rvr.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell @nvazquez we have the capability to run any additional tests using blueorangutan now, can you suggest what tests we should run. The syntax would be following: (to be commented)
    test [mgmt server os] [hypervisor] [list of comma separated additional tests will full paths, but related to test/integration directory]
    or, test matrix [list of comma separated tests]
    
    Example:
    test matrix component/test_routers.py component/test_users.py component/test_accounts.py 
    
    I'm also working towards including several of the existing component tests (runnable with simulator) to Travis. We're now able to run all the smoke tests on all three major hypervisors now with BlueOrangutan and Trillian/Jenkins, the next steps is to run/optimize component tests.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @blueorangutan package


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542#issuecomment-219473209
  
    @remibergsma, @DaanHoogland Current global support for nested virtualization is only vmware specific and done in VmwareGuru.  
    Are you proposing to move the logic up to the HypervisorGuru and change vmware.nested.virtualization to just nested.virtualization ? Then the implementation can be done in respective Resources.   
    
     


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rafaelweingartner thanks a lot for your help as always!
    
    I refactored based on your comments. I really liked your review, especially your refactor on `shouldEnableNestedVirtualization`, it really simplifies method's understanding. I also included all your suggestions on method's names and in-order verification.
    
    I had to make some changes on `VmwareGuruTest` using reflection to include mocks in configuration keys variables on `VmwareGuru`. What do you think about this solution?
    
    Thanks again for taking the time to review this PR


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    <b>Trillian test result (tid-343)</b>
    Environment: vmware-55u3 (x2), Advanced Networking with Mgmt server 7
    Total time taken: 36589 seconds
    Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1542-t343-vmware-55u3.zip
    Test completed. 42 look ok, 7 have error(s)
    
    
    Test | Result | Time (s) | Test File
    --- | --- | --- | ---
    test_04_rvpc_privategw_static_routes | `Failure` | 117.54 | test_privategw_acl.py
    test_02_vpc_privategw_static_routes | `Failure` | 375.38 | test_privategw_acl.py
    test_01_vpc_site2site_vpn | `Error` | 557.58 | test_vpc_vpn.py
    test_01_redundant_vpc_site2site_vpn | `Error` | 753.40 | test_vpc_vpn.py
    test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | `Error` | 622.29 | test_vpc_redundant.py
    test_01_test_vm_volume_snapshot | `Error` | 322.22 | test_vm_snapshots.py
    test_CreateTemplateWithDuplicateName | `Error` | 60.47 | test_templates.py
    ContextSuite context=TestTemplates>:setup | `Error` | 351.48 | test_templates.py
    test_reboot_router | `Error` | 560.78 | test_network.py
    test_nested_virtualization_vmware | `Error` | 353.13 | test_nested_virtualization.py
    test_01_vpc_remote_access_vpn | Success | 166.92 | test_vpc_vpn.py
    test_02_VPC_default_routes | Success | 365.60 | test_vpc_router_nics.py
    test_01_VPC_nics_after_destroy | Success | 944.50 | test_vpc_router_nics.py
    test_05_rvpc_multi_tiers | Success | 744.25 | test_vpc_redundant.py
    test_04_rvpc_network_garbage_collector_nics | Success | 1560.08 | test_vpc_redundant.py
    test_02_redundant_VPC_default_routes | Success | 684.86 | test_vpc_redundant.py
    test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Success | 1378.05 | test_vpc_redundant.py
    test_09_delete_detached_volume | Success | 25.85 | test_volumes.py
    test_06_download_detached_volume | Success | 60.58 | test_volumes.py
    test_05_detach_volume | Success | 100.27 | test_volumes.py
    test_04_delete_attached_volume | Success | 10.20 | test_volumes.py
    test_03_download_attached_volume | Success | 20.39 | test_volumes.py
    test_02_attach_volume | Success | 58.79 | test_volumes.py
    test_01_create_volume | Success | 514.80 | test_volumes.py
    test_03_delete_vm_snapshots | Success | 275.24 | test_vm_snapshots.py
    test_02_revert_vm_snapshots | Success | 235.41 | test_vm_snapshots.py
    test_01_create_vm_snapshots | Success | 161.75 | test_vm_snapshots.py
    test_deploy_vm_multiple | Success | 288.70 | test_vm_life_cycle.py
    test_deploy_vm | Success | 0.03 | test_vm_life_cycle.py
    test_advZoneVirtualRouter | Success | 0.03 | test_vm_life_cycle.py
    test_10_attachAndDetach_iso | Success | 142.72 | test_vm_life_cycle.py
    test_09_expunge_vm | Success | 185.34 | test_vm_life_cycle.py
    test_08_migrate_vm | Success | 81.18 | test_vm_life_cycle.py
    test_07_restore_vm | Success | 0.10 | test_vm_life_cycle.py
    test_06_destroy_vm | Success | 10.15 | test_vm_life_cycle.py
    test_03_reboot_vm | Success | 5.14 | test_vm_life_cycle.py
    test_02_start_vm | Success | 25.26 | test_vm_life_cycle.py
    test_01_stop_vm | Success | 10.15 | test_vm_life_cycle.py
    test_01_create_template | Success | 141.09 | test_templates.py
    test_10_destroy_cpvm | Success | 241.92 | test_ssvm.py
    test_09_destroy_ssvm | Success | 238.88 | test_ssvm.py
    test_08_reboot_cpvm | Success | 156.60 | test_ssvm.py
    test_07_reboot_ssvm | Success | 158.72 | test_ssvm.py
    test_06_stop_cpvm | Success | 206.97 | test_ssvm.py
    test_05_stop_ssvm | Success | 208.84 | test_ssvm.py
    test_04_cpvm_internals | Success | 1.20 | test_ssvm.py
    test_03_ssvm_internals | Success | 3.51 | test_ssvm.py
    test_02_list_cpvm_vm | Success | 0.13 | test_ssvm.py
    test_01_list_sec_storage_vm | Success | 0.14 | test_ssvm.py
    test_01_snapshot_root_disk | Success | 66.50 | test_snapshots.py
    test_04_change_offering_small | Success | 92.32 | test_service_offerings.py
    test_03_delete_service_offering | Success | 0.04 | test_service_offerings.py
    test_02_edit_service_offering | Success | 0.08 | test_service_offerings.py
    test_01_create_service_offering | Success | 0.16 | test_service_offerings.py
    test_02_sys_template_ready | Success | 0.14 | test_secondary_storage.py
    test_01_sys_vm_start | Success | 0.19 | test_secondary_storage.py
    test_09_reboot_router | Success | 151.01 | test_routers.py
    test_08_start_router | Success | 140.95 | test_routers.py
    test_07_stop_router | Success | 25.24 | test_routers.py
    test_06_router_advanced | Success | 0.06 | test_routers.py
    test_05_router_basic | Success | 0.04 | test_routers.py
    test_04_restart_network_wo_cleanup | Success | 5.65 | test_routers.py
    test_03_restart_network_cleanup | Success | 181.54 | test_routers.py
    test_02_router_internal_adv | Success | 1.03 | test_routers.py
    test_01_router_internal_basic | Success | 0.54 | test_routers.py
    test_router_dns_guestipquery | Success | 76.72 | test_router_dns.py
    test_router_dns_externalipquery | Success | 0.08 | test_router_dns.py
    test_router_dhcphosts | Success | 146.04 | test_router_dhcphosts.py
    test_01_updatevolumedetail | Success | 0.08 | test_resource_detail.py
    test_01_reset_vm_on_reboot | Success | 65.56 | test_reset_vm_on_reboot.py
    test_createRegion | Success | 0.04 | test_regions.py
    test_create_pvlan_network | Success | 5.25 | test_pvlan.py
    test_dedicatePublicIpRange | Success | 0.47 | test_public_ip_range.py
    test_03_vpc_privategw_restart_vpc_cleanup | Success | 1089.66 | test_privategw_acl.py
    test_01_vpc_privategw_acl | Success | 199.59 | test_privategw_acl.py
    test_01_primary_storage_nfs | Success | 36.57 | test_primary_storage.py
    test_createPortablePublicIPRange | Success | 15.19 | test_portable_publicip.py
    test_createPortablePublicIPAcquire | Success | 15.45 | test_portable_publicip.py
    test_isolate_network_password_server | Success | 94.31 | test_password_server.py
    test_UpdateStorageOverProvisioningFactor | Success | 0.14 | test_over_provisioning.py
    test_oobm_zchange_password | Success | 20.52 | test_outofbandmanagement.py
    test_oobm_multiple_mgmt_server_ownership | Success | 16.50 | test_outofbandmanagement.py
    test_oobm_issue_power_status | Success | 10.53 | test_outofbandmanagement.py
    test_oobm_issue_power_soft | Success | 15.52 | test_outofbandmanagement.py
    test_oobm_issue_power_reset | Success | 15.52 | test_outofbandmanagement.py
    test_oobm_issue_power_on | Success | 15.52 | test_outofbandmanagement.py
    test_oobm_issue_power_off | Success | 15.52 | test_outofbandmanagement.py
    test_oobm_issue_power_cycle | Success | 15.52 | test_outofbandmanagement.py
    test_oobm_enabledisable_across_clusterzones | Success | 57.65 | test_outofbandmanagement.py
    test_oobm_enable_feature_valid | Success | 5.22 | test_outofbandmanagement.py
    test_oobm_enable_feature_invalid | Success | 0.11 | test_outofbandmanagement.py
    test_oobm_disable_feature_valid | Success | 5.20 | test_outofbandmanagement.py
    test_oobm_disable_feature_invalid | Success | 0.17 | test_outofbandmanagement.py
    test_oobm_configure_invalid_driver | Success | 0.10 | test_outofbandmanagement.py
    test_oobm_configure_default_driver | Success | 0.10 | test_outofbandmanagement.py
    test_oobm_background_powerstate_sync | Success | 29.83 | test_outofbandmanagement.py
    test_extendPhysicalNetworkVlan | Success | 15.34 | test_non_contigiousvlan.py
    test_01_nic | Success | 636.95 | test_nic.py
    test_releaseIP | Success | 344.42 | test_network.py
    test_public_ip_user_account | Success | 10.37 | test_network.py
    test_public_ip_admin_account | Success | 40.30 | test_network.py
    test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Success | 76.95 | test_network.py
    test_network_rules_acquired_public_ip_2_nat_rule | Success | 61.69 | test_network.py
    test_network_rules_acquired_public_ip_1_static_nat_rule | Success | 125.43 | test_network.py
    test_delete_account | Success | 359.30 | test_network.py
    test_02_port_fwd_on_non_src_nat | Success | 55.64 | test_network.py
    test_01_port_fwd_on_src_nat | Success | 111.83 | test_network.py
    test_nic_secondaryip_add_remove | Success | 243.86 | test_multipleips_per_nic.py
    login_test_saml_user | Success | 24.79 | test_login.py
    test_assign_and_removal_lb | Success | 148.83 | test_loadbalance.py
    test_02_create_lb_rule_non_nat | Success | 207.97 | test_loadbalance.py
    test_01_create_lb_rule_src_nat | Success | 208.17 | test_loadbalance.py
    test_03_list_snapshots | Success | 0.08 | test_list_ids_parameter.py
    test_02_list_templates | Success | 0.04 | test_list_ids_parameter.py
    test_01_list_volumes | Success | 0.03 | test_list_ids_parameter.py
    test_07_list_default_iso | Success | 0.07 | test_iso.py
    test_05_iso_permissions | Success | 0.07 | test_iso.py
    test_04_extract_Iso | Success | 5.32 | test_iso.py
    test_03_delete_iso | Success | 95.21 | test_iso.py
    test_02_edit_iso | Success | 0.08 | test_iso.py
    test_01_create_iso | Success | 21.93 | test_iso.py
    test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | Success | 640.73 | test_internal_lb.py
    test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Success | 440.14 | test_internal_lb.py
    test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | Success | 1045.27 | test_internal_lb.py
    test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Success | 848.45 | test_internal_lb.py
    test_dedicateGuestVlanRange | Success | 10.26 | test_guest_vlan_range.py
    test_UpdateConfigParamWithScope | Success | 0.14 | test_global_settings.py
    test_rolepermission_lifecycle_update | Success | 7.21 | test_dynamicroles.py
    test_rolepermission_lifecycle_list | Success | 6.88 | test_dynamicroles.py
    test_rolepermission_lifecycle_delete | Success | 6.76 | test_dynamicroles.py
    test_rolepermission_lifecycle_create | Success | 6.80 | test_dynamicroles.py
    test_rolepermission_lifecycle_concurrent_updates | Success | 6.92 | test_dynamicroles.py
    test_role_lifecycle_update_role_inuse | Success | 6.78 | test_dynamicroles.py
    test_role_lifecycle_update | Success | 11.96 | test_dynamicroles.py
    test_role_lifecycle_list | Success | 6.76 | test_dynamicroles.py
    test_role_lifecycle_delete | Success | 6.80 | test_dynamicroles.py
    test_role_lifecycle_create | Success | 6.78 | test_dynamicroles.py
    test_role_inuse_deletion | Success | 6.76 | test_dynamicroles.py
    test_role_account_acls_multiple_mgmt_servers | Success | 9.09 | test_dynamicroles.py
    test_role_account_acls | Success | 9.14 | test_dynamicroles.py
    test_default_role_deletion | Success | 6.87 | test_dynamicroles.py
    test_04_create_fat_type_disk_offering | Success | 0.08 | test_disk_offerings.py
    test_03_delete_disk_offering | Success | 0.04 | test_disk_offerings.py
    test_02_edit_disk_offering | Success | 0.05 | test_disk_offerings.py
    test_02_create_sparse_type_disk_offering | Success | 0.09 | test_disk_offerings.py
    test_01_create_disk_offering | Success | 0.26 | test_disk_offerings.py
    test_deployvm_userdispersing | Success | 101.17 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userconcentrated | Success | 55.92 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_firstfit | Success | 232.05 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userdata_post | Success | 65.93 | test_deploy_vm_with_userdata.py
    test_deployvm_userdata | Success | 211.72 | test_deploy_vm_with_userdata.py
    test_02_deploy_vm_root_resize | Success | 6.74 | test_deploy_vm_root_resize.py
    test_01_deploy_vm_root_resize | Success | 6.73 | test_deploy_vm_root_resize.py
    test_00_deploy_vm_root_resize | Success | 6.91 | test_deploy_vm_root_resize.py
    test_deploy_vm_from_iso | Success | 248.68 | test_deploy_vm_iso.py
    test_3d_gpu_support | Success | 496.18 | test_deploy_vgpu_enabled_vm.py
    test_DeployVmAntiAffinityGroup | Success | 242.06 | test_affinity_groups.py
    test_08_resize_volume | Skipped | 5.11 | test_volumes.py
    test_07_resize_fail | Skipped | 15.29 | test_volumes.py
    test_static_role_account_acls | Skipped | 0.02 | test_staticroles.py
    test_11_ss_nfs_version_on_ssvm | Skipped | 0.02 | test_ssvm.py
    test_01_scale_vm | Skipped | 66.38 | test_scale_vm.py
    test_01_primary_storage_iscsi | Skipped | 0.04 | test_primary_storage.py
    test_06_copy_iso | Skipped | 0.00 | test_iso.py
    test_deploy_vgpu_enabled_vm | Skipped | 1.99 | test_deploy_vgpu_enabled_vm.py
    
    
    Additional tests completed. 1 look ok, 0 have error(s)
    
    
    Test | Result | Time (s) | Test File
    --- | --- | --- | ---



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell @rhtyd Thanks in advance


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request #1542: CLOUDSTACK-9379: Support nested virtualizatio...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1542#discussion_r81407458
  
    --- Diff: test/integration/smoke/test_nested_virtualization.py ---
    @@ -0,0 +1,152 @@
    +# Licensed to the Apache Software Foundation (ASF) under one
    +# or more contributor license agreements.  See the NOTICE file
    +# distributed with this work for additional information
    +# regarding copyright ownership.  The ASF licenses this file
    +# to you under the Apache License, Version 2.0 (the
    +# "License"); you may not use this file except in compliance
    +# with the License.  You may obtain a copy of the License at
    +#
    +#   http://www.apache.org/licenses/LICENSE-2.0
    +#
    +# Unless required by applicable law or agreed to in writing,
    +# software distributed under the License is distributed on an
    +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +# KIND, either express or implied.  See the License for the
    +# specific language governing permissions and limitations
    +# under the License.
    +""" Tests for Nested Virtualization
    +"""
    +#Import Local Modules
    +from marvin.codes import FAILED
    +from marvin.cloudstackTestCase import cloudstackTestCase
    +from marvin.lib.utils import (cleanup_resources,
    +                              get_hypervisor_type,
    +                              get_process_status)
    +from marvin.lib.base import (Account,
    +                             ServiceOffering,
    +                             NetworkOffering,
    +                             Configurations,
    +                             VirtualMachine,
    +                             Network)
    +from marvin.lib.common import (get_zone,
    +                               get_domain,
    +                               get_template)
    +from nose.plugins.attrib import attr
    +from marvin.sshClient import SshClient
    +import logging
    +
    +class TestNestedVirtualization(cloudstackTestCase):
    +
    +    @classmethod
    +    def setUpClass(cls):
    +        testClient = super(TestNestedVirtualization, cls).getClsTestClient()
    +        cls.apiclient = testClient.getApiClient()
    +        cls.services = testClient.getParsedTestDataConfig()
    +        
    +        cls.logger = logging.getLogger('TestNestedVirtualization')
    +        cls.stream_handler = logging.StreamHandler()
    +        cls.logger.setLevel(logging.DEBUG)
    +        cls.logger.addHandler(cls.stream_handler)
    +
    +        cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
    +        cls.services['mode'] = cls.zone.networktype
    +        cls.services["isolated_network"]["zoneid"] = cls.zone.id
    +        cls.domain = get_domain(cls.apiclient)
    +        cls.service_offering = ServiceOffering.create(
    +            cls.apiclient,
    +            cls.services["service_offerings"]["tiny"]
    +        )
    +        cls.account = Account.create(cls.apiclient, services=cls.services["account"])
    +        cls.template = get_template(
    +            cls.apiclient,
    +            cls.zone.id,
    +            cls.services["ostype"]
    +        )
    +        cls.hypervisor = get_hypervisor_type(cls.apiclient)
    +        
    +        cls.isolated_network_offering = NetworkOffering.create(
    +                                                cls.apiclient,
    +                                                cls.services["isolated_network_offering"])
    +        # Enable Isolated Network offering
    +        cls.isolated_network_offering.update(cls.apiclient, state='Enabled')
    +        
    +        if cls.template == FAILED:
    +            assert False, "get_template() failed to return template with description %s" % cls.services["ostype"]
    +            
    +        cls.services["small"]["zoneid"] = cls.zone.id
    +        cls.services["small"]["template"] = cls.template.id
    +
    +        cls.cleanup = [cls.account]
    +
    +    @attr(tags=["advanced"], required_hardware="true")
    +    def test_nested_virtualization_vmware(self):
    +        """Test nested virtualization on Vmware hypervisor"""
    +        if self.hypervisor.lower() not in ["vmware"]:
    +             self.skipTest("Skipping test because suitable hypervisor/host not present")
    +             
    +        # 1) Update nested virtualization configurations, if needed
    +        configs = Configurations.list(self.apiclient, name="vmware.nested.virtualization")
    +        rollback_nv = False
    +        rollback_nv_per_vm = False
    +        for conf in configs:
    +            if (conf.name == "vmware.nested.virtualization" and conf.value == "false"):
    +                config_update = Configurations.update(self.apiclient, "vmware.nested.virtualization", "true")
    +                self.logger.debug("Updated global setting vmware.nested.virtualization to true")
    +                rollback_nv = True
    +            elif (conf.name == "vmware.nested.virtualization.perVM" and conf.value == "false"):
    +                config_update = Configurations.update(self.apiclient, "vmware.nested.virtualization.perVM", "true")
    +                self.logger.debug("Updated global setting vmware.nested.virtualization.perVM to true")
    +                rollback_nv_per_vm = True
    +                
    +        # 2) Deploy a vm
    +        virtual_machine = VirtualMachine.create(
    +            self.apiclient,
    +            self.services["small"],
    +            accountid=self.account.name,
    +            domainid=self.account.domainid,
    +            serviceofferingid=self.service_offering.id,
    +            mode=self.services['mode']
    +        )
    +        self.assert_(virtual_machine is not None, "VM failed to deploy")
    +        self.assert_(virtual_machine.state == 'Running', "VM is not running")
    +        self.logger.debug("Deployed vm: %s" % virtual_machine.id)
    +        
    +        isolated_network = Network.create(
    +            self.apiclient,
    +            self.services["isolated_network"],
    +            self.account.name,
    +            self.account.domainid,
    +            networkofferingid=self.isolated_network_offering.id)
    +
    +        virtual_machine.add_nic(self.apiclient, isolated_network.id)
    +        
    +        # 3) SSH into vm
    +        ssh_client = virtual_machine.get_ssh_client()
    +
    +        if ssh_client:
    +            # run ping test
    +            result = ssh_client.execute("cat /proc/cpuinfo | grep flags")
    +            self.logger.debug(result)
    +        else:
    +            self.fail("Failed to setup ssh connection to %s" % virtual_machine.public_ip)
    +            
    +        # 4) Revert configurations, if needed
    +        if rollback_nv:
    +            config_update = Configurations.update(self.apiclient, "vmware.nested.virtualization", "false")
    +            self.logger.debug("Reverted global setting vmware.nested.virtualization back to false")
    +        if rollback_nv_per_vm:
    +            config_update = Configurations.update(self.apiclient, "vmware.nested.virtualization", "false")
    +            self.logger.debug("Reverted global setting vmware.nested.virtualization.perVM back to false")
    +            
    +        #5) Check for CPU flags: vmx for Intel and svm for AMD indicates nested virtualization is enabled
    +        self.assert_(result is not None, "Empty result for CPU flags")
    +        res = str(result)
    +        self.assertTrue(res.find('vmx') != -1 or res.find('svm') != -1)
    --- End diff --
    
    Done, thanks


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Great. You have done a lot of work already; but, just to make sure things do not get lost. What about opening a Jira ticket to expose that customization through the ACS API? 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    I am the one thas has to thank you @nvazquez, great work!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    There is still one point I would like to highlight. The method VmwareResource.configNestedHVSupport does not need to be static.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualization at V...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez sounds great, keep us posted


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542#issuecomment-218977461
  
    @nvazquez I like the functional description and will probably run through the code over the weekend but one thing struck me. A lot of this should apply equally for other hypervisors, shouldn't it? Did you compare design or have a reason to implement it this VMWare specific?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Hi @DaanHoogland @remibergsma @ustcweizhou,
    
    I rebased master branch for this pull request as it's been opened for a while, could it be reviewed please?
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request #1542: CLOUDSTACK-9379: Support nested virtualizatio...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1542#discussion_r74667063
  
    --- Diff: plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java ---
    @@ -2184,7 +2184,7 @@ int getReservedCpuMHZ(VirtualMachineTO vmSpec) {
             return new Pair<String, String>(vmInternalCSName, vmNameOnVcenter);
         }
     
    -    private static void configNestedHVSupport(VirtualMachineMO vmMo, VirtualMachineTO vmSpec, VirtualMachineConfigSpec vmConfigSpec) throws Exception {
    +    protected static void configNestedHVSupport(VirtualMachineMO vmMo, VirtualMachineTO vmSpec, VirtualMachineConfigSpec vmConfigSpec) throws Exception {
    --- End diff --
    
    Thanks, done


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhtyd @jburwell @rafaelweingartner @koushik-das The rationale to have vmware.nested.virtualization.perVM was that advanced vm_details and template details are user controlled. With https://issues.apache.org/jira/browse/CLOUDSTACK-9457
    \u2018Allow retrieval and modification of VM and template details via API and UI\u2019 users will be able to change any advanced details in UI and API.
    If admin wants to preserve that nested virtualization is controlled in centralized fashion they can do so by setting vmware.nested.virtualization.perVM to \u2018false\u2019. Idea was to allow organizations that currently have nested virtualization disabled to have it so after upgrade. Does it make sense or everyone prefers that setting on VM level overrides global one? 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Packaging result: \u2714centos6 \u2714centos7 \u2714debian. JID-165


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez you're welcome. If you've some bandwidth, can you run your test against this template which will also help validate the new vmware test appliance: https://github.com/rhtyd/tinylinux


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @serg38 these errors look similar to those we have seen on other PRs.  We are currently investigating them with the assumption that they are most likely environmental.  Once we have them resolved, we will re-kick the tests.
    
    /cc @PaulAngus @murali-reddy @rhtyd 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

Posted by DaanHoogland <gi...@git.apache.org>.
Github user DaanHoogland commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542#issuecomment-219052329
  
    :) no worries, just expect some review comments to this extend ;)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell @rhtyd Looks like blueorangutain vmware side has issues on hypervisor. Can you take a look and then re-kick the tests? Some errors were due to that.
    
    530, errortext : u'Unable to add NIC to VM[User|i-39-54-VM]: com.cloud.exception.AgentUnavailableException: Resource [Host:1] is unreachable: Host 1: Unable to start instance due to Unable to start  VM:f22d93f6-e197-46e4-8e0c-0a926fece518 due to error in finalizeStart, not retrying'}, 



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @blueorangutan test centos7 vmware-55u3


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    I had removed it, I saw your comment in that file and I included it in last refactor, I forgot to mention it in my last comment :)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell Creating Marvin test for this PR will be a huge undertaking. It would require building and configuring a hypervisor in a deployed VM and then creating VM in VM. Considering storage, environmental and network implication the test will be complicated and error prone. An alternative approach would require integrating vSphere SDK with Marvin python libraries and query vSphere for the actual nested virtualization settings from a deployed VM. The effort doesn't seem to be warranted for such a minor change. As long as standard integration suite is passing this shouldn't affect any existing functionality. What do you think?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    <b>Trillian test result (tid-348)</b>
    Environment: vmware-55u3 (x2), Advanced Networking with Mgmt server 7
    Total time taken: 32441 seconds
    Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr1542-t348-vmware-55u3.zip
    Test completed. 43 look ok, 6 have error(s)
    
    
    Test | Result | Time (s) | Test File
    --- | --- | --- | ---
    test_04_rvpc_privategw_static_routes | `Failure` | 404.56 | test_privategw_acl.py
    test_04_rvpc_internallb_haproxy_stats_on_all_interfaces | `Failure` | 232.50 | test_internal_lb.py
    test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80 | `Failure` | 116.96 | test_internal_lb.py
    test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | `Failure` | 506.36 | test_internal_lb.py
    test_01_vpc_site2site_vpn | `Error` | 471.78 | test_vpc_vpn.py
    test_01_redundant_vpc_site2site_vpn | `Error` | 719.02 | test_vpc_vpn.py
    test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | `Error` | 218.09 | test_vpc_redundant.py
    test_reboot_router | `Error` | 240.44 | test_network.py
    test_3d_gpu_support | `Error` | 386.98 | test_deploy_vgpu_enabled_vm.py
    test_01_vpc_remote_access_vpn | Success | 151.89 | test_vpc_vpn.py
    test_02_VPC_default_routes | Success | 340.42 | test_vpc_router_nics.py
    test_01_VPC_nics_after_destroy | Success | 773.29 | test_vpc_router_nics.py
    test_05_rvpc_multi_tiers | Success | 660.77 | test_vpc_redundant.py
    test_04_rvpc_network_garbage_collector_nics | Success | 1520.02 | test_vpc_redundant.py
    test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Success | 770.23 | test_vpc_redundant.py
    test_02_redundant_VPC_default_routes | Success | 654.60 | test_vpc_redundant.py
    test_09_delete_detached_volume | Success | 25.80 | test_volumes.py
    test_06_download_detached_volume | Success | 65.61 | test_volumes.py
    test_05_detach_volume | Success | 105.30 | test_volumes.py
    test_04_delete_attached_volume | Success | 15.23 | test_volumes.py
    test_03_download_attached_volume | Success | 20.35 | test_volumes.py
    test_02_attach_volume | Success | 53.79 | test_volumes.py
    test_01_create_volume | Success | 447.27 | test_volumes.py
    test_03_delete_vm_snapshots | Success | 275.24 | test_vm_snapshots.py
    test_02_revert_vm_snapshots | Success | 227.22 | test_vm_snapshots.py
    test_01_test_vm_volume_snapshot | Success | 196.69 | test_vm_snapshots.py
    test_01_create_vm_snapshots | Success | 161.65 | test_vm_snapshots.py
    test_deploy_vm_multiple | Success | 273.76 | test_vm_life_cycle.py
    test_deploy_vm | Success | 0.03 | test_vm_life_cycle.py
    test_advZoneVirtualRouter | Success | 0.02 | test_vm_life_cycle.py
    test_10_attachAndDetach_iso | Success | 26.92 | test_vm_life_cycle.py
    test_09_expunge_vm | Success | 125.22 | test_vm_life_cycle.py
    test_08_migrate_vm | Success | 81.15 | test_vm_life_cycle.py
    test_07_restore_vm | Success | 0.10 | test_vm_life_cycle.py
    test_06_destroy_vm | Success | 10.15 | test_vm_life_cycle.py
    test_03_reboot_vm | Success | 5.15 | test_vm_life_cycle.py
    test_02_start_vm | Success | 20.24 | test_vm_life_cycle.py
    test_01_stop_vm | Success | 10.15 | test_vm_life_cycle.py
    test_CreateTemplateWithDuplicateName | Success | 231.61 | test_templates.py
    test_08_list_system_templates | Success | 0.03 | test_templates.py
    test_07_list_public_templates | Success | 0.04 | test_templates.py
    test_05_template_permissions | Success | 0.06 | test_templates.py
    test_04_extract_template | Success | 15.22 | test_templates.py
    test_03_delete_template | Success | 5.11 | test_templates.py
    test_02_edit_template | Success | 90.13 | test_templates.py
    test_01_create_template | Success | 125.93 | test_templates.py
    test_10_destroy_cpvm | Success | 236.93 | test_ssvm.py
    test_09_destroy_ssvm | Success | 208.67 | test_ssvm.py
    test_08_reboot_cpvm | Success | 156.55 | test_ssvm.py
    test_07_reboot_ssvm | Success | 158.49 | test_ssvm.py
    test_06_stop_cpvm | Success | 207.13 | test_ssvm.py
    test_05_stop_ssvm | Success | 208.82 | test_ssvm.py
    test_04_cpvm_internals | Success | 1.21 | test_ssvm.py
    test_03_ssvm_internals | Success | 3.41 | test_ssvm.py
    test_02_list_cpvm_vm | Success | 0.14 | test_ssvm.py
    test_01_list_sec_storage_vm | Success | 0.14 | test_ssvm.py
    test_01_snapshot_root_disk | Success | 66.52 | test_snapshots.py
    test_04_change_offering_small | Success | 91.89 | test_service_offerings.py
    test_03_delete_service_offering | Success | 0.05 | test_service_offerings.py
    test_02_edit_service_offering | Success | 0.08 | test_service_offerings.py
    test_01_create_service_offering | Success | 0.11 | test_service_offerings.py
    test_02_sys_template_ready | Success | 0.14 | test_secondary_storage.py
    test_01_sys_vm_start | Success | 0.20 | test_secondary_storage.py
    test_09_reboot_router | Success | 176.22 | test_routers.py
    test_08_start_router | Success | 120.89 | test_routers.py
    test_07_stop_router | Success | 30.31 | test_routers.py
    test_06_router_advanced | Success | 0.07 | test_routers.py
    test_05_router_basic | Success | 0.04 | test_routers.py
    test_04_restart_network_wo_cleanup | Success | 5.69 | test_routers.py
    test_03_restart_network_cleanup | Success | 135.99 | test_routers.py
    test_02_router_internal_adv | Success | 1.07 | test_routers.py
    test_01_router_internal_basic | Success | 0.59 | test_routers.py
    test_router_dns_guestipquery | Success | 76.82 | test_router_dns.py
    test_router_dns_externalipquery | Success | 0.06 | test_router_dns.py
    test_router_dhcphosts | Success | 116.10 | test_router_dhcphosts.py
    test_01_updatevolumedetail | Success | 0.29 | test_resource_detail.py
    test_01_reset_vm_on_reboot | Success | 60.54 | test_reset_vm_on_reboot.py
    test_createRegion | Success | 0.04 | test_regions.py
    test_create_pvlan_network | Success | 5.28 | test_pvlan.py
    test_dedicatePublicIpRange | Success | 0.66 | test_public_ip_range.py
    test_03_vpc_privategw_restart_vpc_cleanup | Success | 1090.37 | test_privategw_acl.py
    test_02_vpc_privategw_static_routes | Success | 659.69 | test_privategw_acl.py
    test_01_vpc_privategw_acl | Success | 200.12 | test_privategw_acl.py
    test_01_primary_storage_nfs | Success | 39.61 | test_primary_storage.py
    test_createPortablePublicIPRange | Success | 15.39 | test_portable_publicip.py
    test_createPortablePublicIPAcquire | Success | 15.70 | test_portable_publicip.py
    test_isolate_network_password_server | Success | 64.68 | test_password_server.py
    test_UpdateStorageOverProvisioningFactor | Success | 0.22 | test_over_provisioning.py
    test_oobm_zchange_password | Success | 21.02 | test_outofbandmanagement.py
    test_oobm_multiple_mgmt_server_ownership | Success | 17.02 | test_outofbandmanagement.py
    test_oobm_issue_power_status | Success | 10.53 | test_outofbandmanagement.py
    test_oobm_issue_power_soft | Success | 16.01 | test_outofbandmanagement.py
    test_oobm_issue_power_reset | Success | 16.02 | test_outofbandmanagement.py
    test_oobm_issue_power_on | Success | 11.05 | test_outofbandmanagement.py
    test_oobm_issue_power_off | Success | 16.02 | test_outofbandmanagement.py
    test_oobm_issue_power_cycle | Success | 16.04 | test_outofbandmanagement.py
    test_oobm_enabledisable_across_clusterzones | Success | 58.47 | test_outofbandmanagement.py
    test_oobm_enable_feature_valid | Success | 5.38 | test_outofbandmanagement.py
    test_oobm_enable_feature_invalid | Success | 0.20 | test_outofbandmanagement.py
    test_oobm_disable_feature_valid | Success | 0.28 | test_outofbandmanagement.py
    test_oobm_disable_feature_invalid | Success | 0.17 | test_outofbandmanagement.py
    test_oobm_configure_invalid_driver | Success | 0.14 | test_outofbandmanagement.py
    test_oobm_configure_default_driver | Success | 0.30 | test_outofbandmanagement.py
    test_oobm_background_powerstate_sync | Success | 29.97 | test_outofbandmanagement.py
    test_extendPhysicalNetworkVlan | Success | 15.42 | test_non_contigiousvlan.py
    test_01_nic | Success | 760.41 | test_nic.py
    test_releaseIP | Success | 280.66 | test_network.py
    test_public_ip_user_account | Success | 10.44 | test_network.py
    test_public_ip_admin_account | Success | 40.69 | test_network.py
    test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Success | 77.52 | test_network.py
    test_network_rules_acquired_public_ip_2_nat_rule | Success | 62.15 | test_network.py
    test_network_rules_acquired_public_ip_1_static_nat_rule | Success | 125.82 | test_network.py
    test_delete_account | Success | 326.54 | test_network.py
    test_02_port_fwd_on_non_src_nat | Success | 56.02 | test_network.py
    test_01_port_fwd_on_src_nat | Success | 111.93 | test_network.py
    test_nested_virtualization_vmware | Success | 305.03 | test_nested_virtualization.py
    test_nic_secondaryip_add_remove | Success | 230.16 | test_multipleips_per_nic.py
    login_test_saml_user | Success | 26.92 | test_login.py
    test_assign_and_removal_lb | Success | 149.46 | test_loadbalance.py
    test_02_create_lb_rule_non_nat | Success | 207.96 | test_loadbalance.py
    test_01_create_lb_rule_src_nat | Success | 209.42 | test_loadbalance.py
    test_03_list_snapshots | Success | 0.07 | test_list_ids_parameter.py
    test_02_list_templates | Success | 0.06 | test_list_ids_parameter.py
    test_01_list_volumes | Success | 0.04 | test_list_ids_parameter.py
    test_07_list_default_iso | Success | 0.09 | test_iso.py
    test_05_iso_permissions | Success | 0.11 | test_iso.py
    test_04_extract_Iso | Success | 5.18 | test_iso.py
    test_03_delete_iso | Success | 95.53 | test_iso.py
    test_02_edit_iso | Success | 0.09 | test_iso.py
    test_01_create_iso | Success | 22.24 | test_iso.py
    test_03_vpc_internallb_haproxy_stats_on_all_interfaces | Success | 411.21 | test_internal_lb.py
    test_dedicateGuestVlanRange | Success | 10.71 | test_guest_vlan_range.py
    test_UpdateConfigParamWithScope | Success | 0.41 | test_global_settings.py
    test_rolepermission_lifecycle_update | Success | 7.76 | test_dynamicroles.py
    test_rolepermission_lifecycle_list | Success | 7.43 | test_dynamicroles.py
    test_rolepermission_lifecycle_delete | Success | 7.17 | test_dynamicroles.py
    test_rolepermission_lifecycle_create | Success | 7.08 | test_dynamicroles.py
    test_rolepermission_lifecycle_concurrent_updates | Success | 7.39 | test_dynamicroles.py
    test_role_lifecycle_update_role_inuse | Success | 7.76 | test_dynamicroles.py
    test_role_lifecycle_update | Success | 12.40 | test_dynamicroles.py
    test_role_lifecycle_list | Success | 7.35 | test_dynamicroles.py
    test_role_lifecycle_delete | Success | 12.29 | test_dynamicroles.py
    test_role_lifecycle_create | Success | 7.72 | test_dynamicroles.py
    test_role_inuse_deletion | Success | 7.52 | test_dynamicroles.py
    test_role_account_acls_multiple_mgmt_servers | Success | 10.37 | test_dynamicroles.py
    test_role_account_acls | Success | 10.81 | test_dynamicroles.py
    test_default_role_deletion | Success | 7.41 | test_dynamicroles.py
    test_04_create_fat_type_disk_offering | Success | 0.11 | test_disk_offerings.py
    test_03_delete_disk_offering | Success | 0.07 | test_disk_offerings.py
    test_02_edit_disk_offering | Success | 0.07 | test_disk_offerings.py
    test_02_create_sparse_type_disk_offering | Success | 0.16 | test_disk_offerings.py
    test_01_create_disk_offering | Success | 0.16 | test_disk_offerings.py
    test_deployvm_userdispersing | Success | 56.33 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userconcentrated | Success | 101.54 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_firstfit | Success | 177.44 | test_deploy_vms_with_varied_deploymentplanners.py
    test_deployvm_userdata_post | Success | 71.06 | test_deploy_vm_with_userdata.py
    test_deployvm_userdata | Success | 172.21 | test_deploy_vm_with_userdata.py
    test_02_deploy_vm_root_resize | Success | 7.17 | test_deploy_vm_root_resize.py
    test_01_deploy_vm_root_resize | Success | 7.30 | test_deploy_vm_root_resize.py
    test_00_deploy_vm_root_resize | Success | 7.26 | test_deploy_vm_root_resize.py
    test_deploy_vm_from_iso | Success | 214.59 | test_deploy_vm_iso.py
    test_DeployVmAntiAffinityGroup | Success | 258.01 | test_affinity_groups.py
    test_08_resize_volume | Skipped | 5.11 | test_volumes.py
    test_07_resize_fail | Skipped | 10.31 | test_volumes.py
    test_06_copy_template | Skipped | 0.00 | test_templates.py
    test_static_role_account_acls | Skipped | 0.03 | test_staticroles.py
    test_11_ss_nfs_version_on_ssvm | Skipped | 0.02 | test_ssvm.py
    test_01_scale_vm | Skipped | 66.33 | test_scale_vm.py
    test_01_primary_storage_iscsi | Skipped | 0.04 | test_primary_storage.py
    test_06_copy_iso | Skipped | 0.00 | test_iso.py
    test_deploy_vgpu_enabled_vm | Skipped | 2.27 | test_deploy_vgpu_enabled_vm.py



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhytd @jburwell  @karuturi          test_nested_virtualization_vmware	Success	305.03
    
    The other tests fail due to environmental issues e.g. below. I think it is ready for merging now.
    
    2016-11-20 16:32:00,324 - CRITICAL - EXCEPTION: test_3d_gpu_support: ['Traceback (most recent call last):\n', '  File "/usr/lib64/python2.7/unittest/case.py", line 369, in run\n    testMethod()\n', '  File "/marvin/tests/smoke/test_deploy_vgpu_enabled_vm.py", line 316, in test_3d_gpu_support\n    self.virtual_machine.add_nic(self.apiclient, self.isolated_network.id)\n', '  File "/usr/lib/python2.7/site-packages/marvin/lib/base.py", line 784, in add_nic\n    return apiclient.addNicToVirtualMachine(cmd)\n', '  File "/usr/lib/python2.7/site-packages/marvin/cloudstackAPI/cloudstackAPIClient.py", line 637, in addNicToVirtualMachine\n    response = self.connection.marvinRequest(command, response_type=response, method=method)\n', '  File "/usr/lib/python2.7/site-packages/marvin/cloudstackConnection.py", line 379, in marvinRequest\n    raise e\n', "Exception: Job failed: {jobprocstatus : 0, created : u'2016-11-20T16:29:43+0000', cmd : u'org.apache.cloudstack.api.command.admin.vm.AddNicTo
 VMCmdByAdmin', userid : u'1575bde5-af3a-11e6-b333-06aa7801071a', jobstatus : 2, jobid : u'78b21bfa-bc82-4df6-ad54-67ef0899ceeb', jobresultcode : 530, jobresulttype : u'object', jobresult : {errorcode : 530, errortext : u'Unable to add NIC to VM[User|i-7-9-VM]: com.cloud.exception.AgentUnavailableException: **Resource [Host:1] is unreachable:** Host 1: Unable to start instance due to Unable to start  VM:a42c5549-c3c4-47b3-8e49-0785d1c2ef44 due to error in finalizeStart, not retrying'}, accountid : u'1575a6c7-af3a-11e6-b333-06aa7801071a'}\n"]


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @jburwell a Trillian-Jenkins test job (centos7 mgmt + vmware-55u3) has been kicked to run smoke tests


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Sure, done


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Re: [GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by Sergey Levitskiy <Se...@autodesk.com>.
@rhtyd The rationale to have vmware.nested.virtualization.perVM was that advanced vm_details and template details are user controlled. With https://issues.apache.org/jira/browse/CLOUDSTACK-9457 
‘Allow retrieval and modification of VM and template details via API and UI’ users will be able to change any advanced details in UI and API.
If admin wants to preserve that nested virtualization is controlled in centralized fashion they can do so by setting vmware.nested.virtualization.perVM to ‘false’. Idea was to allow organizations that currently have nested virtualization disabled to have it so after upgrade.

On 8/16/16, 10:21 AM, "rhtyd" <gi...@git.apache.org> wrote:

    Github user rhtyd commented on the issue:
    
        https://github.com/apache/cloudstack/pull/1542
      
        @nvazquez @serg38 how about we remove vmware.nested.virtualization.perVM and instead if the user vm detail exists and is true, it overrides the global setting?
    
    
    ---
    If your project is set up for it, you can reply to this email and have your
    reply appear on GitHub as well. If your project does not have this feature
    enabled and wishes so, or if the feature is enabled but not working, please
    contact infrastructure at infrastructure@apache.org or file a JIRA ticket
    with INFRA.
    ---
    


[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @nvazquez @serg38 how about we remove vmware.nested.virtualization.perVM and instead if the user vm detail exists and is true, it overrides the global setting?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Packaging result: \u2714centos6 \u2714centos7 \u2716debian. JID-120


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rafaelweingartner I agree it wasn't the best solution but I meant to include it for the sake of testing `configureNestedVirtualization` method. Which approach can I take to test this method, as it uses configuration final variables to determinate enabling/desabling nested virtualization?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: CLOUDSTACK-9379: Support nested virtualiz...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the pull request:

    https://github.com/apache/cloudstack/pull/1542#issuecomment-219051673
  
    Hi @DaanHoogland, unfortunately I really didn't examine it for other hypervisors. In our environment we only use VMware ESXi hypervisor, that's the main reason for implementing it only in VMware code


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by bvbharatk <gi...@git.apache.org>.
Github user bvbharatk commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    ### ACS CI BVT Run
     **Sumarry:**
     Build Number 198
     Hypervisor xenserver
     NetworkType Advanced
     Passed=73
     Failed=0
     Skipped=3
    
    _Link to logs Folder (search by build_no):_ https://www.dropbox.com/sh/yj3wnzbceo9uef2/AAB6u-Iap-xztdm6jHX9SjPja?dl=0
    
    
    **Failed tests:**
    
    **Skipped tests:**
    test_vm_nic_adapter_vmxnet3
    test_static_role_account_acls
    test_deploy_vgpu_enabled_vm
    
    **Passed test suits:**
    test_deploy_vm_with_userdata.py
    test_affinity_groups_projects.py
    test_portable_publicip.py
    test_vpc_vpn.py
    test_over_provisioning.py
    test_global_settings.py
    test_scale_vm.py
    test_service_offerings.py
    test_routers_iptables_default_policy.py
    test_routers.py
    test_reset_vm_on_reboot.py
    test_snapshots.py
    test_deploy_vms_with_varied_deploymentplanners.py
    test_login.py
    test_list_ids_parameter.py
    test_public_ip_range.py
    test_multipleips_per_nic.py
    test_regions.py
    test_affinity_groups.py
    test_network_acl.py
    test_pvlan.py
    test_volumes.py
    test_nic.py
    test_deploy_vm_root_resize.py
    test_resource_detail.py
    test_secondary_storage.py
    test_vm_life_cycle.py
    test_disk_offerings.py


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Oh that's sad, no problem, thanks anyways @DaanHoogland


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Solved, thanks @rafaelweingartner 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Thanks for testing @nvazquez I think since @NuxRo built new vmware templates, we can consume macchinina/vmware: http://dl.openvm.eu/cloudstack/macchinina/x86_64/testing
    
    The TinyCore based template I had created lacks 'ip/iproute' package and httpd, I'll try to fix it though as this point since Lucian has already fixed macchinina it might be not necessary.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request #1542: CLOUDSTACK-9379: Support nested virtualizatio...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/cloudstack/pull/1542


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Thanks @rafaelweingartner, I agree with you, I refactored it!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request #1542: CLOUDSTACK-9379: Support nested virtualizatio...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1542#discussion_r81405215
  
    --- Diff: test/integration/smoke/test_nested_virtualization.py ---
    @@ -0,0 +1,152 @@
    +# Licensed to the Apache Software Foundation (ASF) under one
    +# or more contributor license agreements.  See the NOTICE file
    +# distributed with this work for additional information
    +# regarding copyright ownership.  The ASF licenses this file
    +# to you under the Apache License, Version 2.0 (the
    +# "License"); you may not use this file except in compliance
    +# with the License.  You may obtain a copy of the License at
    +#
    +#   http://www.apache.org/licenses/LICENSE-2.0
    +#
    +# Unless required by applicable law or agreed to in writing,
    +# software distributed under the License is distributed on an
    +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +# KIND, either express or implied.  See the License for the
    +# specific language governing permissions and limitations
    +# under the License.
    +""" Tests for Nested Virtualization
    +"""
    +#Import Local Modules
    +from marvin.codes import FAILED
    +from marvin.cloudstackTestCase import cloudstackTestCase
    +from marvin.lib.utils import (cleanup_resources,
    +                              get_hypervisor_type,
    +                              get_process_status)
    +from marvin.lib.base import (Account,
    +                             ServiceOffering,
    +                             NetworkOffering,
    +                             Configurations,
    +                             VirtualMachine,
    +                             Network)
    +from marvin.lib.common import (get_zone,
    +                               get_domain,
    +                               get_template)
    +from nose.plugins.attrib import attr
    +from marvin.sshClient import SshClient
    +import logging
    +
    +class TestNestedVirtualization(cloudstackTestCase):
    +
    +    @classmethod
    +    def setUpClass(cls):
    +        testClient = super(TestNestedVirtualization, cls).getClsTestClient()
    +        cls.apiclient = testClient.getApiClient()
    +        cls.services = testClient.getParsedTestDataConfig()
    +        
    +        cls.logger = logging.getLogger('TestNestedVirtualization')
    +        cls.stream_handler = logging.StreamHandler()
    +        cls.logger.setLevel(logging.DEBUG)
    +        cls.logger.addHandler(cls.stream_handler)
    +
    +        cls.zone = get_zone(cls.apiclient, testClient.getZoneForTests())
    +        cls.services['mode'] = cls.zone.networktype
    +        cls.services["isolated_network"]["zoneid"] = cls.zone.id
    +        cls.domain = get_domain(cls.apiclient)
    +        cls.service_offering = ServiceOffering.create(
    +            cls.apiclient,
    +            cls.services["service_offerings"]["tiny"]
    +        )
    +        cls.account = Account.create(cls.apiclient, services=cls.services["account"])
    +        cls.template = get_template(
    +            cls.apiclient,
    +            cls.zone.id,
    +            cls.services["ostype"]
    +        )
    +        cls.hypervisor = get_hypervisor_type(cls.apiclient)
    +        
    +        cls.isolated_network_offering = NetworkOffering.create(
    +                                                cls.apiclient,
    +                                                cls.services["isolated_network_offering"])
    +        # Enable Isolated Network offering
    +        cls.isolated_network_offering.update(cls.apiclient, state='Enabled')
    +        
    +        if cls.template == FAILED:
    +            assert False, "get_template() failed to return template with description %s" % cls.services["ostype"]
    +            
    +        cls.services["small"]["zoneid"] = cls.zone.id
    +        cls.services["small"]["template"] = cls.template.id
    +
    +        cls.cleanup = [cls.account]
    +
    +    @attr(tags=["advanced"], required_hardware="true")
    +    def test_nested_virtualization_vmware(self):
    +        """Test nested virtualization on Vmware hypervisor"""
    +        if self.hypervisor.lower() not in ["vmware"]:
    +             self.skipTest("Skipping test because suitable hypervisor/host not present")
    +             
    +        # 1) Update nested virtualization configurations, if needed
    +        configs = Configurations.list(self.apiclient, name="vmware.nested.virtualization")
    +        rollback_nv = False
    +        rollback_nv_per_vm = False
    +        for conf in configs:
    +            if (conf.name == "vmware.nested.virtualization" and conf.value == "false"):
    +                config_update = Configurations.update(self.apiclient, "vmware.nested.virtualization", "true")
    +                self.logger.debug("Updated global setting vmware.nested.virtualization to true")
    +                rollback_nv = True
    +            elif (conf.name == "vmware.nested.virtualization.perVM" and conf.value == "false"):
    +                config_update = Configurations.update(self.apiclient, "vmware.nested.virtualization.perVM", "true")
    +                self.logger.debug("Updated global setting vmware.nested.virtualization.perVM to true")
    +                rollback_nv_per_vm = True
    +                
    +        # 2) Deploy a vm
    +        virtual_machine = VirtualMachine.create(
    +            self.apiclient,
    +            self.services["small"],
    +            accountid=self.account.name,
    +            domainid=self.account.domainid,
    +            serviceofferingid=self.service_offering.id,
    +            mode=self.services['mode']
    +        )
    +        self.assert_(virtual_machine is not None, "VM failed to deploy")
    +        self.assert_(virtual_machine.state == 'Running', "VM is not running")
    +        self.logger.debug("Deployed vm: %s" % virtual_machine.id)
    +        
    +        isolated_network = Network.create(
    +            self.apiclient,
    +            self.services["isolated_network"],
    +            self.account.name,
    +            self.account.domainid,
    +            networkofferingid=self.isolated_network_offering.id)
    +
    +        virtual_machine.add_nic(self.apiclient, isolated_network.id)
    +        
    +        # 3) SSH into vm
    +        ssh_client = virtual_machine.get_ssh_client()
    +
    +        if ssh_client:
    +            # run ping test
    +            result = ssh_client.execute("cat /proc/cpuinfo | grep flags")
    +            self.logger.debug(result)
    +        else:
    +            self.fail("Failed to setup ssh connection to %s" % virtual_machine.public_ip)
    +            
    +        # 4) Revert configurations, if needed
    +        if rollback_nv:
    +            config_update = Configurations.update(self.apiclient, "vmware.nested.virtualization", "false")
    +            self.logger.debug("Reverted global setting vmware.nested.virtualization back to false")
    +        if rollback_nv_per_vm:
    +            config_update = Configurations.update(self.apiclient, "vmware.nested.virtualization", "false")
    +            self.logger.debug("Reverted global setting vmware.nested.virtualization.perVM back to false")
    +            
    +        #5) Check for CPU flags: vmx for Intel and svm for AMD indicates nested virtualization is enabled
    +        self.assert_(result is not None, "Empty result for CPU flags")
    +        res = str(result)
    +        self.assertTrue(res.find('vmx') != -1 or res.find('svm') != -1)
    --- End diff --
    
    How about we make it idiomatic with: self.assertTrue('vmx' in res or 'svm' in res)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    LGTM 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by serg38 <gi...@git.apache.org>.
Github user serg38 commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rafaelweingartner That's correct. At this point advanced VM details and advanced template details have no UI exposure. At some point we can bring in PR to show this in UI and allow API based changes


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @serg38 the goal is not only verify that functionality works now, but in the future to protect against regressions.  My thinking is that we could deploy a CentOS VM, install KVM, and verify that we can create an ephemeral VM within it.  A specially packaged template could have the KVM packages pre-installed and a small Debian or Alpine template on-board.  The test would pass when it is able to SSH into the nested VM over the link-local interface.  Such a test would be self-contained and not require any particular storage or network settings.  Does such a test seem reasonable and valuable?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by rafaelweingartner <gi...@git.apache.org>.
Github user rafaelweingartner commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @serg38 with your explanations, I am ok with the current state of this PR. No further changes are needed.
    There is only one problem now. There are some merge conflicts that have to be resolved.



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by nvazquez <gi...@git.apache.org>.
Github user nvazquez commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    Could this be reviewed for VMware please? Then I can work on extending it to other HVs
    
    Thanks!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1542: CLOUDSTACK-9379: Support nested virtualization at VM...

Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:

    https://github.com/apache/cloudstack/pull/1542
  
    @rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---