You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ya...@apache.org on 2013/07/31 01:52:36 UTC

git commit: updated refs/heads/4.2 to 32d076e

Updated Branches:
  refs/heads/4.2 a310815aa -> 32d076ebc


CLOUDSTACK-3826: Automation: Fix test_vpc_routers

1. You cannot check routers after your destroy them
2. You cannot use the old value in checking migration status.
3. You cannot upgrade VR to a non-system offering.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/32d076eb
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/32d076eb
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/32d076eb

Branch: refs/heads/4.2
Commit: 32d076ebcc2c16d1fea6ea4a4796ea0e688a8299
Parents: a310815
Author: Sheng Yang <sh...@citrix.com>
Authored: Tue Jul 30 16:25:39 2013 -0700
Committer: Sheng Yang <sh...@citrix.com>
Committed: Tue Jul 30 16:52:29 2013 -0700

----------------------------------------------------------------------
 test/integration/component/test_vpc_routers.py | 195 ++++++++++----------
 1 file changed, 99 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/32d076eb/test/integration/component/test_vpc_routers.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_routers.py b/test/integration/component/test_vpc_routers.py
index 43116b0..be141fc 100644
--- a/test/integration/component/test_vpc_routers.py
+++ b/test/integration/component/test_vpc_routers.py
@@ -57,6 +57,7 @@ class Services:
                                     "cpunumber": 1,
                                     "cpuspeed": 100,
                                     "memory": 256,
+                                    "issystem": 'true',
                                     },
 
                          "network_offering": {
@@ -338,8 +339,9 @@ class TestVPCRoutersBasic(cloudstackTestCase):
                             "Check list response returns a valid list"
                         )
         
+        router.hostid = router_response[0].hostid
         self.assertEqual(router.hostid, host.id, "Migration to host %s failed. The router host is"
-                         "still %s" % (host.id, router.hostid))
+                         " still %s" % (host.id, router.hostid))
         return
 
     @attr(tags=["advanced", "intervlan"])
@@ -470,45 +472,7 @@ class TestVPCRoutersBasic(cloudstackTestCase):
 
 
     @attr(tags=["advanced", "intervlan"])
-    def test_03_destroy_router_after_creating_vpc(self):
-        """ Test to destroy the router after creating a VPC
-	    """
-        # Validate the following
-	    # 1. Create a VPC with cidr - 10.1.1.1/16
-	    # 2. Destroy the VPC Virtual Router which is created as a result of VPC creation.
-        self.validate_vpc_offering(self.vpc_off)
-        self.validate_vpc_network(self.vpc)
-        routers = Router.list(
-                              self.apiclient,
-                              account=self.account.name,
-                              domainid=self.account.domainid,
-                              listall=True
-                              )
-        self.assertEqual(
-                         isinstance(routers, list),
-                         True,
-                         "List Routers should return a valid list"
-                         )
-     
-        Router.destroy( self.apiclient,
-		        id=routers[0].id
-		      )
-		
-        routers = Router.list(
-                              self.apiclient,
-                              account=self.account.name,
-                              domainid=self.account.domainid,
-                              listall=True
-                              )
-        self.assertEqual(
-                         isinstance(routers, list),
-                         False,
-                         "List Routers should be empty"
-                         )
-        return
-
-    @attr(tags=["advanced", "intervlan"])
-    def test_04_migrate_router_after_creating_vpc(self):
+    def test_03_migrate_router_after_creating_vpc(self):
         """ Test migration of router to another host after creating VPC """
 
         self.validate_vpc_offering(self.vpc_off)
@@ -529,7 +493,7 @@ class TestVPCRoutersBasic(cloudstackTestCase):
         return
 
     @attr(tags=["advanced", "intervlan"])
-    def test_05_change_service_offerring_vpc(self):
+    def test_04_change_service_offerring_vpc(self):
         """ Tests to change service offering of the Router after
             creating a vpc
         """
@@ -589,6 +553,44 @@ class TestVPCRoutersBasic(cloudstackTestCase):
                         ) 
         return
 
+    @attr(tags=["advanced", "intervlan"])
+    def test_05_destroy_router_after_creating_vpc(self):
+        """ Test to destroy the router after creating a VPC
+	    """
+        # Validate the following
+	    # 1. Create a VPC with cidr - 10.1.1.1/16
+	    # 2. Destroy the VPC Virtual Router which is created as a result of VPC creation.
+        self.validate_vpc_offering(self.vpc_off)
+        self.validate_vpc_network(self.vpc)
+        routers = Router.list(
+                              self.apiclient,
+                              account=self.account.name,
+                              domainid=self.account.domainid,
+                              listall=True
+                              )
+        self.assertEqual(
+                         isinstance(routers, list),
+                         True,
+                         "List Routers should return a valid list"
+                         )
+     
+        Router.destroy( self.apiclient,
+		        id=routers[0].id
+		      )
+		
+        routers = Router.list(
+                              self.apiclient,
+                              account=self.account.name,
+                              domainid=self.account.domainid,
+                              listall=True
+                              )
+        self.assertEqual(
+                         isinstance(routers, list),
+                         False,
+                         "List Routers should be empty"
+                         )
+        return
+
 class TestVPCRouterOneNetwork(cloudstackTestCase):
 
     @classmethod
@@ -981,6 +983,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                             "Check list response returns a valid list"
                         )
         
