Get predifened net name from nailgun
Neutron predefined network names like net04 and net04_ext can be modified, so we need get such data from nailgun Change-Id: Ia23ea08303d08abc9bcc31a7749ad23b34755997 Partial-Bug: #1349702
This commit is contained in:
parent
fefeefe961
commit
c1ab3a2d0b
@ -104,7 +104,7 @@ class Common(object):
|
|||||||
|
|
||||||
def create_instance(self, flavor_name='test_flavor', ram=64, vcpus=1,
|
def create_instance(self, flavor_name='test_flavor', ram=64, vcpus=1,
|
||||||
disk=1, server_name='test_instance', image_name=None,
|
disk=1, server_name='test_instance', image_name=None,
|
||||||
neutron_network=True):
|
neutron_network=True, label=None):
|
||||||
LOGGER.debug('Try to create instance')
|
LOGGER.debug('Try to create instance')
|
||||||
|
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
@ -123,7 +123,8 @@ class Common(object):
|
|||||||
|
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
if neutron_network:
|
if neutron_network:
|
||||||
network = self.nova.networks.find(label='net04')
|
net_label = label if label else 'net04'
|
||||||
|
network = self.nova.networks.find(label=net_label)
|
||||||
kwargs['nics'] = [{'net-id': network.id, 'v4-fixed-ip': ''}]
|
kwargs['nics'] = [{'net-id': network.id, 'v4-fixed-ip': ''}]
|
||||||
|
|
||||||
LOGGER.info('image uuid is {0}'.format(image))
|
LOGGER.info('image uuid is {0}'.format(image))
|
||||||
|
@ -31,7 +31,6 @@ class TempestConfigState(object):
|
|||||||
'alt_username': 'alt_test',
|
'alt_username': 'alt_test',
|
||||||
'alt_password': 'alt_test',
|
'alt_password': 'alt_test',
|
||||||
'alt_tenant_name': 'alt_test',
|
'alt_tenant_name': 'alt_test',
|
||||||
'public_network_name': 'net04_ext',
|
|
||||||
'image_name': 'TestVM'}
|
'image_name': 'TestVM'}
|
||||||
|
|
||||||
def __init__(self, admin_ip, cluster_id,
|
def __init__(self, admin_ip, cluster_id,
|
||||||
@ -74,6 +73,10 @@ class TempestConfigState(object):
|
|||||||
self.options['internal_cidr'] = cidr
|
self.options['internal_cidr'] = cidr
|
||||||
_, self.options['internal_mask'] = cidr.split('/')
|
_, self.options['internal_mask'] = cidr.split('/')
|
||||||
self.options['management_vip'] = network_attrs['management_vip']
|
self.options['management_vip'] = network_attrs['management_vip']
|
||||||
|
self.options['public_network_name'] = networking_params.get(
|
||||||
|
'floating_name', 'net04_ext')
|
||||||
|
self.options['private_network_name'] = networking_params.get(
|
||||||
|
'internal_name', 'net04')
|
||||||
|
|
||||||
def configure_openstack(self):
|
def configure_openstack(self):
|
||||||
"""
|
"""
|
||||||
|
@ -66,7 +66,7 @@ class OpenStackActions(common.Common):
|
|||||||
|
|
||||||
def create_server_for_migration(self, neutron=True, scenario='',
|
def create_server_for_migration(self, neutron=True, scenario='',
|
||||||
timeout=100, file=None, key_name=None,
|
timeout=100, file=None, key_name=None,
|
||||||
**kwargs):
|
label=None, **kwargs):
|
||||||
name = "test-serv" + str(random.randint(1, 0x7fffffff))
|
name = "test-serv" + str(random.randint(1, 0x7fffffff))
|
||||||
security_group = {}
|
security_group = {}
|
||||||
try:
|
try:
|
||||||
@ -83,8 +83,9 @@ class OpenStackActions(common.Common):
|
|||||||
self.keystone.tenant_id].name]
|
self.keystone.tenant_id].name]
|
||||||
|
|
||||||
if neutron:
|
if neutron:
|
||||||
|
net_label = label if label else 'net04'
|
||||||
network = [net.id for net in self.nova.networks.list()
|
network = [net.id for net in self.nova.networks.list()
|
||||||
if net.label == 'net04']
|
if net.label == net_label]
|
||||||
|
|
||||||
kwargs.update({'nics': [{'net-id': network[0]}],
|
kwargs.update({'nics': [{'net-id': network[0]}],
|
||||||
'security_groups': security_group})
|
'security_groups': security_group})
|
||||||
|
@ -726,11 +726,20 @@ class FuelWebClient(object):
|
|||||||
logger.info('Launch deployment of a cluster #%s', cluster_id)
|
logger.info('Launch deployment of a cluster #%s', cluster_id)
|
||||||
return self.client.deploy_cluster_changes(cluster_id)
|
return self.client.deploy_cluster_changes(cluster_id)
|
||||||
|
|
||||||
|
@logwrap
|
||||||
|
def get_cluster_predefined_networks_name(self, cluster_id):
|
||||||
|
net_params = self.client.get_networks(
|
||||||
|
cluster_id)['networking_parameters']
|
||||||
|
return {'private_net': net_params.get('internal_name', 'net04'),
|
||||||
|
'external_net': net_params.get('floating_name', 'net04_ext')}
|
||||||
|
|
||||||
@logwrap
|
@logwrap
|
||||||
def get_cluster_floating_list(self, os_conn, cluster_id):
|
def get_cluster_floating_list(self, os_conn, cluster_id):
|
||||||
logger.info('Get floating IPs list at cluster #{0}'.format(cluster_id))
|
logger.info('Get floating IPs list at cluster #{0}'.format(cluster_id))
|
||||||
|
|
||||||
subnet = os_conn.get_subnet('net04_ext__subnet')
|
subnet = os_conn.get_subnet('{0}__subnet'.format(
|
||||||
|
self.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['external_net']))
|
||||||
ret = []
|
ret = []
|
||||||
for pool in subnet['allocation_pools']:
|
for pool in subnet['allocation_pools']:
|
||||||
ip = ipaddr.IPv4Address(pool['start'])
|
ip = ipaddr.IPv4Address(pool['start'])
|
||||||
@ -2012,12 +2021,15 @@ class FuelWebClient(object):
|
|||||||
elif net_provider == 'neutron':
|
elif net_provider == 'neutron':
|
||||||
nailgun_cidr = self.get_nailgun_cidr_neutron(cluster_id)
|
nailgun_cidr = self.get_nailgun_cidr_neutron(cluster_id)
|
||||||
logger.debug('nailgun cidr is {0}'.format(nailgun_cidr))
|
logger.debug('nailgun cidr is {0}'.format(nailgun_cidr))
|
||||||
subnet = os_conn.get_subnet('net04__subnet')
|
private_net_name = self.get_cluster_predefined_networks_name(
|
||||||
logger.debug('net04__subnet: {0}'.format(
|
cluster_id)['private_net']
|
||||||
|
subnet = os_conn.get_subnet('{0}__subnet'.format(private_net_name))
|
||||||
|
logger.debug('subnet of pre-defined fixed network: {0}'.format(
|
||||||
subnet))
|
subnet))
|
||||||
assert_true(subnet, "net04__subnet does not exists")
|
assert_true(subnet, '{0}__subnet does not exists'.format(
|
||||||
logger.debug('cidr net04__subnet: {0}'.format(
|
private_net_name))
|
||||||
subnet['cidr']))
|
logger.debug('cidr {0}__subnet: {1}'.format(
|
||||||
|
private_net_name, subnet['cidr']))
|
||||||
assert_equal(nailgun_cidr, subnet['cidr'].rstrip(),
|
assert_equal(nailgun_cidr, subnet['cidr'].rstrip(),
|
||||||
'Cidr after deployment is not equal'
|
'Cidr after deployment is not equal'
|
||||||
' to cidr by default')
|
' to cidr by default')
|
||||||
|
@ -353,8 +353,10 @@ class CephHA(TestBasic):
|
|||||||
|
|
||||||
# Check resources addition
|
# Check resources addition
|
||||||
# create instance
|
# create instance
|
||||||
|
net_name = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
server = os_conn.create_instance(
|
server = os_conn.create_instance(
|
||||||
neutron_network=True)
|
neutron_network=True, label=net_name)
|
||||||
|
|
||||||
# create flavor
|
# create flavor
|
||||||
flavor = os_conn.create_flavor('openstackstat', 1024, 1, 1)
|
flavor = os_conn.create_flavor('openstackstat', 1024, 1, 1)
|
||||||
@ -621,19 +623,24 @@ class VmBackedWithCephMigrationBasic(TestBasic):
|
|||||||
# Create new server
|
# Create new server
|
||||||
os = os_actions.OpenStackActions(
|
os = os_actions.OpenStackActions(
|
||||||
self.fuel_web.get_public_vip(cluster_id))
|
self.fuel_web.get_public_vip(cluster_id))
|
||||||
|
net_name = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
|
||||||
logger.info("Create new server")
|
logger.info("Create new server")
|
||||||
srv = os.create_server_for_migration(
|
srv = os.create_server_for_migration(
|
||||||
neutron=True,
|
neutron=True,
|
||||||
scenario='./fuelweb_test/helpers/instance_initial_scenario')
|
scenario='./fuelweb_test/helpers/instance_initial_scenario',
|
||||||
|
label=net_name)
|
||||||
logger.info("Srv is currently in status: %s" % srv.status)
|
logger.info("Srv is currently in status: %s" % srv.status)
|
||||||
|
|
||||||
# Prepare to DHCP leases checks
|
# Prepare to DHCP leases checks
|
||||||
srv_instance_ip = os.get_nova_instance_ip(srv, net_name='net04')
|
net_name = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
srv_instance_ip = os.get_nova_instance_ip(srv, net_name=net_name)
|
||||||
srv_host_name = self.fuel_web.find_devops_node_by_nailgun_fqdn(
|
srv_host_name = self.fuel_web.find_devops_node_by_nailgun_fqdn(
|
||||||
os.get_srv_hypervisor_name(srv),
|
os.get_srv_hypervisor_name(srv),
|
||||||
self.env.d_env.nodes().slaves[:3]).name
|
self.env.d_env.nodes().slaves[:3]).name
|
||||||
net_id = os.get_network('net04')['id']
|
net_id = os.get_network(net_name)['id']
|
||||||
ports = os.get_neutron_dhcp_ports(net_id)
|
ports = os.get_neutron_dhcp_ports(net_id)
|
||||||
dhcp_server_ip = ports[0]['fixed_ips'][0]['ip_address']
|
dhcp_server_ip = ports[0]['fixed_ips'][0]['ip_address']
|
||||||
with self.fuel_web.get_ssh_for_node(srv_host_name) as srv_remote_node:
|
with self.fuel_web.get_ssh_for_node(srv_host_name) as srv_remote_node:
|
||||||
@ -714,7 +721,8 @@ class VmBackedWithCephMigrationBasic(TestBasic):
|
|||||||
logger.info("Create a new server for migration with volume")
|
logger.info("Create a new server for migration with volume")
|
||||||
srv = os.create_server_for_migration(
|
srv = os.create_server_for_migration(
|
||||||
neutron=True,
|
neutron=True,
|
||||||
scenario='./fuelweb_test/helpers/instance_initial_scenario')
|
scenario='./fuelweb_test/helpers/instance_initial_scenario',
|
||||||
|
label=net_name)
|
||||||
logger.info("Srv is currently in status: %s" % srv.status)
|
logger.info("Srv is currently in status: %s" % srv.status)
|
||||||
|
|
||||||
logger.info("Assigning floating ip to server")
|
logger.info("Assigning floating ip to server")
|
||||||
|
@ -62,10 +62,10 @@ class TestJumboFrames(base_test_case.TestBasic):
|
|||||||
|
|
||||||
return ifaces
|
return ifaces
|
||||||
|
|
||||||
def boot_instance_on_node(self, hypervisor_name, boot_timeout=300):
|
def boot_instance_on_node(self, hypervisor_name, label, boot_timeout=300):
|
||||||
instance = self.os_conn.create_server_for_migration(
|
instance = self.os_conn.create_server_for_migration(
|
||||||
neutron=True,
|
neutron=True,
|
||||||
availability_zone="nova:{0}".format(hypervisor_name))
|
availability_zone="nova:{0}".format(hypervisor_name), label=label)
|
||||||
logger.info("New instance {0} created on {1}"
|
logger.info("New instance {0} created on {1}"
|
||||||
.format(instance.id, hypervisor_name))
|
.format(instance.id, hypervisor_name))
|
||||||
|
|
||||||
@ -84,12 +84,13 @@ class TestJumboFrames(base_test_case.TestBasic):
|
|||||||
def ping_instance_from_instance(self,
|
def ping_instance_from_instance(self,
|
||||||
source_instance,
|
source_instance,
|
||||||
destination_instance,
|
destination_instance,
|
||||||
size, count=1):
|
size, count=1, net_name=None):
|
||||||
creds = ("cirros", "cubswin:)")
|
creds = ("cirros", "cubswin:)")
|
||||||
|
net = net_name if net_name else 'net04'
|
||||||
source_floating_ip = self.os_conn.get_nova_instance_ip(
|
source_floating_ip = self.os_conn.get_nova_instance_ip(
|
||||||
source_instance, net_name='net04', type='floating')
|
source_instance, net_name=net, type='floating')
|
||||||
destination_fixed_ip = self.os_conn.get_nova_instance_ip(
|
destination_fixed_ip = self.os_conn.get_nova_instance_ip(
|
||||||
destination_instance, net_name='net04', type='fixed')
|
destination_instance, net_name=net, type='fixed')
|
||||||
|
|
||||||
with self.fuel_web.get_ssh_for_node("slave-01") as ssh:
|
with self.fuel_web.get_ssh_for_node("slave-01") as ssh:
|
||||||
command = "ping -c {0} -s {1} {2}"\
|
command = "ping -c {0} -s {1} {2}"\
|
||||||
@ -130,9 +131,12 @@ class TestJumboFrames(base_test_case.TestBasic):
|
|||||||
self.fuel_web.get_public_vip(cluster_id))
|
self.fuel_web.get_public_vip(cluster_id))
|
||||||
|
|
||||||
instances = []
|
instances = []
|
||||||
|
fixed_net_name = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
for hypervisor in self.os_conn.get_hypervisors():
|
for hypervisor in self.os_conn.get_hypervisors():
|
||||||
instances.append(
|
instances.append(
|
||||||
self.boot_instance_on_node(hypervisor.hypervisor_hostname))
|
self.boot_instance_on_node(hypervisor.hypervisor_hostname,
|
||||||
|
label=fixed_net_name))
|
||||||
|
|
||||||
source_instance = instances[0]
|
source_instance = instances[0]
|
||||||
for destination_instance in instances[1:]:
|
for destination_instance in instances[1:]:
|
||||||
@ -140,28 +144,29 @@ class TestJumboFrames(base_test_case.TestBasic):
|
|||||||
self.ping_instance_from_instance(
|
self.ping_instance_from_instance(
|
||||||
source_instance=source_instance,
|
source_instance=source_instance,
|
||||||
destination_instance=destination_instance,
|
destination_instance=destination_instance,
|
||||||
size=1472 - mtu_offset, count=3),
|
size=1472 - mtu_offset, count=3, net_name=fixed_net_name),
|
||||||
"Ping response was not received for 1500 bytes package")
|
"Ping response was not received for 1500 bytes package")
|
||||||
|
|
||||||
asserts.assert_true(
|
asserts.assert_true(
|
||||||
self.ping_instance_from_instance(
|
self.ping_instance_from_instance(
|
||||||
source_instance=source_instance,
|
source_instance=source_instance,
|
||||||
destination_instance=destination_instance,
|
destination_instance=destination_instance,
|
||||||
size=8972 - mtu_offset, count=3),
|
size=8972 - mtu_offset, count=3, net_name=fixed_net_name),
|
||||||
"Ping response was not received for 9000 bytes package")
|
"Ping response was not received for 9000 bytes package")
|
||||||
|
|
||||||
asserts.assert_false(
|
asserts.assert_false(
|
||||||
self.ping_instance_from_instance(
|
self.ping_instance_from_instance(
|
||||||
source_instance=source_instance,
|
source_instance=source_instance,
|
||||||
destination_instance=destination_instance,
|
destination_instance=destination_instance,
|
||||||
size=8973 - mtu_offset, count=3),
|
size=8973 - mtu_offset, count=3, net_name=fixed_net_name),
|
||||||
"Ping response was received for 9001 bytes package")
|
"Ping response was received for 9001 bytes package")
|
||||||
|
|
||||||
asserts.assert_false(
|
asserts.assert_false(
|
||||||
self.ping_instance_from_instance(
|
self.ping_instance_from_instance(
|
||||||
source_instance=source_instance,
|
source_instance=source_instance,
|
||||||
destination_instance=destination_instance,
|
destination_instance=destination_instance,
|
||||||
size=14472 - mtu_offset, count=3),
|
size=14472 - mtu_offset, count=3,
|
||||||
|
net_name=fixed_net_name),
|
||||||
"Ping response was received for 15000 bytes package")
|
"Ping response was received for 15000 bytes package")
|
||||||
|
|
||||||
for instance in instances:
|
for instance in instances:
|
||||||
|
@ -500,10 +500,13 @@ class PartitionPreservation(TestBasic):
|
|||||||
|
|
||||||
cmp_host = os_conn.get_hypervisors()[0]
|
cmp_host = os_conn.get_hypervisors()[0]
|
||||||
|
|
||||||
|
net_label = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
|
||||||
vm = os_conn.create_server_for_migration(
|
vm = os_conn.create_server_for_migration(
|
||||||
neutron=True,
|
neutron=True,
|
||||||
availability_zone="nova:{0}".format(
|
availability_zone="nova:{0}".format(
|
||||||
cmp_host.hypervisor_hostname))
|
cmp_host.hypervisor_hostname), label=net_label)
|
||||||
vm_floating_ip = os_conn.assign_floating_ip(vm)
|
vm_floating_ip = os_conn.assign_floating_ip(vm)
|
||||||
devops_helpers.wait(
|
devops_helpers.wait(
|
||||||
lambda: devops_helpers.tcp_ping(vm_floating_ip.ip, 22),
|
lambda: devops_helpers.tcp_ping(vm_floating_ip.ip, 22),
|
||||||
|
@ -697,9 +697,12 @@ class TestHaFailoverBase(TestBasic):
|
|||||||
public_vip = self.fuel_web.get_public_vip(cluster_id)
|
public_vip = self.fuel_web.get_public_vip(cluster_id)
|
||||||
os_conn = os_actions.OpenStackActions(public_vip)
|
os_conn = os_actions.OpenStackActions(public_vip)
|
||||||
|
|
||||||
|
net_label = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
|
||||||
# Create instance
|
# Create instance
|
||||||
instance = os_conn.create_server_for_migration(neutron=True) \
|
instance = os_conn.create_server_for_migration(
|
||||||
if net_provider == 'neutron' \
|
neutron=True, label=net_label) if net_provider == 'neutron' \
|
||||||
else os_conn.create_server_for_migration()
|
else os_conn.create_server_for_migration()
|
||||||
|
|
||||||
# Check ping
|
# Check ping
|
||||||
|
@ -97,6 +97,8 @@ class DeployHAOneControllerMasterNodeFail(base_test_case.TestBasic):
|
|||||||
|
|
||||||
os_conn = os_actions.OpenStackActions(controller_ip)
|
os_conn = os_actions.OpenStackActions(controller_ip)
|
||||||
self.fuel_web.assert_cluster_ready(os_conn, smiles_count=5)
|
self.fuel_web.assert_cluster_ready(os_conn, smiles_count=5)
|
||||||
|
net_name = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
|
||||||
self.fuel_web.verify_network(cluster_id)
|
self.fuel_web.verify_network(cluster_id)
|
||||||
logger.info('PASS DEPLOYMENT')
|
logger.info('PASS DEPLOYMENT')
|
||||||
@ -116,7 +118,8 @@ class DeployHAOneControllerMasterNodeFail(base_test_case.TestBasic):
|
|||||||
settings.SERVTEST_TENANT)
|
settings.SERVTEST_TENANT)
|
||||||
|
|
||||||
# create instance
|
# create instance
|
||||||
server = common_func.create_instance(neutron_network=True)
|
server = common_func.create_instance(neutron_network=True,
|
||||||
|
label=net_name)
|
||||||
|
|
||||||
# get_instance details
|
# get_instance details
|
||||||
details = common_func.get_instance_detail(server)
|
details = common_func.get_instance_detail(server)
|
||||||
|
@ -45,8 +45,9 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@logwrap
|
@logwrap
|
||||||
def create_instance_with_keypair(os_conn, key_name):
|
def create_instance_with_keypair(os_conn, key_name, label):
|
||||||
return os_conn.create_server_for_migration(key_name=key_name)
|
return os_conn.create_server_for_migration(key_name=key_name,
|
||||||
|
label=label)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@logwrap
|
@logwrap
|
||||||
@ -173,7 +174,9 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||||
os_conn = os_actions.OpenStackActions(
|
os_conn = os_actions.OpenStackActions(
|
||||||
self.fuel_web.get_public_vip(cluster_id))
|
self.fuel_web.get_public_vip(cluster_id))
|
||||||
net_id = os_conn.get_network('net04')['id']
|
net_name = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
net_id = os_conn.get_network(net_name)['id']
|
||||||
router_id = os_conn.get_routers_ids()[0]
|
router_id = os_conn.get_routers_ids()[0]
|
||||||
devops_node = self.get_node_with_dhcp(os_conn, net_id)
|
devops_node = self.get_node_with_dhcp(os_conn, net_id)
|
||||||
_ip = self.fuel_web.get_nailgun_node_by_name(devops_node.name)['ip']
|
_ip = self.fuel_web.get_nailgun_node_by_name(devops_node.name)['ip']
|
||||||
@ -182,7 +185,8 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
|
|
||||||
# create instance for check neutron migration processes
|
# create instance for check neutron migration processes
|
||||||
instance_ip = self.create_instance_with_keypair(
|
instance_ip = self.create_instance_with_keypair(
|
||||||
os_conn, instance_keypair.name).addresses['net04'][0]['addr']
|
os_conn, instance_keypair.name,
|
||||||
|
label=net_name).addresses[net_name][0]['addr']
|
||||||
|
|
||||||
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
||||||
dhcp_namespace = ''.join(remote.execute(
|
dhcp_namespace = ''.join(remote.execute(
|
||||||
@ -205,7 +209,7 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
# Reshedule router for net for created instance to new controller
|
# Reshedule router for net for created instance to new controller
|
||||||
self.reshedule_router_manually(os_conn, router_id)
|
self.reshedule_router_manually(os_conn, router_id)
|
||||||
|
|
||||||
# Get remote to the controller with running DHCP agent for net04
|
# Get remote to the controller with running DHCP agent
|
||||||
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
||||||
dhcp_namespace = ''.join(remote.execute(
|
dhcp_namespace = ''.join(remote.execute(
|
||||||
'ip netns | grep {0}'.format(net_id))['stdout']).rstrip()
|
'ip netns | grep {0}'.format(net_id))['stdout']).rstrip()
|
||||||
@ -253,7 +257,9 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||||
os_conn = os_actions.OpenStackActions(
|
os_conn = os_actions.OpenStackActions(
|
||||||
self.fuel_web.get_public_vip(cluster_id))
|
self.fuel_web.get_public_vip(cluster_id))
|
||||||
net_id = os_conn.get_network('net04')['id']
|
net_name = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
net_id = os_conn.get_network(net_name)['id']
|
||||||
devops_node = self.get_node_with_dhcp(os_conn, net_id)
|
devops_node = self.get_node_with_dhcp(os_conn, net_id)
|
||||||
instance_keypair = os_conn.create_key(key_name='instancekey')
|
instance_keypair = os_conn.create_key(key_name='instancekey')
|
||||||
router_id = os_conn.get_routers_ids()[0]
|
router_id = os_conn.get_routers_ids()[0]
|
||||||
@ -261,13 +267,14 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
|
|
||||||
# create instance for check neutron migration processes
|
# create instance for check neutron migration processes
|
||||||
instance_ip = self.create_instance_with_keypair(
|
instance_ip = self.create_instance_with_keypair(
|
||||||
os_conn, instance_keypair.name).addresses['net04'][0]['addr']
|
os_conn, instance_keypair.name,
|
||||||
|
label=net_name).addresses[net_name][0]['addr']
|
||||||
logger.debug('instance internal ip is {0}'.format(instance_ip))
|
logger.debug('instance internal ip is {0}'.format(instance_ip))
|
||||||
|
|
||||||
# Reshedule router for net for created instance to new controller
|
# Reshedule router for net for created instance to new controller
|
||||||
self.reshedule_router_manually(os_conn, router_id)
|
self.reshedule_router_manually(os_conn, router_id)
|
||||||
|
|
||||||
# Get remote to the controller with running DHCP agent for net04
|
# Get remote to the controller with running DHCP agent
|
||||||
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
||||||
dhcp_namespace = ''.join(remote.execute(
|
dhcp_namespace = ''.join(remote.execute(
|
||||||
'ip netns | grep {0}'.format(net_id))['stdout']).rstrip()
|
'ip netns | grep {0}'.format(net_id))['stdout']).rstrip()
|
||||||
@ -309,12 +316,12 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
router_id)[0], timeout=60 * 3,
|
router_id)[0], timeout=60 * 3,
|
||||||
timeout_msg=err_msg.format(node_with_l3))
|
timeout_msg=err_msg.format(node_with_l3))
|
||||||
|
|
||||||
# Find host with dhcp agent for net04 network
|
# Find host with dhcp agent for private network
|
||||||
# after reset one of controllers
|
# after reset one of controllers
|
||||||
devops_node = self.get_node_with_dhcp(os_conn, net_id)
|
devops_node = self.get_node_with_dhcp(os_conn, net_id)
|
||||||
_ip = self.fuel_web.get_nailgun_node_by_devops_node(devops_node)['ip']
|
_ip = self.fuel_web.get_nailgun_node_by_devops_node(devops_node)['ip']
|
||||||
|
|
||||||
# Get remote to the controller with running DHCP agent for net04
|
# Get remote to the controller with running DHCP agent
|
||||||
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
||||||
# Check connect to public network from instance after
|
# Check connect to public network from instance after
|
||||||
# reset controller with l3 agent from this instance
|
# reset controller with l3 agent from this instance
|
||||||
@ -332,7 +339,9 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||||
os_conn = os_actions.OpenStackActions(
|
os_conn = os_actions.OpenStackActions(
|
||||||
self.fuel_web.get_public_vip(cluster_id))
|
self.fuel_web.get_public_vip(cluster_id))
|
||||||
net_id = os_conn.get_network('net04')['id']
|
net_name = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
net_id = os_conn.get_network(net_name)['id']
|
||||||
router_id = os_conn.get_routers_ids()[0]
|
router_id = os_conn.get_routers_ids()[0]
|
||||||
devops_node = self.get_node_with_dhcp(os_conn, net_id)
|
devops_node = self.get_node_with_dhcp(os_conn, net_id)
|
||||||
_ip = self.fuel_web.get_nailgun_node_by_name(devops_node.name)['ip']
|
_ip = self.fuel_web.get_nailgun_node_by_name(devops_node.name)['ip']
|
||||||
@ -340,13 +349,14 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
|
|
||||||
# create instance for check neutron migration processes
|
# create instance for check neutron migration processes
|
||||||
instance_ip = self.create_instance_with_keypair(
|
instance_ip = self.create_instance_with_keypair(
|
||||||
os_conn, instance_keypair.name).addresses['net04'][0]['addr']
|
os_conn, instance_keypair.name,
|
||||||
|
label=net_name).addresses[net_name][0]['addr']
|
||||||
logger.debug('instance internal ip is {0}'.format(instance_ip))
|
logger.debug('instance internal ip is {0}'.format(instance_ip))
|
||||||
|
|
||||||
# Reshedule router for net for created instance to new controller
|
# Reshedule router for net for created instance to new controller
|
||||||
self.reshedule_router_manually(os_conn, router_id)
|
self.reshedule_router_manually(os_conn, router_id)
|
||||||
|
|
||||||
# Get remote to the controller with running DHCP agent for net04
|
# Get remote to the controller with running DHCP agent
|
||||||
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
||||||
dhcp_namespace = ''.join(remote.execute(
|
dhcp_namespace = ''.join(remote.execute(
|
||||||
'ip netns | grep {0}'.format(net_id))['stdout']).rstrip()
|
'ip netns | grep {0}'.format(net_id))['stdout']).rstrip()
|
||||||
@ -391,7 +401,7 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
router_id)[0], timeout=60 * 3,
|
router_id)[0], timeout=60 * 3,
|
||||||
timeout_msg=err_msg.format(node_with_l3))
|
timeout_msg=err_msg.format(node_with_l3))
|
||||||
|
|
||||||
# Find host with dhcp agent for net04 network
|
# Find host with dhcp agent for private network
|
||||||
# after reset one of controllers
|
# after reset one of controllers
|
||||||
err_msg = ("Not found new controller node after destroy old "
|
err_msg = ("Not found new controller node after destroy old "
|
||||||
"controller node:{node} with dhcp for net:{net}")
|
"controller node:{node} with dhcp for net:{net}")
|
||||||
@ -401,7 +411,7 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
_ip = self.fuel_web.get_nailgun_node_by_devops_node(
|
_ip = self.fuel_web.get_nailgun_node_by_devops_node(
|
||||||
new_devops_node)['ip']
|
new_devops_node)['ip']
|
||||||
|
|
||||||
# Get remote to the controller with running DHCP agent for net04
|
# Get remote to the controller with running DHCP agent
|
||||||
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
with self.env.d_env.get_ssh_to_remote(_ip) as remote:
|
||||||
# Check connect to public network from instance after
|
# Check connect to public network from instance after
|
||||||
# reset controller with l3 agent from this instance
|
# reset controller with l3 agent from this instance
|
||||||
@ -440,9 +450,11 @@ class TestNeutronFailoverBase(base_test_case.TestBasic):
|
|||||||
_ip = self.fuel_web.get_nailgun_node_by_name('slave-01')['ip']
|
_ip = self.fuel_web.get_nailgun_node_by_name('slave-01')['ip']
|
||||||
# Size of the header in ICMP package in bytes
|
# Size of the header in ICMP package in bytes
|
||||||
ping_header_size = 28
|
ping_header_size = 28
|
||||||
|
net_label = self.fuel_web.get_cluster_predefined_networks_name(
|
||||||
|
cluster_id)['private_net']
|
||||||
|
|
||||||
# Create instance with floating ip for check ping from ext network
|
# Create instance with floating ip for check ping from ext network
|
||||||
instance = os_conn.create_server_for_migration()
|
instance = os_conn.create_server_for_migration(label=net_label)
|
||||||
floating_ip = os_conn.assign_floating_ip(
|
floating_ip = os_conn.assign_floating_ip(
|
||||||
instance, use_neutron=True)['floating_ip_address']
|
instance, use_neutron=True)['floating_ip_address']
|
||||||
logger.debug("Instance floating ip is {ip}".format(ip=floating_ip))
|
logger.debug("Instance floating ip is {ip}".format(ip=floating_ip))
|
||||||
|
Loading…
Reference in New Issue
Block a user