1462 Commits

Author SHA1 Message Date
Remi Bergsma
5cacd99570 Merge pull request #972 from miguelaferreira/test_isolate_network_FW_PF_default_routes
Fix error message in test_isolate_network_FW_PF_default_routesWhile running test_isolate_network_FW_PF_default_routes it is expected
that SSH'ing into a VM does not work immediately. However, when it fails
(as expected) witht he follwoing error

      ====Trying SSH Connection: Host:192.168.23.12 Uer:root
    Port:22 RetryCnt:1===
      Traceback (most recent call last):
        File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/marvin/sshClient.py", line 121, in createConnection timeout=self.timeout)
        File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/client.py", line 251, in connect retry_on_signal(lambda: sock.connect(addr))
        File /home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/util.py", line 270, in retry_on_signal return function()
        File /home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/client.py", line 251, in <lambda> retry_on_signal(lambda: sock.connect(addr))
        File "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args)
      error: [Errno 113] No route to host

it would try to print a message that generates a actual error:

```
  DEBUG: ====Trying SSH Connection: Host:192.168.23.12 User:root
Port:22 RetryCnt:0===
  test_isolate_network_FW_PF_default_routes
(integration.component.test_routers_network_ops.TestIsolatedNetworks):
CRITICAL: EXCEPTION: test_isolate_network_FW_PF_default_routes:
    Traceback (most recent call last):,
      File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
testMethod()',
      File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/test/integration/component/test_routers_network_ops.py", line 448, in test_isolate_network_FW_PF_default_routes self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress)),
      "AttributeError: 'unicode' object has no attribute 'ipaddress'"
```

* pr/972:
  Fix error message in test_isolate_network_FW_PF_default_routes

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-24 09:49:53 +02:00
Remi Bergsma
b1c7d4b20d Merge pull request #967 from ekholabs/fix/cleanup-CLOUDSTACK-8935
CLOUDSTACK-8935 - Cannot remove [r]VPC networks due to RTNETLINK errorThis PR fixes the "sequence item 0: expected string, NoneType found" error found in the CsDhcp.py file when attempting to remo a network from a VPC.

* pr/967:
  CLOUDSTACK-8935 - Filter the DNS list because it might contain 1 None entry which breaks the code.
  CLOUDSTACK-8935 - Clean up network resources in the right order
  CLOUDSTACK-8935 - Do not retry 60 times when we expect the SSH to fail
  CLOUDSTACK-8935 - Check if the key is available in the dictionary
  CLOUDSTACK-8935 - Add a check to avoid exception related to None value

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-24 09:14:56 +02:00
Miguel Ferreira
c59de915c6 Fix error message in test_isolate_network_FW_PF_default_routes
While running test_isolate_network_FW_PF_default_routes it is expected
that SSH'ing into a VM does not work immediately. However, when it fails
(as expected) witht he follwoing error

      ====Trying SSH Connection: Host:192.168.23.12 Uer:root
    Port:22 RetryCnt:1===
      Traceback (most recent call last):
        File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/marvin/sshClient.py", line 121, in createConnection timeout=self.timeout)
        File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/client.py", line 251, in connect retry_on_signal(lambda: sock.connect(addr))
        File /home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/util.py", line 270, in retry_on_signal return function()
        File /home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/venv/lib/python2.7/site-packages/paramiko/client.py", line 251, in <lambda> retry_on_signal(lambda: sock.connect(addr))
        File "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args)
      error: [Errno 113] No route to host

it would try to print a message that generates a actual error:

  DEBUG: ====Trying SSH Connection: Host:192.168.23.12 User:root
Port:22 RetryCnt:0===
  test_isolate_network_FW_PF_default_routes
(integration.component.test_routers_network_ops.TestIsolatedNetworks):
CRITICAL: EXCEPTION: test_isolate_network_FW_PF_default_routes:
    Traceback (most recent call last):,
      File "/usr/lib64/python2.7/unittest/case.py", line 369, in run
testMethod()',
      File "/home/jenkins/workspace/mccloud/mct-run-marvin-tests@2/test/integration/component/test_routers_network_ops.py", line 448, in test_isolate_network_FW_PF_default_routes self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress)),
      "AttributeError: 'unicode' object has no attribute 'ipaddress'"
2015-10-23 17:01:07 +02:00
Wilder Rodrigues
3ead9d7229 CLOUDSTACK-8935 - Clean up network resources in the right order 2015-10-23 16:00:09 +02:00
Wilder Rodrigues
3eb6ba0699 CLOUDSTACK-8935 - Do not retry 60 times when we expect the SSH to fail 2015-10-23 15:59:03 +02:00
Michael Andersen
b95c8200e2 Add wait for template download
Refactored template section of services
2015-10-23 15:23:53 +02:00
Remi Bergsma
cf839bdf0c Merge pull request #952 from michaelandersen/test/site2sitevpn
Improve marvin test site2site VPNAdd optional fields: iprange and fordisplay to Marvin base.py class method Vpn.create
Add optional field: passive to Marvin base.py class method Vpn.createVpnConnection

