trunk tests issue fixing
Change-Id: Id0395db4b9e9d307acc736326fca84ba35d2e711
This commit is contained in:
parent
dc923060ef
commit
226664ee4b
@ -283,6 +283,6 @@ TrunkGroup = [
|
|||||||
default='ubuntu',
|
default='ubuntu',
|
||||||
help="image for trunk"),
|
help="image for trunk"),
|
||||||
cfg.StrOpt('flavor_id',
|
cfg.StrOpt('flavor_id',
|
||||||
default='m3.small',
|
default='m1.small',
|
||||||
help="flavor for trunk"),
|
help="flavor for trunk"),
|
||||||
]
|
]
|
||||||
|
@ -47,6 +47,7 @@ class BaseTrunkClient(base.BaseNetworkClient):
|
|||||||
class TrunkClient(BaseTrunkClient):
|
class TrunkClient(BaseTrunkClient):
|
||||||
create_trunk_path = '/trunks'
|
create_trunk_path = '/trunks'
|
||||||
add_sub_port = '/trunks/%s/add_subports'
|
add_sub_port = '/trunks/%s/add_subports'
|
||||||
|
remove_sub_port = '/trunks/%s/remove_subports'
|
||||||
|
|
||||||
def create_trunk(self, **kwargs):
|
def create_trunk(self, **kwargs):
|
||||||
"""Create a trunk parent port.
|
"""Create a trunk parent port.
|
||||||
@ -61,6 +62,12 @@ class TrunkClient(BaseTrunkClient):
|
|||||||
response_data = self.update_resource(self.url, post_data)
|
response_data = self.update_resource(self.url, post_data)
|
||||||
return response_data
|
return response_data
|
||||||
|
|
||||||
|
def remove_subport(self, trunkportid, **kwargs):
|
||||||
|
post_data = kwargs
|
||||||
|
self.url = self.remove_sub_port % trunkportid
|
||||||
|
response_data = self.update_resource(self.url, post_data)
|
||||||
|
return response_data
|
||||||
|
|
||||||
|
|
||||||
def get_client(client_mgr,
|
def get_client(client_mgr,
|
||||||
set_property=False, with_name="trunk_client"):
|
set_property=False, with_name="trunk_client"):
|
||||||
|
@ -81,6 +81,10 @@ class TestTrunkService(feature_manager.FeatureManager):
|
|||||||
def add_subports(cls, trunkportid, **kwargs):
|
def add_subports(cls, trunkportid, **kwargs):
|
||||||
return cls.trunk_client.add_subport(trunkportid, **kwargs)
|
return cls.trunk_client.add_subport(trunkportid, **kwargs)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def remove_subport(cls, trunkportid, **kwargs):
|
||||||
|
return cls.trunk_client.remove_subport(trunkportid, **kwargs)
|
||||||
|
|
||||||
def create_trunk_parent_port(self, provider, project_id,
|
def create_trunk_parent_port(self, provider, project_id,
|
||||||
parent_port, trunkportname):
|
parent_port, trunkportname):
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
@ -113,13 +117,13 @@ class TestTrunkService(feature_manager.FeatureManager):
|
|||||||
delete_child_port = self.remove_subport(trunkportid, **kwargs)
|
delete_child_port = self.remove_subport(trunkportid, **kwargs)
|
||||||
return delete_child_port
|
return delete_child_port
|
||||||
|
|
||||||
def _assign_ip_address(self, ssh_source, interface_name, ip_address):
|
def _assign_ip_address(self, ssh_src1, interface_name, ip_address):
|
||||||
int_face = interface_name.split('.')[0]
|
int_face = interface_name.split('.')[0]
|
||||||
vlan_id = interface_name.split('.')[1]
|
vlan_id = interface_name.split('.')[1]
|
||||||
ssh_source.exec_command("sudo ip link add link %s name %s type vlan\
|
ssh_src1.exec_command("sudo ip link add link %s name %s type vlan\
|
||||||
id %s" % (int_face, interface_name, vlan_id))
|
id %s" % (int_face, interface_name, vlan_id))
|
||||||
|
|
||||||
ssh_source.exec_command("sudo ifconfig %s %s/24 \
|
ssh_src1.exec_command("sudo ifconfig %s %s/24 \
|
||||||
up" % (interface_name, ip_address))
|
up" % (interface_name, ip_address))
|
||||||
|
|
||||||
def create_trunk_network_topo(self,
|
def create_trunk_network_topo(self,
|
||||||
@ -275,32 +279,30 @@ class TestTrunkService(feature_manager.FeatureManager):
|
|||||||
keypair=keypair,
|
keypair=keypair,
|
||||||
flavor=flavor_name)
|
flavor=flavor_name)
|
||||||
ip_address = server1['floating_ips'][0]['floating_ip_address']
|
ip_address = server1['floating_ips'][0]['floating_ip_address']
|
||||||
ssh_source = self._get_remote_client(ip_address, username='ubuntu',
|
ssh_src1 = self._get_remote_client(ip_address, username='ubuntu',
|
||||||
use_password=False,
|
use_password=False,
|
||||||
private_key=keypair['private_key']
|
private_key=keypair['private_key'])
|
||||||
)
|
|
||||||
remote_ip = parent2_port['port']['dns_assignment'][0]['ip_address']
|
remote_ip = parent2_port['port']['dns_assignment'][0]['ip_address']
|
||||||
# Verify connectivity between vms
|
# Verify connectivity between vms
|
||||||
self._assign_ip_address(ssh_source, 'eth0.101', child1_ip_vm1)
|
self._assign_ip_address(ssh_src1, 'eth0.101', child1_ip_vm1)
|
||||||
self._assign_ip_address(ssh_source, 'eth0.102', child2_ip_vm1)
|
self._assign_ip_address(ssh_src1, 'eth0.102', child2_ip_vm1)
|
||||||
ip_address = server2['floating_ips'][0]['floating_ip_address']
|
ip_address = server2['floating_ips'][0]['floating_ip_address']
|
||||||
ssh_sourc2 = self._get_remote_client(ip_address, username='ubuntu',
|
ssh_src2 = self._get_remote_client(ip_address, username='ubuntu',
|
||||||
use_password=False,
|
use_password=False,
|
||||||
private_key=keypair['private_key']
|
private_key=keypair['private_key'])
|
||||||
)
|
|
||||||
# Verify connectivity between vms
|
# Verify connectivity between vms
|
||||||
self._assign_ip_address(ssh_sourc2, 'eth0.102', child1_ip_vm2)
|
self._assign_ip_address(ssh_src2, 'eth0.101', child1_ip_vm2)
|
||||||
self._assign_ip_address(ssh_sourc2, 'eth0.102', child2_ip_vm2)
|
self._assign_ip_address(ssh_src2, 'eth0.102', child2_ip_vm2)
|
||||||
self.check_remote_connectivity(ssh_source, remote_ip,
|
self.check_remote_connectivity(ssh_src1, remote_ip,
|
||||||
should_succeed=True)
|
should_succeed=True)
|
||||||
self.check_remote_connectivity(ssh_source, child2_ip_vm2,
|
self.check_remote_connectivity(ssh_src1, child2_ip_vm2,
|
||||||
should_succeed=True)
|
should_succeed=True)
|
||||||
# Remove subport & check connectivity should fail #
|
# Remove subport & check connectivity should fail #
|
||||||
child2_trunk_p2 = self.remove_subport(provider=True,
|
child2_trunk_p2 = self.remove_subports(provider=True,
|
||||||
project_id=project_id,
|
project_id=project_id,
|
||||||
child_port=child2_id,
|
child_port=child2_id,
|
||||||
trunkportid=trunk_parent2)
|
trunkportid=trunk_parent2)
|
||||||
self.check_remote_connectivity(ssh_source, child2_ip_vm2,
|
self.check_remote_connectivity(ssh_src1, child2_ip_vm2,
|
||||||
should_succeed=False)
|
should_succeed=False)
|
||||||
child2_trunk_p2 = self.add_subport_to_parent(provider=True,
|
child2_trunk_p2 = self.add_subport_to_parent(provider=True,
|
||||||
vlan_id=102,
|
vlan_id=102,
|
||||||
@ -309,14 +311,11 @@ class TestTrunkService(feature_manager.FeatureManager):
|
|||||||
childportname='ch22_p2',
|
childportname='ch22_p2',
|
||||||
trunkportid=trunk_parent2)
|
trunkportid=trunk_parent2)
|
||||||
ip_address = server2['floating_ips'][0]['floating_ip_address']
|
ip_address = server2['floating_ips'][0]['floating_ip_address']
|
||||||
ssh_sourc2 = self._get_remote_client(ip_address, username='ubuntu',
|
ssh_src2 = self._get_remote_client(ip_address, username='ubuntu',
|
||||||
use_password=False,
|
use_password=False,
|
||||||
private_key=keypair['private_key']
|
private_key=keypair['private_key'])
|
||||||
)
|
|
||||||
# Verify connectivity between vms
|
# Verify connectivity between vms
|
||||||
self._assign_ip_address(ssh_sourc2, 'eth0.102', child1_ip_vm2)
|
self.check_remote_connectivity(ssh_src1, child2_ip_vm2,
|
||||||
self._assign_ip_address(ssh_sourc2, 'eth0.102', child2_ip_vm2)
|
|
||||||
self.check_remote_connectivity(ssh_source, child2_ip_vm2,
|
|
||||||
should_succeed=True)
|
should_succeed=True)
|
||||||
|
|
||||||
def _test_trunk_instance_destroy_deploy(self, topology):
|
def _test_trunk_instance_destroy_deploy(self, topology):
|
||||||
@ -398,25 +397,23 @@ class TestTrunkService(feature_manager.FeatureManager):
|
|||||||
keypair=keypair,
|
keypair=keypair,
|
||||||
flavor=flavor_name)
|
flavor=flavor_name)
|
||||||
ip_address = server1['floating_ips'][0]['floating_ip_address']
|
ip_address = server1['floating_ips'][0]['floating_ip_address']
|
||||||
ssh_source = self._get_remote_client(ip_address, username='ubuntu',
|
ssh_src1 = self._get_remote_client(ip_address, username='ubuntu',
|
||||||
use_password=False,
|
use_password=False,
|
||||||
private_key=keypair['private_key']
|
private_key=keypair['private_key'])
|
||||||
)
|
|
||||||
remote_ip = parent2_port['port']['dns_assignment'][0]['ip_address']
|
remote_ip = parent2_port['port']['dns_assignment'][0]['ip_address']
|
||||||
# Verify connectivity between vms
|
# Verify connectivity between vms
|
||||||
self._assign_ip_address(ssh_source, 'eth0.101', child1_ip_vm1)
|
self._assign_ip_address(ssh_src1, 'eth0.101', child1_ip_vm1)
|
||||||
self._assign_ip_address(ssh_source, 'eth0.102', child2_ip_vm1)
|
self._assign_ip_address(ssh_src1, 'eth0.102', child2_ip_vm1)
|
||||||
ip_address = server2['floating_ips'][0]['floating_ip_address']
|
ip_address = server2['floating_ips'][0]['floating_ip_address']
|
||||||
ssh_sourc2 = self._get_remote_client(ip_address, username='ubuntu',
|
ssh_src2 = self._get_remote_client(ip_address, username='ubuntu',
|
||||||
use_password=False,
|
use_password=False,
|
||||||
private_key=keypair['private_key']
|
private_key=keypair['private_key'])
|
||||||
)
|
self._assign_ip_address(ssh_src2, 'eth0.101', child1_ip_vm2)
|
||||||
self._assign_ip_address(ssh_sourc2, 'eth0.102', child1_ip_vm2)
|
self._assign_ip_address(ssh_src2, 'eth0.102', child2_ip_vm2)
|
||||||
self._assign_ip_address(ssh_sourc2, 'eth0.102', child2_ip_vm2)
|
self.check_remote_connectivity(ssh_src1, remote_ip,
|
||||||
self.check_remote_connectivity(ssh_source, remote_ip,
|
|
||||||
should_succeed=True)
|
should_succeed=True)
|
||||||
self.os_admin.servers_client.delete_server(server2['id'])
|
self.os_admin.servers_client.delete_server(server2['id'])
|
||||||
self.check_remote_connectivity(ssh_source, remote_ip,
|
self.check_remote_connectivity(ssh_src1, remote_ip,
|
||||||
should_succeed=False)
|
should_succeed=False)
|
||||||
time.sleep(constants.NSX_BACKEND_SMALL_TIME_INTERVAL)
|
time.sleep(constants.NSX_BACKEND_SMALL_TIME_INTERVAL)
|
||||||
server2 = self.create_topology_instance(server_name2_default,
|
server2 = self.create_topology_instance(server_name2_default,
|
||||||
@ -424,8 +421,10 @@ class TestTrunkService(feature_manager.FeatureManager):
|
|||||||
image_id=image_id,
|
image_id=image_id,
|
||||||
port=parent2_port['port'],
|
port=parent2_port['port'],
|
||||||
security_groups=[sg_name_dict],
|
security_groups=[sg_name_dict],
|
||||||
clients=self.cmgr_adm)
|
clients=self.cmgr_adm,
|
||||||
self.check_remote_connectivity(ssh_source, remote_ip,
|
keypair=keypair,
|
||||||
|
flavor=flavor_name)
|
||||||
|
self.check_remote_connectivity(ssh_src1, remote_ip,
|
||||||
should_succeed=True)
|
should_succeed=True)
|
||||||
|
|
||||||
def _test_trunk_between_two_vms(self, topology):
|
def _test_trunk_between_two_vms(self, topology):
|
||||||
@ -505,29 +504,27 @@ class TestTrunkService(feature_manager.FeatureManager):
|
|||||||
keypair=keypair,
|
keypair=keypair,
|
||||||
flavor=flavor_name)
|
flavor=flavor_name)
|
||||||
ip_address = server1['floating_ips'][0]['floating_ip_address']
|
ip_address = server1['floating_ips'][0]['floating_ip_address']
|
||||||
ssh_source = self._get_remote_client(ip_address, username='ubuntu',
|
ssh_src1 = self._get_remote_client(ip_address, username='ubuntu',
|
||||||
use_password=False,
|
use_password=False,
|
||||||
private_key=keypair['private_key']
|
private_key=keypair['private_key'])
|
||||||
)
|
|
||||||
remote_ip = parent2_port['port']['dns_assignment'][0]['ip_address']
|
remote_ip = parent2_port['port']['dns_assignment'][0]['ip_address']
|
||||||
# Verify connectivity between vms
|
# Verify connectivity between vms
|
||||||
self._assign_ip_address(ssh_source, 'eth0.101', child1_ip_vm1)
|
self._assign_ip_address(ssh_src1, 'eth0.101', child1_ip_vm1)
|
||||||
self._assign_ip_address(ssh_source, 'eth0.102', child2_ip_vm1)
|
self._assign_ip_address(ssh_src1, 'eth0.102', child2_ip_vm1)
|
||||||
ip_address = server2['floating_ips'][0]['floating_ip_address']
|
ip_address = server2['floating_ips'][0]['floating_ip_address']
|
||||||
ssh_sourc2 = self._get_remote_client(ip_address, username='ubuntu',
|
ssh_src2 = self._get_remote_client(ip_address, username='ubuntu',
|
||||||
use_password=False,
|
use_password=False,
|
||||||
private_key=keypair['private_key']
|
private_key=keypair['private_key'])
|
||||||
)
|
|
||||||
# Verify connectivity between vms
|
# Verify connectivity between vms
|
||||||
child1_ip_vm2 = child1_p2['port']['fixed_ips'][0]['ip_address']
|
child1_ip_vm2 = child1_p2['port']['fixed_ips'][0]['ip_address']
|
||||||
child2_ip_vm2 = child2_p2['port']['fixed_ips'][0]['ip_address']
|
child2_ip_vm2 = child2_p2['port']['fixed_ips'][0]['ip_address']
|
||||||
self._assign_ip_address(ssh_sourc2, 'eth0.101', child1_ip_vm2)
|
self._assign_ip_address(ssh_src2, 'eth0.101', child1_ip_vm2)
|
||||||
self._assign_ip_address(ssh_sourc2, 'eth0.102', child2_ip_vm2)
|
self._assign_ip_address(ssh_src2, 'eth0.102', child2_ip_vm2)
|
||||||
self.check_remote_connectivity(ssh_source, remote_ip,
|
self.check_remote_connectivity(ssh_src1, remote_ip,
|
||||||
should_succeed=True)
|
should_succeed=True)
|
||||||
self.check_remote_connectivity(ssh_source, child1_ip_vm2,
|
self.check_remote_connectivity(ssh_src1, child1_ip_vm2,
|
||||||
should_succeed=True)
|
should_succeed=True)
|
||||||
self.check_remote_connectivity(ssh_source, child2_ip_vm2,
|
self.check_remote_connectivity(ssh_src1, child2_ip_vm2,
|
||||||
should_succeed=True)
|
should_succeed=True)
|
||||||
|
|
||||||
@decorators.idempotent_id('9d4192e9-b1b7-48c9-af04-67a82637c359')
|
@decorators.idempotent_id('9d4192e9-b1b7-48c9-af04-67a82637c359')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user