Merge "Update offloading bond tests according to new iface serialization"

This commit is contained in:
Jenkins
2017-01-20 10:24:18 +00:00
committed by Gerrit Code Review

View File

@@ -28,19 +28,14 @@ from fuelweb_test.tests.test_bonding_base import BondingTest
@test(groups=["bonding_ha_one_controller", "bonding"])
class TestOffloading(BondingTest):
offloadings_1 = ['generic-receive-offload',
'generic-segmentation-offload',
'tcp-segmentation-offload']
offloadings_1 = {'generic-receive-offload': False,
'generic-segmentation-offload': False,
'tcp-segmentation-offload': False,
'large-receive-offload': False}
offloadings_2 = ['rx-all',
'rx-vlan-offload',
'tx-vlan-offload']
@staticmethod
def prepare_offloading_modes(interfaces, offloading_types, state):
modes = [{'name': name, 'state': state} for name in offloading_types]
return [{'name': interface, 'offloading_modes': deepcopy(modes)}
for interface in interfaces]
offloadings_2 = {'rx-all': True,
'rx-vlan-offload': True,
'tx-vlan-offload': True}
@test(depends_on=[SetupEnvironment.prepare_slaves_3],
groups=["offloading_bond_neutron_vlan", "bonding"])
@@ -92,23 +87,25 @@ class TestOffloading(BondingTest):
self.show_step(4)
bond0 = self.get_bond_interfaces(self.bond_config, 'bond0')
bond1 = self.get_bond_interfaces(self.bond_config, 'bond1')
offloadings_1 = []
offloadings_2 = []
offloadings_1 = {}
offloadings_2 = {}
for node in nodes:
modes = self.fuel_web.get_offloading_modes(node['id'], bond0)
for name in self.offloadings_1:
if name in modes and name not in offloadings_1:
offloadings_1.append(name)
offloadings_1[name] = self.offloadings_1[name]
modes = self.fuel_web.get_offloading_modes(node['id'], bond1)
for name in self.offloadings_2:
if name in modes and name not in offloadings_2:
offloadings_2.append(name)
offloadings_2[name] = self.offloadings_2[name]
assert_true(len(offloadings_1) > 0, "No types for disable offloading")
assert_true(len(offloadings_2) > 0, "No types for enable offloading")
modes = self.prepare_offloading_modes(['bond0'], offloadings_1, False)
modes += self.prepare_offloading_modes(['bond1'], offloadings_2, True)
offloadings = {
'bond0': offloadings_1,
'bond1': offloadings_2
}
self.show_step(5)
for node in nodes:
@@ -116,9 +113,9 @@ class TestOffloading(BondingTest):
node['id'],
interfaces_dict=deepcopy(self.INTERFACES),
raw_data=deepcopy(self.bond_config))
for offloading in modes:
for offloading in offloadings:
self.fuel_web.update_offloads(
node['id'], deepcopy(offloading), offloading['name'])
node['id'], offloadings[offloading], offloading)
self.show_step(6)
self.fuel_web.verify_network(cluster_id)
@@ -200,23 +197,25 @@ class TestOffloading(BondingTest):
self.show_step(4)
bond0 = self.get_bond_interfaces(self.bond_config, 'bond0')
bond1 = self.get_bond_interfaces(self.bond_config, 'bond1')
offloadings_1 = []
offloadings_2 = []
offloadings_1 = {}
offloadings_2 = {}
for node in nodes:
modes = self.fuel_web.get_offloading_modes(node['id'], bond0)
for name in self.offloadings_1:
if name in modes and name not in offloadings_1:
offloadings_1.append(name)
offloadings_1[name] = self.offloadings_1[name]
modes = self.fuel_web.get_offloading_modes(node['id'], bond1)
for name in self.offloadings_2:
if name in modes and name not in offloadings_2:
offloadings_2.append(name)
offloadings_2[name] = self.offloadings_2[name]
assert_true(len(offloadings_1) > 0, "No types for disable offloading")
assert_true(len(offloadings_2) > 0, "No types for enable offloading")
modes = self.prepare_offloading_modes(['bond0'], offloadings_1, False)
modes += self.prepare_offloading_modes(['bond1'], offloadings_2, True)
offloadings = {
'bond0': offloadings_1,
'bond1': offloadings_2
}
self.show_step(5)
for node in nodes:
@@ -224,9 +223,9 @@ class TestOffloading(BondingTest):
node['id'],
interfaces_dict=deepcopy(self.INTERFACES),
raw_data=deepcopy(self.bond_config))
for offloading in modes:
for offloading in offloadings:
self.fuel_web.update_offloads(
node['id'], deepcopy(offloading), offloading['name'])
node['id'], offloadings[offloading], offloading)
self.show_step(6)
self.fuel_web.verify_network(cluster_id)