You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/07/19 14:15:49 UTC

[1/4] git commit: updated refs/heads/4.2 to 19bdef0

Updated Branches:
  refs/heads/4.2 a98c0f5b8 -> 19bdef027


CLOUDSTACK-3644: Failed to pass apiclient to public ip delete

Test VPC Release IP assigned to LB rule fails because we don't pass in
the apiclient to it.

Signed-off-by: Prasanna Santhanam <ts...@apache.org>


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

Branch: refs/heads/4.2
Commit: 19bdef027dc3b78d46df6292d3153b65214e4fe6
Parents: 6a5f13a
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Fri Jul 19 17:41:04 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Fri Jul 19 17:45:38 2013 +0530

----------------------------------------------------------------------
 .../component/test_vpc_network_lbrules.py       | 24 ++++++++++----------
 1 file changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/19bdef02/test/integration/component/test_vpc_network_lbrules.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_vpc_network_lbrules.py b/test/integration/component/test_vpc_network_lbrules.py
index 2712dac..ae452c4 100644
--- a/test/integration/component/test_vpc_network_lbrules.py
+++ b/test/integration/component/test_vpc_network_lbrules.py
@@ -586,7 +586,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
     @attr(tags=["advanced", "intervlan"])
     def test_03_VPC_CreateLBRuleInMultipleNetworks(self):
-        """ Test case no 212 : Create LB rules for 1 network which is part of a two/multiple virtual networks of a
+        """ Test Create LB rules for 1 network which is part of a two/multiple virtual networks of a
             VPC using a new Public IP Address available with the VPC when the Virtual Router is in Running State
         """
 
@@ -671,7 +671,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
     @attr(tags=["advanced", "intervlan"])
     def test_06_VPC_CreateAndDeleteLBRuleVRStopppedState(self):
-        """ Test case no 224 : Delete few(not all) LB rules for a single virtual network of 
+        """ Test Delete few(not all) LB rules for a single virtual network of
             a VPC belonging to a single Public IP Address when the Virtual Router is in Stopped State
         """
 
@@ -702,7 +702,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
     @attr(tags=["advanced", "intervlan"])
     def test_07_VPC_CreateAndDeleteAllLBRule(self):
-        """ Test case no 215 : Delete all LB rules for a single virtual network of a
+        """ Test Delete all LB rules for a single virtual network of a
             VPC belonging to a single Public IP Address when the Virtual Router is in Running State
         """
 
@@ -735,7 +735,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
     @attr(tags=["advanced", "intervlan"])
     def test_08_VPC_CreateAndDeleteAllLBRuleVRStoppedState(self):
-        """ Test case no 225 and 226 : Delete all LB rules for a single virtual network of a 
+        """ Test Delete all LB rules for a single virtual network of a
             VPC belonging to a single Public IP Address when the Virtual Router is in Stopped State
         """
 
@@ -768,7 +768,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
     
     @attr(tags=["advanced", "intervlan"])
     def test_09_VPC_LBRuleCreateFailMultipleVPC(self):
-        """ Test case no 234 : User should not be allowed to create a LB rule for a VM that belongs to a different VPC.
+        """ Test User should not be allowed to create a LB rule for a VM that belongs to a different VPC.
         """
 
         # Validate the following
@@ -806,7 +806,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
     @attr(tags=["advanced", "intervlan"])
     def test_10_VPC_FailedToCreateLBRuleNonVPCNetwork(self):
-        """ Test case no 216 and 235: User should not be allowed to create a LB rule for a VM that does not belong to any VPC.
+        """ Test User should not be allowed to create a LB rule for a VM that does not belong to any VPC.
         """
 
         # Validate the following
@@ -881,7 +881,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
     @attr(tags=["advanced", "intervlan"])
     def test_12_VPC_LBRuleCreateFailForRouterIP(self):
-        """ Test case no 218 and 237: User should not be allowed to create a LB rule on an Ipaddress that Source Nat enabled.
+        """ Test User should not be allowed to create a LB rule on an Ipaddress that Source Nat enabled.
         """
 
         # Validate the following
@@ -909,7 +909,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
     @attr(tags=["advanced", "intervlan"])
     def test_13_VPC_LBRuleCreateFailForPFSourceNATIP(self):
-        """ Test case no 219 : User should not be allowed to create a LB rule on an Ipaddress that already has a PF rule.
+        """ Test User should not be allowed to create a LB rule on an Ipaddress that already has a PF rule.
         """
 
         # Validate the following
@@ -939,7 +939,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
 
     @attr(tags=["advanced", "intervlan"])
     def test_14_VPC_LBRuleCreateFailForStaticNatRule(self):
