Add integration test for restartVPC with cleanup, and Private Gateway enabled.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/de11b730 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/de11b730 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/de11b730 Branch: refs/heads/4.7 Commit: de11b7307c2058959918ebc0eb22a55705d177b9 Parents: 78fbaf7 Author: Boris Schrijver <[email protected]> Authored: Mon Jan 11 14:34:08 2016 +0100 Committer: Boris Schrijver <[email protected]> Committed: Mon Jan 11 16:02:32 2016 +0100 ---------------------------------------------------------------------- test/integration/smoke/test_privategw_acl.py | 34 +++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/de11b730/test/integration/smoke/test_privategw_acl.py ---------------------------------------------------------------------- diff --git a/test/integration/smoke/test_privategw_acl.py b/test/integration/smoke/test_privategw_acl.py index 7231a4b..754738b 100644 --- a/test/integration/smoke/test_privategw_acl.py +++ b/test/integration/smoke/test_privategw_acl.py @@ -253,7 +253,19 @@ class TestPrivateGwACL(cloudstackTestCase): self.performVPCTests(vpc_off) @attr(tags=["advanced"], required_hardware="true") - def test_03_rvpc_privategw_static_routes(self): + def test_03_vpc_privategw_restart_vpc_cleanup(self): + self.logger.debug("Creating a VPC offering..") + vpc_off = VpcOffering.create( + self.apiclient, + self.services["vpc_offering"]) + + self.logger.debug("Enabling the VPC offering created") + vpc_off.update(self.apiclient, state='Enabled') + + self.performVPCTests(vpc_off, True) + + @attr(tags=["advanced"], required_hardware="true") + def test_04_rvpc_privategw_static_routes(self): self.logger.debug("Creating a Redundant VPC offering..") vpc_off = VpcOffering.create( self.apiclient, @@ -264,7 +276,7 @@ class TestPrivateGwACL(cloudstackTestCase): self.performVPCTests(vpc_off) - def performVPCTests(self, vpc_off): + def performVPCTests(self, vpc_off, restart_with_cleanup = False): self.logger.debug("Creating VPCs with offering ID %s" % vpc_off.id) vpc_1 = self.createVPC(vpc_off, cidr = '10.0.1.0/24') vpc_2 = self.createVPC(vpc_off, cidr = '10.0.2.0/24') @@ -312,6 +324,13 @@ class TestPrivateGwACL(cloudstackTestCase): self.check_pvt_gw_connectivity(vm1, public_ip_1, vm2.nic[0].ipaddress) self.check_pvt_gw_connectivity(vm2, public_ip_2, vm1.nic[0].ipaddress) + if restart_with_cleanup: + self.reboot_vpc_with_cleanup(vpc_1, True) + self.reboot_vpc_with_cleanup(vpc_2, True) + + self.check_pvt_gw_connectivity(vm1, public_ip_1, vm2.nic[0].ipaddress) + self.check_pvt_gw_connectivity(vm2, public_ip_2, vm1.nic[0].ipaddress) + def createVPC(self, vpc_offering, cidr = '10.1.1.1/16'): try: self.logger.debug("Creating a VPC network in the account: %s" % self.account.name) @@ -539,3 +558,14 @@ class TestPrivateGwACL(cloudstackTestCase): 1, "Ping to outside world from VM should be successful" ) + + def reboot_vpc_with_cleanup(self, vpc, cleanup = True): + self.logger.debug("Restarting VPC %s with cleanup" % vpc.id) + + # Reboot the router + cmd = restartVPC.restartVPCCmd() + cmd.id = vpc.id + cmd.cleanup = cleanup + cmd.makeredundant = False + self.api_client.restartVPC(cmd) +
