You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2016/10/21 04:48:31 UTC
[05/19] git commit: updated refs/heads/master to ccd1734
CLOUDSTACK-9511: fix test_privategw_acl.py to handle multiple physical networks
modified script to handle case where there can be multple physical networks
in the zone
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/fcdc2cc5
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fcdc2cc5
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fcdc2cc5
Branch: refs/heads/master
Commit: fcdc2cc52979e74c6a67c765251c429bf354e90f
Parents: 9eb8b2e
Author: Murali Reddy <mu...@gmail.com>
Authored: Thu Sep 29 22:41:34 2016 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Wed Oct 5 15:11:00 2016 +0530
----------------------------------------------------------------------
test/integration/smoke/test_privategw_acl.py | 62 +++++++++++++++--------
1 file changed, 41 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fcdc2cc5/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 d2e08f5..3b9e0a7 100644
--- a/test/integration/smoke/test_privategw_acl.py
+++ b/test/integration/smoke/test_privategw_acl.py
@@ -195,8 +195,9 @@ class TestPrivateGwACL(cloudstackTestCase):
def setUp(self):
self.apiclient = self.testClient.getApiClient()
+ self.dbclient = self.testClient.getDbConnection()
self.hypervisor = self.testClient.getHypervisorInfo()
-
+
self.logger.debug("Creating Admin Account for Domain ID ==> %s" % self.domain.id)
self.account = Account.create(
self.apiclient,
@@ -236,12 +237,16 @@ class TestPrivateGwACL(cloudstackTestCase):
self.cleanup = [vpc, vpc_off, self.account]
- physical_networks = get_physical_networks(self.apiclient, self.zone.id)
- if not physical_networks:
+ physical_network = self.get_guest_traffic_physical_network(self.apiclient, self.zone.id)
+ if not physical_network:
self.fail("No Physical Networks found!")
- vlans = physical_networks[0].vlan.split('-')
- vlan_1 = int(vlans[0])
+ qresultset = self.dbclient.execute(
+ "select vnet from op_dc_vnet_alloc where physical_network_id=\
+ (select id from physical_network where uuid='%s' ) and taken is NULL;" % physical_network.id
+ )
+ vlans = qresultset
+ vlan_1 = int(vlans[0][0])
acl = self.createACL(vpc)
self.createACLItem(acl.id)
@@ -304,12 +309,16 @@ class TestPrivateGwACL(cloudstackTestCase):
self.cleanup = [vpc_1, vpc_2, vpc_off, self.account]
- physical_networks = get_physical_networks(self.apiclient, self.zone.id)
- if not physical_networks:
+ physical_network = self.get_guest_traffic_physical_network(self.apiclient, self.zone.id)
+ if not physical_network:
self.fail("No Physical Networks found!")
- vlans = physical_networks[0].vlan.split('-')
- vlan_1 = int(vlans[0])
+ qresultset = self.dbclient.execute(
+ "select vnet from op_dc_vnet_alloc where physical_network_id=\
+ (select id from physical_network where uuid='%s' ) and taken is NULL and reservation_id is NULL and account_id is NULL ORDER BY id DESC;" % physical_network.id
+ )
+ vlans = qresultset
+ vlan_1 = int(vlans[0][0])
network_1 = self.createNetwork(vpc_1, gateway = '10.0.1.1')
network_2 = self.createNetwork(vpc_2, gateway = '10.0.2.1')
@@ -356,12 +365,15 @@ class TestPrivateGwACL(cloudstackTestCase):
self.cleanup = [vpc_1, vpc_off, self.account]
- physical_networks = get_physical_networks(self.apiclient, self.zone.id)
- if not physical_networks:
+ physical_network = self.get_guest_traffic_physical_network(self.apiclient, self.zone.id)
+ if not physical_network:
self.fail("No Physical Networks found!")
-
- vlans = physical_networks[0].vlan.split('-')
- vlan_1 = int(vlans[0])
+ qresultset = self.dbclient.execute(
+ "select vnet from op_dc_vnet_alloc where physical_network_id=\
+ (select id from physical_network where uuid='%s' ) and taken is NULL;" % physical_network.id
+ )
+ vlans = qresultset
+ vlan_1 = int(vlans[0][0])
net_offering_no_lb = "network_offering_no_lb"
@@ -392,7 +404,7 @@ class TestPrivateGwACL(cloudstackTestCase):
public_ip_1 = self.acquire_publicip(vpc_1, network_1)
nat_rule_1 = self.create_natrule(vpc_1, vm1, public_ip_1, network_1)
-
+
self.check_private_gateway_interfaces()
self.check_pvt_gw_connectivity(vm1, public_ip_1, [vm2.nic[0].ipaddress, vm3.nic[0].ipaddress, vm4.nic[0].ipaddress])
@@ -573,14 +585,14 @@ class TestPrivateGwACL(cloudstackTestCase):
return obj_network
def createPvtGw(self, vpc, ip_address, gateway, aclId, vlan):
- physical_networks = get_physical_networks(self.apiclient, self.zone.id)
- if not physical_networks:
+ physical_network = self.get_guest_traffic_physical_network(self.apiclient, self.zone.id)
+ if not physical_network:
self.fail("No Physical Networks found!")
- self.logger.debug('::: Physical Networks ::: ==> %s' % physical_networks)
+ self.logger.debug('::: Physical Networks ::: ==> %s' % physical_network)
createPrivateGatewayCmd = createPrivateGateway.createPrivateGatewayCmd()
- createPrivateGatewayCmd.physicalnetworkid = physical_networks[0].id
+ createPrivateGatewayCmd.physicalnetworkid = physical_network.id
createPrivateGatewayCmd.gateway = gateway
createPrivateGatewayCmd.netmask = "255.255.255.0"
createPrivateGatewayCmd.ipaddress = ip_address
@@ -691,13 +703,13 @@ class TestPrivateGwACL(cloudstackTestCase):
self.logger.debug("Ping to VM inside another Network Tier")
result = str(ssh.execute(ssh_command))
- self.logger.debug("SSH result: %s; COUNT is ==> %s" % (result, result.count("3 packets received")))
+ self.logger.debug("SSH result: %s; COUNT is ==> %s" % (result, result.count("3 received")))
except Exception as e:
self.fail("SSH Access failed for %s: %s" % \
(virtual_machine, e)
)
- succeeded_pings += result.count("3 packets received")
+ succeeded_pings += result.count("3 received")
self.assertTrue(succeeded_pings >= minimum_vms_to_pass,
@@ -831,3 +843,11 @@ class TestPrivateGwACL(cloudstackTestCase):
if cnts[vals.index(status_to_check)] != expected_count:
self.fail("Expected '%s' routers at state '%s', but found '%s'!" % (expected_count, status_to_check, cnts[vals.index(status_to_check)]))
+
+ def get_guest_traffic_physical_network(self, apiclient, zoneid):
+ physical_networks = get_physical_networks(apiclient, zoneid)
+ if not physical_networks:
+ return None
+ for physical_network in physical_networks:
+ if physical_network.vlan:
+ return physical_network