-        """ Test case no 220 : User should not be allowed to create a LB rule on an Ipaddress that already has a Static Nat rule.
+        """ Test User should not be allowed to create a LB rule on an Ipaddress that already has a Static Nat rule.
         """
 
         # Validate the following
@@ -968,8 +968,8 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         return
 
     @attr(tags=["advanced", "intervlan"])
-    def test_15_VPC_RleaseIPForLBRuleCreated(self):
-        """ Test case no 221 : Release Ip address that has a LB rule assigned to it.
+    def test_15_VPC_ReleaseIPForLBRuleCreated(self):
+        """ Test release Ip address that has a LB rule assigned to it.
         """
 
         # Validate the following
@@ -988,7 +988,7 @@ class TestVPCNetworkLBRules(cloudstackTestCase):
         vm_2 = self.create_VM_in_Network(network_1)
         public_ip_1 = self.acquire_Public_IP(network_1)
         lb_rule = self.create_LB_Rule(public_ip_1, network_1, [vm_2, vm_1])
-        public_ip_1.delete()
+        public_ip_1.delete(self.apiclient)
         lb_rules = LoadBalancerRule.list(self.apiclient,
                                         id=lb_rule.id,
                                         listall=True


[4/4] git commit: updated refs/heads/4.2 to 19bdef0

Posted by ts...@apache.org.
CLOUDSTACK-3655: RvR fails with unexpected state

The guestcidr is no longer specified directly. Use the netmask and
gateway combination to create custom cidr network

Signed-off-by: Prasanna Santhanam <ts...@apache.org>


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

Branch: refs/heads/4.2
Commit: 62bf8082f40a641b1899eefefa37512a5285e90e
Parents: a98c0f5
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Fri Jul 19 15:30:24 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Fri Jul 19 17:45:38 2013 +0530

----------------------------------------------------------------------
 test/integration/component/test_redundant_router.py | 11 ++++++-----
 tools/marvin/marvin/integration/lib/base.py         |  4 +---
 2 files changed, 7 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/62bf8082/test/integration/component/test_redundant_router.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_redundant_router.py b/test/integration/component/test_redundant_router.py
index 5f7b1ca..82400f1 100644
--- a/test/integration/component/test_redundant_router.py
+++ b/test/integration/component/test_redundant_router.py
@@ -478,7 +478,7 @@ class TestCreateRvRNetworkNonDefaultGuestCidr(cloudstackTestCase):
         self._cleanup.insert(0, self.account)
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns"])
     def test_createRvRNetwork(self):
         """Test create network with non-default guest cidr with redundant routers
         """
@@ -507,7 +507,8 @@ class TestCreateRvRNetworkNonDefaultGuestCidr(cloudstackTestCase):
                                 domainid=self.account.domainid,
                                 networkofferingid=self.network_offering.id,
                                 zoneid=self.zone.id,
-                                guestcidr=' 192.168.2.0/23'
+                                netmask='255.255.254.0',
+                                gateway='192.168.2.1'
                                 )
         self.debug("Created network with ID: %s" % network.id)
 
@@ -537,7 +538,7 @@ class TestCreateRvRNetworkNonDefaultGuestCidr(cloudstackTestCase):
         self.assertEqual(
                          nw_response.cidr,
                          '192.168.2.0/23',
-                         "Guest cidr should be 192.168.2.0/23"
+                         "Guest cidr should be 192.168.2.0/23 but is %s" % nw_response.cidr
                          )
 
         self.debug("Listing routers for network: %s" % network.name)
@@ -992,7 +993,7 @@ class TestRvRRedundancy(cloudstackTestCase):
 
     @attr(tags=["advanced", "advancedns", "ssh"])
     def test_stopMasterRvR(self):
-        """Test stop MASTER RVR
+        """Test stop master RVR
         """
 
         # Steps to validate
@@ -1116,7 +1117,7 @@ class TestRvRRedundancy(cloudstackTestCase):
 
     @attr(tags=["advanced", "advancedns", "ssh"])
     def test_stopBackupRvR(self):
-        """Test stop BACKUP RVR
+        """Test stop backup RVR
         """
 
         # Steps to validate

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/62bf8082/tools/marvin/marvin/integration/lib/base.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base.py b/tools/marvin/marvin/integration/lib/base.py
index 161d03c..8b35127 100755
--- a/tools/marvin/marvin/integration/lib/base.py
+++ b/tools/marvin/marvin/integration/lib/base.py
@@ -1803,7 +1803,7 @@ class Network:
     def create(cls, apiclient, services, accountid=None, domainid=None,
                networkofferingid=None, projectid=None,
                subdomainaccess=None, zoneid=None,
-               gateway=None, netmask=None, vpcid=None, aclid=None, guestcidr=None):
+               gateway=None, netmask=None, vpcid=None, aclid=None):
         """Create Network for account"""
         cmd = createNetwork.createNetworkCmd()
         cmd.name = services["name"]