* pr/952:
  Improve marvin test site2site VPN

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-22 12:42:07 +02:00
Remi Bergsma
e7638c0288 Merge pull request #959 from ekholabs/pr/930-CLOUDSTACK-8933
CLOUDSTACK-8933 SSVm and CPVM do not survive a reboot from APIThis closes PR #930 as well.

I Rebased @bvbharat's PR with latest Master and tested the SSVM/CPVM and the routers: rVPC; VPC; VR; and RVR.

* pr/959:
  CLOUDSTACK-8933 - Improves the the test internals of the SSVM/CPVM
  CLOUDSTACK-8933 - Replace infinite loop by a for loop
  CLOUDSTACK-8933 SSVm and CPVM do not survive a reboot from API

This closes #930

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-21 23:14:52 +02:00
Remi Bergsma
39bd17d797 Merge pull request #933 from michaelandersen/fix/loadbalancer-test
CLOUDSTACK-8697 - Refactored & Added Internal LB smoke testAdded 1VPC 2TIER internal lb roundrobin test
Added 1VPC 1TIER internal lb admin stats test
Refactored existing test
Thanks @wilderrodrigues for examples and advice!

* pr/933:
  Improve Internal Loadbalancer Smoke Test

Signed-off-by: Remi Bergsma <github@remi.nl>
2015-10-21 14:39:09 +02:00
Wilder Rodrigues
ae6aa2af88 CLOUDSTACK-8933 - Improves the the test internals of the SSVM/CPVM
- Check if the link local IP is the same a dthe one cached in the cmdline config file.
   - SSVM/CPSM can have the same IP after reboot
2015-10-21 14:18:53 +02:00
Wilder Rodrigues
8708d0dc43 CLOUDSTACK-8971 - Improve the current test_privategw_acls.py
- Read cofiguration from the zone: template id; template id; and domain id
   - Create Account and VPC Offering
   - Add cleanup resources
2015-10-20 15:48:27 +02:00
Michael Andersen
e2d13131e7 Improve marvin test site2site VPN
Add optional fields: iprange and fordisplay to Marvin base.py class method Vpn.create
    Add optional field: passive to Marvin base.py class method Vpn.createVpnConnection
2015-10-20 11:01:23 +02:00
Michael Andersen
3b15890b5f Improve Internal Loadbalancer Smoke Test
Added 1VPC 2TIER internal lb roundrobin test
Added 1VPC 1TIER internal lb admin stats test
Refactored existing test

Removed double license and imports

Changed default hypervisor from xen to kvm

Fixed default network acl to default_allow

Renamed test02
2015-10-20 08:51:12 +02:00
Wilder Rodrigues
38d03576d6 CLOUDSTACK-8952 - Make the tests rely on the interface state other than the json file 2015-10-17 14:47:05 +02:00
Wilder Rodrigues
2a747ca735 CLOUDSTACK-8952 - Reduce retried from 20 to 5
- We do not need to retry that much
2015-10-17 12:20:42 +02:00
Wilder Rodrigues
41f4d8b58a CLOUDSTACK-8952 - Make the check for master more reliable
- Do not use the API call because it will read what is in the database, that might not have been updated yet
     * Check the status in the router directly instead
   - Remove all the sleeps
2015-10-17 12:20:41 +02:00
Wilder Rodrigues
1886c4a1b3 CLOUDSTACK-8952 - Make sure we restart dnsmasq if the configuration file changes
- It was working before because the Routers were restarting about 10 times for each operation
     e.g. adding a VM to a network ot acquiring a new IP.
   - Adding stat_rules of internal LB to iptables
     We needed one extra rule in the INPUT chain
2015-10-17 12:20:40 +02:00
Wilder Rodrigues
b4920aa028 CLOUDSTACK-8952 - Do not restart conntrackd unless it's needed
- With the keepalived fixed they should not be needed anymore. So first reducing them drasticaly
   - I am now making a backup of the template file, write to the template file and compare it with the existing configuration
   - The template file is recovered afer the process
   - I also check if the process is running
   - I fixed a bug in the compare method
   - I am now updating the configuration variable once the file content is flushed to disk
2015-10-17 12:20:40 +02:00
Wilder Rodrigues
bb3d1cde60 CLOUDSTACK-8947 - Do not rely on the machine hostname to verify the test
- The machine hostname might be different depending on the template. So do not rely on it.
   - Using the "uname" command instead.
