Replace if with method to get iface

I replaced if with a method which has logic
related to interface names.
Name is fetched by old naming schema to ease developer switch.

There is still a problem with yaml templates, should be fixed
in next commits.

Change-Id: I63787e51f9e74532f5dd49fb765cbe204b148eb1
Related-bug: #1523541
This commit is contained in:
Alexandr Kostrikov 2015-12-09 13:14:52 +03:00
parent e80205d879
commit 4d3b4d13f6
9 changed files with 143 additions and 325 deletions

View File

@ -44,7 +44,6 @@ from fuelweb_test.models.fuel_web_client import FuelWebClient
from fuelweb_test.models.collector_client import CollectorClient
from fuelweb_test import settings
from fuelweb_test.settings import MASTER_IS_CENTOS7
from fuelweb_test.settings import PREDICTABLE_INTERFACE_NAMES
from fuelweb_test import logwrap
from fuelweb_test import logger
@ -220,10 +219,10 @@ class EnvironmentModel(object):
" <Enter>\n"
) % params
if MASTER_IS_CENTOS7:
if PREDICTABLE_INTERFACE_NAMES:
iface = 'enp0s3'
else:
iface = 'eth0'
# CentOS 7 is pretty stable with admin iface.
# TODO(akostrikov) add tests for menu items/kernel parameters
# TODO(akostrikov) refactor it.
iface = 'enp0s3'
if iso_connect_as == 'usb':
keys = (
"<Wait>\n" # USB boot uses boot_menu=yes for master node
@ -572,10 +571,9 @@ class EnvironmentModel(object):
raise Exception('Fuel node deployment failed.')
def dhcrelay_check(self):
if PREDICTABLE_INTERFACE_NAMES:
iface = 'enp0s3'
else:
iface = 'eth0'
# CentOS 7 is pretty stable with admin iface.
# TODO(akostrikov) refactor it.
iface = 'enp0s3'
command = "dhcpcheck discover " \
"--ifaces {iface} " \
"--repeat 3 " \

View File

@ -71,7 +71,6 @@ from fuelweb_test.settings import OPENSTACK_RELEASE
from fuelweb_test.settings import OPENSTACK_RELEASE_UBUNTU
from fuelweb_test.settings import OSTF_TEST_NAME
from fuelweb_test.settings import OSTF_TEST_RETRIES_COUNT
from fuelweb_test.settings import PREDICTABLE_INTERFACE_NAMES
from fuelweb_test.settings import REPLACE_DEFAULT_REPOS
from fuelweb_test.settings import REPLACE_DEFAULT_REPOS_ONLY_ONCE
from fuelweb_test.settings import TIMEOUT
@ -81,6 +80,7 @@ from fuelweb_test.settings import USER_OWNED_CERT
from fuelweb_test.settings import VCENTER_IP
from fuelweb_test.settings import VCENTER_PASSWORD
from fuelweb_test.settings import VCENTER_USERNAME
from fuelweb_test.settings import iface_alias
class FuelWebClient(object):
@ -1170,10 +1170,7 @@ class FuelWebClient(object):
return ifaces
# fuelweb_admin is always on 1st iface unless the iface is not bonded
if PREDICTABLE_INTERFACE_NAMES:
iface = 'enp0s3'
else:
iface = 'eth0'
iface = iface_alias('eth0')
if iface not in get_bond_ifaces():
interfaces_dict[iface] = interfaces_dict.get(iface,
[])
@ -1300,47 +1297,25 @@ class FuelWebClient(object):
net_provider = self.client.get_cluster(cluster_id)['net_provider']
if NEUTRON == net_provider:
assigned_networks = {
'eth1': ['public'],
'eth2': ['management'],
'eth3': ['private'],
'eth4': ['storage'],
iface_alias('eth1'): ['public'],
iface_alias('eth2'): ['management'],
iface_alias('eth3'): ['private'],
iface_alias('eth4'): ['storage'],
}
else:
assigned_networks = {
'eth1': ['public'],
'eth2': ['management'],
'eth3': ['fixed'],
'eth4': ['storage'],
iface_alias('eth1'): ['public'],
iface_alias('eth2'): ['management'],
iface_alias('eth3'): ['fixed'],
iface_alias('eth4'): ['storage'],
}
if PREDICTABLE_INTERFACE_NAMES:
if NEUTRON == net_provider:
assigned_networks = {
'enp0s3': ['fuelweb_admin'],
'enp0s4': ['public'],
'enp0s5': ['management'],
'enp0s6': ['private'],
'enp0s7': ['storage'],
}
else:
assigned_networks = {
'enp0s3': ['fuelweb_admin'],
'enp0s4': ['public'],
'enp0s5': ['management'],
'enp0s6': ['fixed'],
'enp0s7': ['storage'],
}
if PREDICTABLE_INTERFACE_NAMES:
baremetal_iface = 'eth5'
else:
baremetal_iface = 'enp0s8'
baremetal_iface = iface_alias('eth5')
if self.get_cluster_additional_components(cluster_id).get(
'ironic', False):
assigned_networks[baremetal_iface] = ['baremetal']
if PREDICTABLE_INTERFACE_NAMES:
logger.info(str(assigned_networks))
logger.info('Assigned networks are: {}'.format(str(assigned_networks)))
if not nailgun_nodes:
nailgun_nodes = self.client.list_cluster_nodes(cluster_id)
@ -1429,8 +1404,8 @@ class FuelWebClient(object):
devops_env = self.environment.d_env
if not PREDICTABLE_INTERFACE_NAMES and \
'baremetal' in networks and \
# NOTE(akostrikov) possible break.
if 'baremetal' in networks and \
devops_env.get_networks(name='ironic'):
ironic_net = self.environment.d_env.get_network(
name='ironic').ip

View File

@ -31,8 +31,21 @@ ENV_NAME = os.environ.get("ENV_NAME", "fuel_system_test")
VIRTUAL_ENV = os.environ.get("VIRTUAL_ENV", "")
MASTER_IS_CENTOS7 = get_var_as_bool('MASTER_IS_CENTOS7', True)
PREDICTABLE_INTERFACE_NAMES = get_var_as_bool('PREDICTABLE_INTERFACE_NAMES',
True)
INTERFACES_DICT = {
'eth0': os.environ.get('IFACE_0', 'enp0s3'),
'eth1': os.environ.get('IFACE_1', 'enp0s4'),
'eth2': os.environ.get('IFACE_2', 'enp0s5'),
'eth3': os.environ.get('IFACE_3', 'enp0s6'),
'eth4': os.environ.get('IFACE_4', 'enp0s7'),
'eth5': os.environ.get('IFACE_5', 'enp0s8'),
}
# NOTE(akostrikov) The method is here to avoid problems with imports
# Refactor when additional logic is needed like info from master node/devops.
def iface_alias(interface_name):
return INTERFACES_DICT[interface_name]
ISO_PATH = os.environ.get('ISO_PATH')
LOGS_DIR = os.environ.get('LOGS_DIR', os.getcwd())
@ -127,22 +140,12 @@ DHCP = {
}
INTERFACES = {
'admin': 'eth0',
'public': 'eth1',
'management': 'eth2',
'private': 'eth3',
'storage': 'eth4',
'admin': iface_alias('eth0'),
'public': iface_alias('eth1'),
'management': iface_alias('eth2'),
'private': iface_alias('eth3'),
'storage': iface_alias('eth4'),
}
PREDICTABLE_INTERFACES = {
'admin': 'enp0s3',
'public': 'enp0s4',
'management': 'enp0s5',
'private': 'enp0s6',
'storage': 'enp0s7',
}
if PREDICTABLE_INTERFACE_NAMES:
INTERFACES = PREDICTABLE_INTERFACES
# May be one of virtio, e1000, pcnet, rtl8139
INTERFACE_MODEL = os.environ.get('INTERFACE_MODEL', 'virtio')
@ -193,7 +196,7 @@ if MULTIPLE_NETWORKS:
DHCP['private2'] = False
DHCP['storage2'] = False
INTERFACES['admin2'] = 'eth5'
INTERFACES['admin2'] = iface_alias('eth5')
POOL_DEFAULT2 = os.environ.get('POOL_DEFAULT2', '10.108.0.0/16:24')
POOL_ADMIN2 = os.environ.get('POOL_ADMIN2', POOL_DEFAULT2)
@ -234,15 +237,14 @@ if MULTIPLE_NETWORKS:
BONDING = get_var_as_bool("BONDING", False)
BONDING_INTERFACES = {
'admin': ['eth0'],
'public': ['eth1', 'eth2', 'eth3', 'eth4']
'admin': [iface_alias('eth0')],
'public': [
iface_alias('eth1'),
iface_alias('eth2'),
iface_alias('eth3'),
iface_alias('eth4')
]
}
PREDICTABLE_BONDING_INTERFACES = {
'admin': ['enp0s3'],
'public': ['enp0s4', 'enp0s5', 'enp0s6', 'enp0s7']
}
if PREDICTABLE_INTERFACE_NAMES:
BONDING_INTERFACES = PREDICTABLE_BONDING_INTERFACES
NETWORK_MANAGERS = {
'flat': 'FlatDHCPManager',

View File

@ -28,7 +28,7 @@ from fuelweb_test.settings import CONTRAIL_PLUGIN_PATH
from fuelweb_test.settings import CONTRAIL_PLUGIN_PACK_UB_PATH
from fuelweb_test.settings import CONTRAIL_PLUGIN_PACK_CEN_PATH
from fuelweb_test.settings import NEUTRON_SEGMENT
from fuelweb_test.settings import PREDICTABLE_INTERFACE_NAMES
from fuelweb_test.settings import iface_alias
from fuelweb_test.tests.base_test_case import SetupEnvironment
from fuelweb_test.tests.base_test_case import TestBasic
@ -722,8 +722,8 @@ class ContrailPlugin(TestBasic):
'mode': 'active-backup',
'name': 'bond0',
'slaves': [
{'name': 'eth4'},
{'name': 'eth2'},
{'name': iface_alias('eth4')},
{'name': iface_alias('eth2')},
],
'state': None,
'type': 'bond',
@ -731,37 +731,14 @@ class ContrailPlugin(TestBasic):
}, ]
interfaces = {
'eth0': ['fuelweb_admin'],
'eth1': ['public'],
'eth3': ['private'],
iface_alias('eth0'): ['fuelweb_admin'],
iface_alias('eth1'): ['public'],
iface_alias('eth3'): ['private'],
'bond0': [
'management',
'storage',
]
}
if PREDICTABLE_INTERFACE_NAMES:
raw_data = [{
'mac': None,
'mode': 'active-backup',
'name': 'bond0',
'slaves': [
{'name': 'enp0s7'},
{'name': 'enp0s5'},
],
'state': None,
'type': 'bond',
'assigned_networks': []
}, ]
interfaces = {
'enp0s3': ['fuelweb_admin'],
'enp0s4': ['public'],
'enp0s5': ['private'],
'bond0': [
'management',
'storage',
]
}
cluster_nodes = \
self.fuel_web.client.list_cluster_nodes(self.cluster_id)