@@ -1845,8 +1845,6 @@ class Network:
             cmd.domainid = domainid
         if projectid:
             cmd.projectid = projectid
-        if guestcidr:
-            cmd.guestcidr = guestcidr
         if vpcid:
             cmd.vpcid = vpcid
         if aclid:


[2/4] git commit: updated refs/heads/4.2 to 19bdef0

Posted by ts...@apache.org.
CLOUDSTACK-3655: RvR tests fail when handling switchover

During switchover of master->backup->master, the rvr goes through
UNKNOWN, FAULT, MASTER/BACKUP. In case of improper transition the state
is FAULT. Include additional state check in the tests.


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

Branch: refs/heads/4.2
Commit: ea5d487f50c6c472d5a15d218f52e3a0eaa86aca
Parents: 62bf808
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Fri Jul 19 17:34:26 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Fri Jul 19 17:45:38 2013 +0530

----------------------------------------------------------------------
 .../component/test_redundant_router.py          | 88 +++++++++-----------
 ...test_redundant_router_deployment_planning.py | 14 ++--
 2 files changed, 45 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ea5d487f/test/integration/component/test_redundant_router.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_redundant_router.py b/test/integration/component/test_redundant_router.py
index 82400f1..8414d2f 100644
--- a/test/integration/component/test_redundant_router.py
+++ b/test/integration/component/test_redundant_router.py
@@ -1051,7 +1051,6 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.debug("Listing routers for network: %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=master_router.id,
                               listall=True
                               )
@@ -1060,28 +1059,27 @@ class TestRvRRedundancy(cloudstackTestCase):
                     True,
                     "list router should return Master and backup routers"
                     )
-        self.assertEqual(
-                    routers[0].redundantstate,
-                    'UNKNOWN',
-                    "Redundant state of the router should be UNKNOWN"
-                    )
+        self.assertIn(
+            routers[0].redundantstate,
+            ['UNKNOWN', 'FAULT'],
+            "Redundant state of the master router should be UNKNOWN/FAULT but is %s" % routers[0].redundantstate
+        )
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the backup router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=backup_router.id,
                               listall=True
                               )
         self.assertEqual(
                     isinstance(routers, list),
                     True,
-                    "list router should return Master and backup routers"
+                    "list router should return backup router"
                     )
         self.assertEqual(
                     routers[0].redundantstate,
                     'MASTER',
-                    "Redundant state of the router should be MASTER"
+                    "Redundant state of the router should be MASTER but is %s" % routers[0].redundantstate
                     )
 
         self.debug("Starting the old MASTER router")
@@ -1089,12 +1087,11 @@ class TestRvRRedundancy(cloudstackTestCase):
             Router.start(self.apiclient, id=master_router.id)
             self.debug("old MASTER router started")
         except Exception as e:
-            self.fail("Failed to stop master router: %s" % e)
+            self.fail("Failed to start master router: %s" % e)
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the master router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=master_router.id,
                               listall=True
                               )
@@ -1106,7 +1103,7 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.assertEqual(
                     routers[0].redundantstate,
                     'BACKUP',
-                    "Redundant state of the router should be BACKUP"
+                    "Redundant state of the router should be BACKUP but is %s" % routers[0].redundantstate
                     )
         self.assertEqual(
                          master_router.publicip,
@@ -1171,10 +1168,9 @@ class TestRvRRedundancy(cloudstackTestCase):
         except Exception as e:
             self.fail("Failed to stop backup router: %s" % e)
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the backup router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=backup_router.id,
                               listall=True
                               )
@@ -1183,16 +1179,15 @@ class TestRvRRedundancy(cloudstackTestCase):
                     True,
                     "list router should return Master and backup routers"
                     )
-        self.assertEqual(
-                    routers[0].redundantstate,
-                    'UNKNOWN',
-                    "Redundant state of the router should be UNKNOWN"
-                    )
+        self.assertIn(
+            routers[0].redundantstate,
+            ['UNKNOWN', 'FAULT'],
+            "Redundant state of the backup router should be UNKNOWN/FAULT but is %s" % routers[0].redundantstate
+        )
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the master router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=master_router.id,
                               listall=True
                               )