2015-10-14 07:44:39 +02:00
Wilder Rodrigues
384b6c7cd4 CLOUDSTACK-8947 - Fail fast!
- If we canno SSH after 5 retries, it means it's not working. Do not wait for 60 attempts
2015-10-14 07:44:39 +02:00
Wilder Rodrigues
cd8c3e97f5 CLOUDSTACK-8934 - Fix the AclIP class to make it configure the default FW policy 2015-10-11 14:57:33 +02:00
Wilder Rodrigues
5d1cdc6440 CLOUDSTACK-8934 - Adding tests to cover default routes on IsoNest and RVR nets 2015-10-11 14:57:31 +02:00
Wilder Rodrigues
45642b8382 CLOUDSTACK-8934 - Add default gateway when the public interface is up again 2015-10-11 14:57:12 +02:00
Wilder Rodrigues
7ed81a6990 CLOUDSTACK-8915 - Making sure cleanup resources passes
- Due to an issue with VPC routers (CLOUDSTACK-8935) we are not able to destroy networks before destroying the routers
   - Added a forcestop/destroy routers inside the tearDown to make sure it passes. The issue will be addressed in a separate PR
   - Make sure the routers list is cleaned after destroy_routers() is called
   - Populate routers list after the router is recreated
2015-10-07 11:14:23 +02:00
Wilder Rodrigues
b1fb1539e9 CLOUDSTACK-8915 - Fix the assertion used for the default routes test 2015-10-06 16:41:15 +02:00
Wilder Rodrigues
a0c93e7778 CLOUDSTACK-8915 - This test is still under construction
- It will help to increase coverage of VR use: PF; LB and FW
2015-10-06 16:41:14 +02:00
Wilder Rodrigues
5f79916eea CLOUDSTACK-8915 - Adding logging to tests 2015-10-06 16:41:14 +02:00
Wilder Rodrigues
7c7c0149b2 CLOUDSTACK-8915 - Improve routers tests
- Add egress tests in order to check if VMs can reach the outside world
   - Increase the wait when testing redundant routers: they fight to become master
   - Make sure the clean up is done properly
2015-10-06 16:41:14 +02:00
Wilder Rodrigues
260ff836b6 CLOUDSTACK-8915 - Reverting changes from commit id 1a02773b556a0efa277cf18cd099fc62a4e27706
- That's not the place to fix the default routes for redundant VPC,
   - Adding tests to cover PF and FW in isolated networks
     * Will still add some tests for egress as well
2015-10-06 16:41:14 +02:00
Wilder Rodrigues
094d29d7cd CLOUDSTACK-8915 - VRRP needs a cidr in order to work properly
- The cidr was replaced by the single IP, which broke the feature.
   - Wait during transition from master to backup otherwise the test fails due to wronge state
2015-10-06 16:41:13 +02:00
sanjeev
33bdfc773a CLOUDSTACK-8924: Removed duplicate test from test_scale_vm.py 2015-09-30 15:23:30 +05:30
sanjeev
a601ae445d Merge pull request #683 from pavanb018/multivol
CLOUDSTACK-8726 : Automation for Quickly attaching multiple data disks to a new VMAttach multiple Volumes simultaneously to a Running VM ... === TestName: test_attach_multiple_volumes | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 1 test in 196.931s

OK

* pr/683:
  changed the testcase skip code into setup method
  Imparting changes mentioned by nitt10prashant
  Automation for multiple disk attachments to instance

Signed-off-by: sanjeev <sanjeev@apache.org>
2015-09-23 15:23:27 +05:30
sanjeev
7147627aa2 Modified test description 2015-09-23 11:52:10 +05:30
sanjeev
fbc2e2e983 CLOUDSTACK-8893: Fixing script as per the latest functionality 2015-09-23 11:52:08 +05:30
sanjeev
75cf2bd248 Tagging tests appropriately to pick them for running on basic zone 2015-09-14 16:52:13 +05:30
Rajani Karuturi
ff1ce07aef Merge pull request #728 from shwetaag/attach_iso
CLOUDSTACK-8756:Incorrect guest os mapping in CCP 4.2.1-6 for CentOS 5.9Check the bug 8756 for more details

* pr/728:
  CLOUDSTACK-8756:Incorrect guest os mapping in CCP 4.2.1-6 for CentOS 5.9