View File

@ -16,7 +16,7 @@ from proboscis.asserts import assert_false
from fuelweb_test import logger
from fuelweb_test.helpers.utils import get_net_settings
from fuelweb_test.settings import PREDICTABLE_INTERFACE_NAMES
from fuelweb_test.settings import iface_alias
from fuelweb_test.tests.base_test_case import TestBasic
@ -28,10 +28,10 @@ class BondingTest(TestBasic):
'mode': 'active-backup',
'name': 'bond0',
'slaves': [
{'name': 'eth5'},
{'name': 'eth4'},
{'name': 'eth3'},
{'name': 'eth2'}
{'name': iface_alias('eth5')},
{'name': iface_alias('eth4')},
{'name': iface_alias('eth3')},
{'name': iface_alias('eth2')}
],
'state': None,
'type': 'bond',
@ -42,43 +42,14 @@ class BondingTest(TestBasic):
'mode': 'active-backup',
'name': 'bond1',
'slaves': [
{'name': 'eth1'},
{'name': 'eth0'}
{'name': iface_alias('eth1')},
{'name': iface_alias('eth0')}
],
'state': None,
'type': 'bond',
'assigned_networks': []
}
]
if PREDICTABLE_INTERFACE_NAMES:
self.BOND_CONFIG = [
{
'mac': None,
'mode': 'active-backup',
'name': 'bond0',
'slaves': [
{'name': 'enp0s8'},
{'name': 'enp0s7'},
{'name': 'enp0s6'},
{'name': 'enp0s5'}
],
'state': None,
'type': 'bond',
'assigned_networks': []
},
{
'mac': None,
'mode': 'active-backup',
'name': 'bond1',
'slaves': [
{'name': 'enp0s4'},
{'name': 'enp0s3'}
],
'state': None,
'type': 'bond',
'assigned_networks': []
}
]
self.INTERFACES = {
'bond0': [

View File

@ -28,7 +28,7 @@ from fuelweb_test.settings import NEUTRON_SEGMENT
from fuelweb_test.settings import NEUTRON_SEGMENT_TYPE
from fuelweb_test.settings import OPENSTACK_RELEASE
from fuelweb_test.settings import OPENSTACK_RELEASE_UBUNTU
from fuelweb_test.settings import PREDICTABLE_INTERFACE_NAMES
from fuelweb_test.settings import iface_alias
from fuelweb_test.helpers.utils import run_on_remote_get_results
from fuelweb_test.tests.base_test_case import SetupEnvironment
from fuelweb_test.tests.base_test_case import TestBasic
@ -625,18 +625,11 @@ class NodeMultipleInterfaces(TestBasic):
self.env.revert_snapshot("ready_with_3_slaves")
interfaces_dict = {
'eth1': ['public'],
'eth2': ['storage'],
'eth3': ['private'],
'eth4': ['management'],
iface_alias('eth1'): ['public'],
iface_alias('eth2'): ['storage'],
iface_alias('eth3'): ['private'],
iface_alias('eth4'): ['management'],
}
if PREDICTABLE_INTERFACE_NAMES:
interfaces_dict = {
'enp0s4': ['public'],
'enp0s5': ['storage'],
'enp0s6': ['private'],
'enp0s7': ['management'],
}
cluster_id = self.fuel_web.create_cluster(
name=self.__class__.__name__,
@ -829,18 +822,11 @@ class UntaggedNetworksNegative(TestBasic):
vlan_turn_off = {'vlan_start': None}
interfaces = {
'eth0': ["fixed"],
'eth1': ["public"],
'eth2': ["management", "storage"],
'eth3': []
iface_alias('eth0'): ["fixed"],
iface_alias('eth1'): ["public"],
iface_alias('eth2'): ["management", "storage"],
iface_alias('eth3'): []
}
if PREDICTABLE_INTERFACE_NAMES:
interfaces = {
'enp0s3': ["fixed"],
'enp0s4': ["public"],
'enp0s5': ["management", "storage"],
'enp0s6': []
}
cluster_id = self.fuel_web.create_cluster(
name=self.__class__.__name__,

View File

@ -21,7 +21,7 @@ from fuelweb_test.helpers import decorators
from fuelweb_test.helpers import os_actions
from fuelweb_test import logger
from fuelweb_test import settings as CONF
from fuelweb_test.settings import PREDICTABLE_INTERFACE_NAMES
from fuelweb_test.settings import iface_alias
from fuelweb_test.tests import base_test_case
@ -241,36 +241,20 @@ class TestJumboFrames(base_test_case.TestBasic):
)
interfaces = {
'eth0': ['fuelweb_admin'],
'eth1': ['public'],
'eth2': ['management'],
'eth3': ['private'],
'eth4': ['storage'],
iface_alias('eth0'): ['fuelweb_admin'],
iface_alias('eth1'): ['public'],
iface_alias('eth2'): ['management'],
iface_alias('eth3'): ['private'],
iface_alias('eth4'): ['storage'],
}
if PREDICTABLE_INTERFACE_NAMES:
interfaces = {
'enp0s3': ['fuelweb_admin'],
'enp0s4': ['public'],
'enp0s5': ['management'],
'enp0s6': ['private'],
'enp0s7': ['storage'],
}
interfaces_update = [{
'name': 'eth3',
'name': iface_alias('eth3'),
'interface_properties': {
'mtu': 9000,
'disable_offloading': False
},
}]
if PREDICTABLE_INTERFACE_NAMES:
interfaces_update = [{
'name': 'enp0s6',
'interface_properties': {
'mtu': 9000,
'disable_offloading': False
},
}]
self.fuel_web.update_nodes(
cluster_id,
@ -297,18 +281,14 @@ class TestJumboFrames(base_test_case.TestBasic):
'slave-04', 'slave-05']:
node = self.fuel_web.get_nailgun_node_by_name(node_name)
with self.env.d_env.get_ssh_to_remote(node['ip']) as remote:
if PREDICTABLE_INTERFACE_NAMES:
asserts.assert_true(
self.check_node_iface_mtu(remote, 'enp0s6', 9000),
"MTU on {0} is not 9000. Actual value: {1}"
.format(remote.host,
self.get_node_iface(remote, "enp0s6")))
else:
asserts.assert_true(
self.check_node_iface_mtu(remote, 'eth3', 9000),
"MTU on {0} is not 9000. Actual value: {1}"
.format(remote.host,
self.get_node_iface(remote, "eth3")))
asserts.assert_true(
self.check_node_iface_mtu(remote,
iface_alias('eth3'),
9000),
"MTU on {0} is not 9000. Actual value: {1}"
.format(remote.host,
self.get_node_iface(remote,
iface_alias('eth3'))))
self.check_mtu_size_between_instances(mtu_offset=0)
self.env.make_snapshot("ready_jumbo_frames_neutron_vlan")
@ -345,36 +325,20 @@ class TestJumboFrames(base_test_case.TestBasic):
)
interfaces = {
'eth0': ['fuelweb_admin'],
'eth1': ['public'],
'eth2': ['management'],
'eth3': ['private'],
'eth4': ['storage'],
iface_alias('eth0'): ['fuelweb_admin'],
iface_alias('eth1'): ['public'],
iface_alias('eth2'): ['management'],
iface_alias('eth3'): ['private'],
iface_alias('eth4'): ['storage'],
}
if PREDICTABLE_INTERFACE_NAMES:
interfaces = {
'enp0s3': ['fuelweb_admin'],
'enp0s4': ['public'],
'enp0s5': ['management'],
'enp0s6': ['private'],
'enp0s7': ['storage'],
}
interfaces_update = [{
'name': 'eth3',
'name': iface_alias('eth3'),
'interface_properties': {
'mtu': 9000,
'disable_offloading': False
},
}]
if PREDICTABLE_INTERFACE_NAMES:
interfaces_update = [{
'name': 'enp0s6',
'interface_properties': {
'mtu': 9000,
'disable_offloading': False
},
}]
self.fuel_web.update_nodes(
cluster_id,
@ -401,18 +365,14 @@ class TestJumboFrames(base_test_case.TestBasic):
'slave-04', 'slave-05']:
node = self.fuel_web.get_nailgun_node_by_name(node_name)
with self.env.d_env.get_ssh_to_remote(node['ip']) as remote:
if PREDICTABLE_INTERFACE_NAMES:
asserts.assert_true(
self.check_node_iface_mtu(remote, 'enp0s6', 9000),
"MTU on {0} is not 9000. Actual value: {1}"
.format(remote.host,
self.get_node_iface(remote, "enp0s6")))
else:
asserts.assert_true(
self.check_node_iface_mtu(remote, 'eth3', 9000),
"MTU on {0} is not 9000. Actual value: {1}"
.format(remote.host,
self.get_node_iface(remote, "eth3")))
asserts.assert_true(
self.check_node_iface_mtu(remote,
iface_alias('eth3'),
9000),
"MTU on {0} is not 9000. Actual value: {1}"
.format(remote.host,
self.get_node_iface(remote,
iface_alias('eth3'))))
self.check_mtu_size_between_instances(mtu_offset=50)
self.env.make_snapshot("ready_jumbo_frames_neutron_vxlan")

View File

@ -21,7 +21,7 @@ from fuelweb_test.helpers.checkers import check_offload
from fuelweb_test.helpers.decorators import log_snapshot_after_test
from fuelweb_test import logger
from fuelweb_test.settings import DEPLOYMENT_MODE
from fuelweb_test.settings import PREDICTABLE_INTERFACE_NAMES
from fuelweb_test.settings import iface_alias
from fuelweb_test.tests.base_test_case import SetupEnvironment
from fuelweb_test.tests.base_test_case import TestBasic
@ -63,14 +63,14 @@ class TestOffloading(TestBasic):
)
interfaces = {
'eth1': ['public'],
'eth2': ['private'],
'eth3': ['management'],
'eth4': ['storage'],
iface_alias('eth1'): ['public'],
iface_alias('eth2'): ['private'],
iface_alias('eth3'): ['management'],
iface_alias('eth4'): ['storage'],
}
offloading_modes = [{
'name': 'eth1',
'name': iface_alias('eth1'),
'offloading_modes': [{
'state': 'true',
'name': 'rx-vlan-offload',
@ -78,36 +78,12 @@ class TestOffloading(TestBasic):
'state': 'true',
'name': 'tx-vlan-offload',
'sub': []}]}, {
'name': 'eth2',
'name': iface_alias('eth2'),
'offloading_modes': [{
'state': 'false',
'name': 'large-receive-offload',
'sub': []}]}]
if PREDICTABLE_INTERFACE_NAMES:
interfaces = {
'enp0s3': ['fuelweb_admin'],
'enp0s4': ['public'],
'enp0s5': ['management'],
'enp0s6': ['private'],
'enp0s7': ['storage'],
}
offloading_modes = [{
'name': 'enp0s4',
'offloading_modes': [{
'state': 'true',
'name': 'rx-vlan-offload',
'sub': []}, {
'state': 'true',
'name': 'tx-vlan-offload',
'sub': []}]}, {
'name': 'enp0s5',
'offloading_modes': [{
'state': 'false',
'name': 'large-receive-offload',
'sub': []}]}]
self.show_step(2)
self.show_step(3)
self.fuel_web.update_nodes(
@ -140,17 +116,23 @@ class TestOffloading(TestBasic):
with self.env.d_env.get_ssh_to_remote(node['ip']) as remote:
logger.info("Verify Offload types")
result = check_offload(remote, 'eth1', 'rx-vlan-offload')
result = check_offload(remote,
iface_alias('eth1'),
'rx-vlan-offload')
assert_equal(result, "on",
"Offload type {0} is {1} on remote host"
.format('rx-vlan-offload', result))
result = check_offload(remote, 'eth1', 'tx-vlan-offload')
result = check_offload(remote,
iface_alias('eth1'),
'tx-vlan-offload')
assert_equal(result, "on",
"Offload type {0} is {1} on remote host"
.format('tx-vlan-offload', result))
result = check_offload(remote, 'eth2', 'large-receive-offload')
result = check_offload(remote,
iface_alias('eth2'),
'large-receive-offload')
assert_equal(result, "off",
"Offload type {0} is {1} on remote host"
.format('large-receive-offload', result))
@ -194,14 +176,14 @@ class TestOffloading(TestBasic):
)
interfaces = {
'eth1': ['public'],
'eth2': ['private'],
'eth3': ['management'],
'eth4': ['storage'],
iface_alias('eth1'): ['public'],
iface_alias('eth2'): ['private'],
iface_alias('eth3'): ['management'],
iface_alias('eth4'): ['storage'],
}
offloading_modes = [{
'name': 'eth1',
'name': iface_alias('eth1'),
'offloading_modes': [{
'state': 'true',
'name': 'rx-vlan-offload',
@ -209,36 +191,12 @@ class TestOffloading(TestBasic):
'state': 'true',
'name': 'tx-vlan-offload',
'sub': []}]}, {
'name': 'eth2',
'name': iface_alias('eth2'),
'offloading_modes': [{
'state': 'false',
'name': 'large-receive-offload',
'sub': []}]}]
if PREDICTABLE_INTERFACE_NAMES:
interfaces = {
'enp0s3': ['fuelweb_admin'],
'enp0s4': ['public'],
'enp0s5': ['management'],
'enp0s6': ['private'],
'enp0s7': ['storage'],
}
offloading_modes = [{
'name': 'enp0s4',
'offloading_modes': [{
'state': 'true',
'name': 'rx-vlan-offload',
'sub': []}, {
'state': 'true',
'name': 'tx-vlan-offload',
'sub': []}]}, {
'name': 'enp0s5',
'offloading_modes': [{
'state': 'false',
'name': 'large-receive-offload',
'sub': []}]}]
self.show_step(2)
self.show_step(3)
self.fuel_web.update_nodes(
@ -271,17 +229,23 @@ class TestOffloading(TestBasic):
with self.env.d_env.get_ssh_to_remote(node['ip']) as remote:
logger.info("Verify Offload types")
result = check_offload(remote, 'eth1', 'rx-vlan-offload')
result = check_offload(remote,
iface_alias('eth1'),
'rx-vlan-offload')
assert_equal(result, "on",
"Offload type {0} is {1} on remote host"
.format('rx-vlan-offload', result))
result = check_offload(remote, 'eth1', 'tx-vlan-offload')
result = check_offload(remote,
iface_alias('eth1'),
'tx-vlan-offload')
assert_equal(result, "on",
"Offload type {0} is {1} on remote host"
.format('tx-vlan-offload', result))
result = check_offload(remote, 'eth2', 'large-receive-offload')
result = check_offload(remote,
iface_alias('eth2'),
'large-receive-offload')
assert_equal(result, "off",
"Offload type {0} is {1} on remote host"
.format('large-receive-offload', result))

View File

@ -20,10 +20,10 @@ from devops.error import TimeoutError
from fuelweb_test.helpers.decorators import log_snapshot_after_test
from fuelweb_test import logger
from fuelweb_test.settings import DEPLOYMENT_MODE
from fuelweb_test.settings import PREDICTABLE_INTERFACE_NAMES
from fuelweb_test.settings import SERVTEST_USERNAME
from fuelweb_test.settings import SERVTEST_PASSWORD
from fuelweb_test.settings import SERVTEST_TENANT
from fuelweb_test.settings import iface_alias
from fuelweb_test.tests.base_test_case import SetupEnvironment
from fuelweb_test.tests.base_test_case import TestBasic
from fuelweb_test.helpers import os_actions
@ -65,20 +65,12 @@ class VcenterDeploy(TestBasic):
# because Nova will use the same vSwitch for PortGroups creating
# as a ESXi management interface is located in.
interfaces = {
'eth0': ["fuelweb_admin"],
'eth1': ["public", "fixed"],
'eth2': ["management", ],
'eth3': [],
'eth4': ["storage"]
iface_alias('eth0'): ["fuelweb_admin"],
iface_alias('eth1'): ["public", "fixed"],
iface_alias('eth2'): ["management", ],
iface_alias('eth3'): [],
iface_alias('eth4'): ["storage"]
}
if PREDICTABLE_INTERFACE_NAMES:
interfaces = {
'enp0s3': ["fuelweb_admin"],
'enp0s4': ["public", "fixed"],
'enp0s5': ["management", ],
'enp0s6': [],
'enp0s7': ["storage"]
}
slave_nodes = self.fuel_web.client.list_cluster_nodes(cluster_id)
for node in slave_nodes:
@ -971,20 +963,13 @@ class VcenterDeploy(TestBasic):
# because Nova will use the same vSwitch for PortGroups creating
# as a ESXi management interface is located in.
interfaces = {
'eth0': ["fuelweb_admin"],
'eth1': ["public", "fixed"],
'eth2': ["management", ],
'eth3': [],
'eth4': ["storage"]
iface_alias('eth0'): ["fuelweb_admin"],
iface_alias('eth1'): ["public", "fixed"],
iface_alias('eth2'): ["management", ],
iface_alias('eth3'): [],
iface_alias('eth4'): ["storage"]
}
if PREDICTABLE_INTERFACE_NAMES:
interfaces = {
'enp0s3': ["fuelweb_admin"],
'enp0s4': ["public", "fixed"],
'enp0s5': ["management", ],
'enp0s6': [],
'enp0s7': ["storage"]
}
self.configure_nova_vlan(cluster_id)
# Configure VMWare vCenter
self.fuel_web.vcenter_configure(cluster_id)