@@ -1204,7 +1199,7 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.assertEqual(
                     routers[0].redundantstate,
                     'MASTER',
-                    "Redundant state of the router should be MASTER"
+                    "Redundant state of the router should be MASTER but is %s" % routers[0].redundantstate
                     )
 
         self.debug("Starting the old BACKUP router")
@@ -1214,10 +1209,9 @@ class TestRvRRedundancy(cloudstackTestCase):
         except Exception as e:
             self.fail("Failed to stop master router: %s" % e)
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the backup router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=backup_router.id,
                               listall=True
                               )
@@ -1229,7 +1223,7 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.assertEqual(
                     routers[0].redundantstate,
                     'BACKUP',
-                    "Redundant state of the router should be BACKUP"
+                    "Redundant state of the router should be BACKUP but is %s" % routers[0].redundantstate
                     )
         self.assertEqual(
                          backup_router.publicip,
@@ -1288,10 +1282,9 @@ class TestRvRRedundancy(cloudstackTestCase):
         except Exception as e:
             self.fail("Failed to reboot MASTER router: %s" % e)
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the master router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=master_router.id,
                               listall=True
                               )
@@ -1303,13 +1296,12 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.assertEqual(
                     routers[0].redundantstate,
                     'BACKUP',
-                    "Redundant state of the router should be BACKUP"
+                    "Redundant state of the router should be BACKUP but is %s" % routers[0].redundantstate
                     )
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the backup router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=backup_router.id,
                               listall=True
                               )
@@ -1321,7 +1313,7 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.assertEqual(
                     routers[0].redundantstate,
                     'MASTER',
-                    "Redundant state of the router should be MASTER"
+                    "Redundant state of the router should be MASTER but is %s" % routers[0].redundantstate
                     )
         self.assertEqual(
                          master_router.publicip,
@@ -1374,16 +1366,15 @@ class TestRvRRedundancy(cloudstackTestCase):
             master_router = routers[1]
             backup_router = routers[0]
 
-        self.debug("Rebooting the backuo router")
+        self.debug("Rebooting the backup router")
         try:
             Router.reboot(self.apiclient, id=backup_router.id)
         except Exception as e:
             self.fail("Failed to reboot BACKUP router: %s" % e)
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the backup router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=backup_router.id,
                               listall=True
                               )
@@ -1395,13 +1386,12 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.assertEqual(
                     routers[0].redundantstate,
                     'BACKUP',
-                    "Redundant state of the router should be BACKUP"
+                    "Redundant state of the router should be BACKUP but is %s" % routers[0].redundantstate
                     )
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the master router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=master_router.id,
                               listall=True
                               )
@@ -1413,7 +1403,7 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.assertEqual(
                     routers[0].redundantstate,
                     'MASTER',
-                    "Redundant state of the router should be MASTER"
+                    "Redundant state of the router should be MASTER but is %s" % routers[0].redundantstate
                     )
         self.assertEqual(
                          master_router.publicip,
@@ -1472,10 +1462,9 @@ class TestRvRRedundancy(cloudstackTestCase):
         except Exception as e:
             self.fail("Failed to stop BACKUP router: %s" % e)
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the backup router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=backup_router.id,
                               listall=True
                               )
@@ -1484,11 +1473,11 @@ class TestRvRRedundancy(cloudstackTestCase):
                     True,
                     "list router should return Master and backup routers"
                     )
-        self.assertEqual(
-                    routers[0].redundantstate,
-                    'UNKNOWN',
-                    "Redundant state of the router should be UNKNOWN"
-                    )
+        self.assertIn(
+            routers[0].redundantstate,
+            ['UNKNOWN', 'FAULT'],
+            "Redundant state of the backup router should be UNKNOWN/FAULT but is %s" % routers[0].redundantstate
+        )
 
         # Spawn an instance in that network
         vm_2 = VirtualMachine.create(
@@ -1518,10 +1507,9 @@ class TestRvRRedundancy(cloudstackTestCase):
                          "Vm should be in running state after deployment"
                          )
 
-        self.debug("Listing routers for network: %s" % self.network.name)
+        self.debug("Checking state of the backup router in %s" % self.network.name)
         routers = Router.list(
                               self.apiclient,
-                              networkid=self.network.id,
                               id=backup_router.id,
                               listall=True
                               )