Signed-off-by: Rajani Karuturi <rajani.karuturi@citrix.com>
2015-09-11 21:20:03 +05:30
Rajani Karuturi
adfa9c0ca6 Revert "CLOUDSTACK-8756:Incorrect guest os mapping in CCP 4.2.1-6 for CentOS 5.9"
This reverts commit ba59a43333b6f31e48e4b6e43e16068e4cacdc45.
Reverting as this is a direct commit to master. Will be followed by a
merge
2015-09-11 21:18:25 +05:30
shweta agarwal
ba59a43333 CLOUDSTACK-8756:Incorrect guest os mapping in CCP 4.2.1-6 for CentOS 5.9
This closes #728
2015-09-11 17:56:24 +05:30
wilderrodrigues
237e0e4611 Merge pull request #765 from schubergphilis/fix/default_policies
CLOUDSTACK-8688 - default policies for INPUT and FORWARD should be set to DROP instead of ACCEPT

  - In order to be able to access the routers via the link local interface, we have to add a rules with NEW and ESTABLISHED state

* pr/765:
  CLOUDSTACK-8688 - Adding Marvin tests in order to cover the fixes applied
  CLOUDSTACK-8688 - default policies for INPUT and FORWARD should be set to DROP instead of ACCEPT

Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>
2015-09-08 13:45:19 +02:00
wilderrodrigues
1742b10f1b CLOUDSTACK-8688 - Adding Marvin tests in order to cover the fixes applied
- Changing refactored the utils.get_process_status() function
   - Adding 2 tests: test_01_single_VPC_iptables_policies and test_02_routervm_iptables_policies
2015-09-07 17:00:32 +02:00
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
wilderrodrigues
23d0f3feda CLOUDSTACK-8759 - Adding a marvin test in order to cover the fix
- The test will create a VPC, add 2 tier, 2 VMs, ACL, PF and SSH into the VM
   - Then it will stop the router, destroy the router, add another VM to 1 tier and check that we can reach all the VMs
2015-09-02 17:05:16 +02:00
shweta agarwal
2eb83604a2 CLOUDSTACK-8755: xs-tools.iso missing from ISOs in CCP GUI
This closes #727
2015-09-02 11:46:28 +05:30
Koushik Das
53cba7c741 Merge pull request #741 from koushik-das/simulator_fixes
Made following fixes in simulator
- Support for ScaleVmCommand/NetworkRulesVmSecondaryIpCommand in resource layer
- Added support for scaling up a running VM in simulator
- Fixed some method names not following convention

In order to test PR #725 using simulator some of these changes are needed.

Based on the way HV check is present in the scale VM API, had to explicitly put simulator related check to allow support. The ideal way would be to remove all these HV specific check from code and made them some configuration (by putting them in hypervisor_capabilities table in DB). But that will be a bigger effort outside the scope of this PR.

Signed-off-by: Koushik Das <koushik@apache.org>
2015-08-31 12:15:54 +05:30
Miguel Ferreira
acc11dc3fb Add vm scalling test that runs on simulator 2015-08-27 11:14:17 +02:00
manasaVeloori
cc9c868590 verify that when createTemplate is ued to create templates with same name, all of them fet unique_name under vm_template table so that templates with same name does not get deleted during template sync
This closes #688
2015-08-26 17:43:14 +05:30
Rohit Yadav
6e5d4a60da Merge pull request #665 from pritisarap12/CLOUDSTACK-8716-Verify-creation-of-snapshot-from-volume-when-the-task-is-performed-repeatedly-in-zone-wide-primary-Storage
CLOUDSTACK-8716: Verify creation of snapshot from volume when the task is performed repeatedly in zone wide primary StorageOn VMWare with a Zone wide primary storage and more than two clusters verify successful creation of snapshot multiple times.

* pr/665:
  CLOUDSTACK-8716: Verify creation of snapshot from volume when the task is performed repeatedly in zone wide primary Storage

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-26 15:11:27 +05:30
Rohit Yadav
8252dbd006 Merge pull request #675 from pritisarap12/CLOUDSTACK-8723-Verify-API-call-listUsageRecords-returns-usage-of-new-volume-created-after-restore-VM
CLOUDSTACK-8723: Verify API call "listUsageRecords" returns usage of new volume created after restore VMAfter restoring a running VM current ROOT disk gets destroyed and new ROOT disk gets created.
This testcase is to check if volume usage of this newly created volume is listed in listUsageRecords API.

* pr/675:
  CLOUDSTACK-8723: Verify API call "listUsageRecords" returns usage of new volume created after restore VM

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-26 15:11:11 +05:30
Rohit Yadav
65e9ea9988 Merge pull request #729 from shwetaag/router
CLOUDSTACK-8757:FTP modules are not loaded in VRcheck bug 8757 for more details .

* pr/729:
  CLOUDSTACK-8757:FTP modules are not loaded in VR

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-26 14:47:19 +05:30
Miguel Ferreira
98dd771702 Add Marvin test for Nicira NVP plugin 2015-08-25 14:50:30 +02:00