cloudstack/test
Remi Bergsma b6e212f2c7 Merge pull request #773 from ekholabs/fix/vpc_nic-CLOUDSTACK-8759
CLOUDSTACK-8759 - Destroying VPC router results in a new unusable VPC routerHow to reproduce the problem:

1. Stop/Destroy the VPC router
2. Add a virtual machine to one of the VPC tier - it will trigger a VPC router creation
3. Router is created, but the NICs are not configured

How to recover without this fix:
1. Stop/destroy the VPC router and restart the VPC

Side effects: private gateways could be misconfigured.

Root cause:

In the VpcNetworkHelperImpl.configureDefaultNics() method, the guest network nic was added in the map prior to the control and public NICs. The order in the map should not matter, however in the LibvirtComputingResource.createVifs() method, there is a logic that relies on the device index - the array index - in order to create the  control nic. I advise a refactor on the data model in order to be able to identify the NIC type instead of relying in the array index.

An integration test was added to cover the fix:
* test_vpc_router_nics.py

Environment:
Management Server running on CentOS 7.1
KVM host running on CentOS 7.1
CloudStack Agent/Common 4.6.0-SNAPSHOT

Executing the test:

```
nosetests --with-marvin --marvin-config=/data/shared/marvin/mct-zone2-kvm2-ISOLATED.cfg -s -a tags=advanced,required_hardware=true component/test_vpc_router_nics.py
```

Remark: during the SSH there might be stack traces on the console due to the connection retry. It takes some time to get the PF rules in place and reach the VMs. So, just let the test run until the end.

```
Test results:

Create a vpc with two networks with two vms in each network ... === TestName: test_01_VPC_nics_after_destroy | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 774.020s

OK
/tmp//MarvinLogs/test_vpc_router_nics_VH6E9S/results.txt (END)
```

* pr/773:
  CLOUDSTACK-8759 - Fix guets nic allocation
  CLOUDSTACK-8759 - Adding a marvin test in order to cover the fix
  CLOUDSTACK-8759 - The guest nic has to be added after the control nic

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-09-05 11:41:18 +02:00
..
bindirbak apply chip childers licensing patches for the test directory 2012-06-26 11:19:58 -04:00
conf Uniting all the READMEs from tools and test 2012-10-12 17:01:20 +05:30
integration Merge pull request #773 from ekholabs/fix/vpc_nic-CLOUDSTACK-8759 2015-09-05 11:41:18 +02:00
metadata License header updates for the test folder. 2012-08-03 10:39:05 -04:00
scripts CLOUDSTACK-28 wget.exe (GPLed) is present in the tools directory as a binary 2012-09-24 10:31:47 -04:00
selenium CLOUDSTACK-6015: add user account, add user, login as new user, delete user, delete user account. 2014-03-28 06:21:59 -04:00
src/com/cloud CLOUDSTACK-8656: debug messages on interupted exceptions 2015-07-30 16:03:10 +02:00
systemvm Getting redundancy to work via teh configuration files 2015-03-16 11:35:29 +01:00
pom.xml Updating pom.xml version numbers for release 4.5.2-SNAPSHOT 2015-05-07 15:33:01 +02:00