@@ -1533,6 +1521,6 @@ class TestRvRRedundancy(cloudstackTestCase):
         self.assertEqual(
                     routers[0].redundantstate,
                     'BACKUP',
-                    "Redundant state of the router should be BACKUP"
+                    "Redundant state of the router should be BACKUP but is %s" % routers[0].redundantstate
                     )
         return

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ea5d487f/test/integration/component/test_redundant_router_deployment_planning.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_redundant_router_deployment_planning.py b/test/integration/component/test_redundant_router_deployment_planning.py
index 5f06794..cd37fa6 100644
--- a/test/integration/component/test_redundant_router_deployment_planning.py
+++ b/test/integration/component/test_redundant_router_deployment_planning.py
@@ -191,9 +191,9 @@ class TestRvRDeploymentPlanning(cloudstackTestCase):
         self._cleanup.insert(0, self.account)
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns"])
     def test_RvR_multipods(self):
-        """Test RvR with muti pods
+        """Test RvR with multi pods
         """
 
         # Steps to validate
@@ -323,9 +323,9 @@ class TestRvRDeploymentPlanning(cloudstackTestCase):
                             )
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns"])
     def test_RvR_multicluster(self):
-        """Test RvR with muti clusters
+        """Test RvR with multi clusters
         """
 
         # Steps to validate
@@ -526,9 +526,9 @@ class TestRvRDeploymentPlanning(cloudstackTestCase):
             self.apiclient.updatePod(cmd)
         return
 
-    @attr(tags=["advanced", "advancedns", "ssh"])
+    @attr(tags=["advanced", "advancedns"])
     def test_RvR_multiprimarystorage(self):
-        """Test RvR with muti primary storage
+        """Test RvR with multi primary storage
         """
 
         # Steps to validate
@@ -770,7 +770,7 @@ class TestRvRDeploymentPlanning(cloudstackTestCase):
 
     @attr(tags=["advanced", "advancedns", "ssh"])
     def test_RvR_multihosts(self):
-        """Test RvR with muti hosts
+        """Test RvR with multi hosts
         """
 
         # Steps to validate


[3/4] git commit: updated refs/heads/4.2 to 19bdef0

Posted by ts...@apache.org.
CLOUDSTACK-3452: Created security group for basic mode to allow SSH to vm

Signed-off-by: Prasanna Santhanam <ts...@apache.org>


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

Branch: refs/heads/4.2
Commit: 6a5f13adecf7c073be55ac3d2e11883e148a04e2
Parents: ea5d487
Author: Gaurav Aradhye <ga...@clogeny.com>
Authored: Thu Jul 18 22:48:57 2013 -0400
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Fri Jul 19 17:45:38 2013 +0530

----------------------------------------------------------------------
 tools/marvin/marvin/integration/lib/base.py | 35 ++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6a5f13ad/tools/marvin/marvin/integration/lib/base.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base.py b/tools/marvin/marvin/integration/lib/base.py
index 8b35127..13507bc 100755
--- a/tools/marvin/marvin/integration/lib/base.py
+++ b/tools/marvin/marvin/integration/lib/base.py
@@ -293,6 +293,41 @@ class VirtualMachine:
         if securitygroupids:
             cmd.securitygroupids = [str(sg_id) for sg_id in securitygroupids]
 
+        if mode.lower() == 'basic':
+            list_security_groups = SecurityGroup.list(
+                                                      apiclient,
+                                                      securitygroupname="basic_sec_grp"
+                                                      )
+
+            if not isinstance(list_security_groups, list):
+                basic_mode_security_group = SecurityGroup.create(
+                                                            apiclient,
+                                                            {"name":"basic_sec_grp"}
+                                                            )
+                sec_grp_services = {"protocol": "TCP",
+                                    "startport": 22,
+                                    "endport":22,
+                                    "cidrlist": "0.0.0.0/0"
+                                   }
+
+                #Authorize security group for above ingress rule
+                cmd_auth = authorizeSecurityGroupIngress.authorizeSecurityGroupIngressCmd()
+                cmd_auth.domainid = cmd.domainid
+                cmd_auth.account = cmd.account
+                cmd_auth.securitygroupid = basic_mode_security_group.id
+                cmd_auth.protocol = sec_grp_services["protocol"]
+                cmd_auth.startport = sec_grp_services["startport"]
+                cmd_auth.endport = sec_grp_services["endport"]
+                cmd_auth.cidrlist = sec_grp_services["cidrlist"]
+                apiclient.authorizeSecurityGroupIngress(cmd_auth)
+
+            else:
+                basic_mode_security_group = list_security_groups[0]
+
+            if isinstance(cmd.securitygroupids, list):
+                cmd.securitygroupids.append(basic_mode_security_group.id)
+            else:
+                cmd.securitygroupids = [basic_mode_security_group.id]
 
         if "affinitygroupnames" in services:
             cmd.affinitygroupnames  = services["affinitygroupnames"]