+        router.hostid = router_response[0].hostid
         self.assertEqual(router.hostid, host.id, "Migration to host %s failed. The router host is"
                          "still %s" % (host.id, router.hostid))
         return
@@ -1149,9 +1152,9 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
         return
 
     @attr(tags=["advanced", "intervlan"])
-    def test_03_destroy_router_after_addition_of_one_guest_network(self):
-        """ Test destroy of router after addition of one guest network
-        """
+    def test_03_migrate_router_after_addition_of_one_guest_network(self):
+        """ Test migrate of router after addition of one guest network
+	    """
         # Validations
 	    #1. Create a VPC with cidr - 10.1.1.1/16
         #2. Add network1(10.1.1.1/24) to this VPC. 
@@ -1177,7 +1180,6 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                         True,
                         "List static route should return a valid response"
                         )
-
         routers = Router.list(
                               self.apiclient,
                               account=self.account.name,
@@ -1189,27 +1191,12 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                          True,
                          "List Routers should return a valid list"
                          )
-     
-        Router.destroy( self.apiclient,
-		        id=routers[0].id
-		      )
-		
-        routers = Router.list(
-                              self.apiclient,
-                              account=self.account.name,
-                              domainid=self.account.domainid,
-                              listall=True
-                              )
-        self.assertEqual(
-                         isinstance(routers, list),
-                         False,
-                         "List Routers should be empty"
-                         )
+        self.migrate_router(routers[0])
         return
 
     @attr(tags=["advanced", "intervlan"])
-    def test_04_migrate_router_after_addition_of_one_guest_network(self):
-        """ Test migrate of router after addition of one guest network
+    def test_04_chg_srv_off_router_after_addition_of_one_guest_network(self):
+        """ Test to change service offering of router after addition of one guest network
 	    """
         # Validations
 	    #1. Create a VPC with cidr - 10.1.1.1/16
@@ -1236,6 +1223,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                         True,
                         "List static route should return a valid response"
                         )
+ 
         routers = Router.list(
                               self.apiclient,
                               account=self.account.name,
@@ -1247,13 +1235,47 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                          True,
                          "List Routers should return a valid list"
                          )
-        self.migrate_router(routers[0])
+        
+        #Stop the router
+        router = routers[0]
+        self.debug("Stopping the router with ID: %s" % router.id)
+        cmd = stopRouter.stopRouterCmd()
+        cmd.id = router.id
+        self.apiclient.stopRouter(cmd)
+
+        service_offering = ServiceOffering.create(
+                                                  self.apiclient,
+                                                  self.services["service_offering_new"]
+                                                 )
+        self.debug("Changing service offering for the Router %s" % router.id)
+        try: 
+            router = Router.change_service_offering(self.apiclient,
+				                           router.id,
+				                           service_offering.id
+				                          )
+        except:
+            self.fail("Changing service offering failed")
+ 
+        self.debug("Router %s" % router)  
+        routers = Router.list(
+                              self.apiclient,
+                              account=self.account.name,
+                              domainid=self.account.domainid,
+                              listall=True
+                              )
+        router = routers[0]
+        self.assertEqual(
+                         router.serviceofferingid,
+                         service_offering.id,
+                         "Changing service offering failed as id is %s and expected"
+                         "is %s" % (router.serviceofferingid, service_offering.id)
+                        ) 
         return
 
     @attr(tags=["advanced", "intervlan"])
-    def test_05_chg_srv_off_router_after_addition_of_one_guest_network(self):
-        """ Test to change service offering of router after addition of one guest network
-	    """
+    def test_05_destroy_router_after_addition_of_one_guest_network(self):
+        """ Test destroy of router after addition of one guest network
+        """
         # Validations
 	    #1. Create a VPC with cidr - 10.1.1.1/16
         #2. Add network1(10.1.1.1/24) to this VPC. 
@@ -1279,7 +1301,7 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                         True,
                         "List static route should return a valid response"
                         )
- 
+
         routers = Router.list(
                               self.apiclient,
                               account=self.account.name,
@@ -1291,39 +1313,20 @@ class TestVPCRouterOneNetwork(cloudstackTestCase):
                          True,
                          "List Routers should return a valid list"
                          )
-        
-        #Stop the router
-        router = routers[0]
-        self.debug("Stopping the router with ID: %s" % router.id)
-        cmd = stopRouter.stopRouterCmd()
-        cmd.id = router.id
-        self.apiclient.stopRouter(cmd)
-
-        service_offering = ServiceOffering.create(
-                                                  self.apiclient,
-                                                  self.services["service_offering_new"]
-                                                 )
-        self.debug("Changing service offering for the Router %s" % router.id)
-        try: 
-            router = Router.change_service_offering(self.apiclient,
-				                           router.id,
-				                           service_offering.id
-				                          )
-        except:
-            self.fail("Changing service offering failed")
- 
-        self.debug("Router %s" % router)  
+     
+        Router.destroy( self.apiclient,
+		        id=routers[0].id
+		      )
+		
         routers = Router.list(
                               self.apiclient,
                               account=self.account.name,
                               domainid=self.account.domainid,
                               listall=True
                               )
-        router = routers[0]
         self.assertEqual(
-                         router.serviceofferingid,
-                         service_offering.id,
-                         "Changing service offering failed as id is %s and expected"
-                         "is %s" % (router.serviceofferingid, service_offering.id)
-                        ) 
+                         isinstance(routers, list),
+                         False,
+                         "List Routers should be empty"
+                         )
         return