Hello Petr Horáček, Dan Kenigsberg,
I'd like you to do a code review. Please visit
https://gerrit.ovirt.org/64408
to review the following change.
Change subject: net: test ovs info with southbound nic
......................................................................
net: test ovs info with southbound nic
We will remove OVS bonding support in a following patch. This patch
changes ovs_info_test.py to test OVS network with attached
southbound nic.
Change-Id: Idd3ab225172a0edfda9bb998c509ed3c2e318401
Bug-Url: https://bugzilla.redhat.com/1379115
Signed-off-by: Petr Horáček <[email protected]>
Reviewed-on: https://gerrit.ovirt.org/63999
Continuous-Integration: Jenkins CI
Reviewed-by: Edward Haas <[email protected]>
Reviewed-by: Dan Kenigsberg <[email protected]>
---
M tests/network/ovs_info_test.py
1 file changed, 79 insertions(+), 106 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/08/64408/1
diff --git a/tests/network/ovs_info_test.py b/tests/network/ovs_info_test.py
index 16ec00e..f91b9ac 100644
--- a/tests/network/ovs_info_test.py
+++ b/tests/network/ovs_info_test.py
@@ -24,7 +24,7 @@
from nose.plugins.attrib import attr
from .nettestlib import dummy_device
-from .ovsnettestlib import OvsService, TEST_BRIDGE, TEST_BOND
+from .ovsnettestlib import OvsService, TEST_BRIDGE
from monkeypatch import MonkeyPatch
from testValidation import ValidateRunningAsRoot
from testlib import VdsmTestCase
@@ -37,26 +37,23 @@
TEST_ADDRESS = '192.168.1.10'
TEST_NETMASK = '255.255.255.0'
TEST_ADDRESS_WITH_PREFIX = '192.168.1.10/24'
+TEST_NIC = 'eth0'
TEST_VLAN = 10
-TEST_VLANED_BOND = '%s.%s' % (TEST_BOND, TEST_VLAN)
+TEST_VLANED_NIC = '%s.%s' % (TEST_NIC, TEST_VLAN)
TEST_VLANED_NETWORK = 'test-network' + str(TEST_VLAN)
@contextmanager
-def _setup_ovs_network(ovsdb, nic1, nic2):
+def _setup_ovs_network(ovsdb, sb_iface):
def _bridge():
return ovsdb.add_br(TEST_BRIDGE)
- def _bond():
+ def _attach_southbound():
commands = []
- commands.append(ovsdb.add_bond(TEST_BRIDGE, TEST_BOND, [nic1, nic2]))
+ commands.append(ovsdb.add_port(TEST_BRIDGE, sb_iface))
commands.append(ovsdb.set_port_attr(
- TEST_BOND, 'bond_mode', 'active-backup'))
- commands.append(ovsdb.set_port_attr(
- TEST_BOND, 'other_config:bond-detect-mode', 'carrier'))
- commands.append(ovsdb.set_port_attr(
- TEST_BOND, 'other_config:vdsm_level', info.SOUTHBOUND))
+ sb_iface, 'other_config:vdsm_level', info.SOUTHBOUND))
return commands
def _northbound_port():
@@ -72,7 +69,7 @@
with ovsdb.transaction() as t:
t.add(_bridge())
- t.add(*_bond())
+ t.add(*_attach_southbound())
t.add(*_northbound_port())
try:
@@ -93,22 +90,15 @@
def tearDown(self):
self.ovs_service.teardown()
- def test_ovs_info(self):
- with dummy_device() as nic1, dummy_device() as nic2:
- with _setup_ovs_network(self.ovsdb, nic1, nic2):
+ def test_ovs_info_with_sb_nic(self):
+ with dummy_device() as nic:
+ with _setup_ovs_network(self.ovsdb, nic):
expected_bridges = {
TEST_BRIDGE: {
'stp': False,
'ports': {
- TEST_BOND: {
- 'bond': {
- 'fake_iface': False,
- 'lacp': None,
- 'bond_mode': 'active-backup',
- 'other_config:bond-detect-mode': 'carrier',
- 'other_config:bond-miimon-interval': None,
- 'slaves': sorted([nic1, nic2])
- },
+ nic: {
+ 'bond': None,
'level': info.SOUTHBOUND,
'tag': None
},
@@ -125,19 +115,14 @@
}
}
}
- expected_bridges_by_sb = {TEST_BOND: TEST_BRIDGE}
ovs_info = info.OvsInfo()
obtained_bridges = ovs_info.bridges
- # Normalize obtained_bridges (remove 'active_slave')
- obtained_bridges[TEST_BRIDGE]['ports'][TEST_BOND]['bond'].pop(
- 'active_slave')
self.assertEqual(obtained_bridges, expected_bridges)
obtained_bridges_by_sb = ovs_info.bridges_by_sb
- self.assertEqual(
- obtained_bridges_by_sb, expected_bridges_by_sb)
+ self.assertEqual(obtained_bridges_by_sb, {nic: TEST_BRIDGE})
class MockedOvsInfo(info.OvsInfo):
@@ -146,19 +131,6 @@
TEST_BRIDGE: {
'stp': False,
'ports': {
- TEST_BOND: {
- 'bond': {
- 'active_slave': None,
- 'fake_iface': False,
- 'lacp': None,
- 'bond_mode': 'active-backup',
- 'other_config:bond-detect-mode': 'carrier',
- 'other_config:bond-miimon-interval': None,
- 'slaves': ['eth0', 'eth1']
- },
- 'level': info.SOUTHBOUND,
- 'tag': None
- },
TEST_NETWORK: {
'bond': None,
'level': info.NORTHBOUND,
@@ -173,6 +145,11 @@
'bond': None,
'level': None,
'tag': None
+ },
+ TEST_NIC: {
+ 'bond': None,
+ 'level': info.SOUTHBOUND,
+ 'tag': None
}
}
}
@@ -186,7 +163,7 @@
'networks': {
TEST_NETWORK: {
'addr': TEST_ADDRESS,
- 'bond': TEST_BOND,
+ 'bond': '',
'bridged': True,
'dhcpv4': False,
'dhcpv6': False,
@@ -198,14 +175,14 @@
'ipv6gateway': '::',
'mtu': 1500,
'netmask': TEST_NETMASK,
- 'nics': ['eth0', 'eth1'],
- 'ports': [TEST_BOND],
+ 'nics': [TEST_NIC],
+ 'ports': [TEST_NIC],
'stp': False,
- 'switch': 'ovs',
+ 'switch': 'ovs'
},
TEST_VLANED_NETWORK: {
'addr': TEST_ADDRESS,
- 'bond': TEST_BOND,
+ 'bond': '',
'bridged': True,
'dhcpv4': False,
'dhcpv6': False,
@@ -217,31 +194,14 @@
'ipv6gateway': '::',
'mtu': 1500,
'netmask': TEST_NETMASK,
- 'nics': ['eth0', 'eth1'],
- 'ports': [TEST_VLANED_BOND],
+ 'nics': [TEST_NIC],
+ 'ports': [TEST_VLANED_NIC],
'stp': False,
'switch': 'ovs',
'vlanid': TEST_VLAN
- }
- },
- 'bondings': {
- TEST_BOND: {
- 'active_slave': 'eth0',
- 'addr': '',
- 'dhcpv4': False,
- 'dhcpv6': False,
- 'gateway': '',
- 'ipv4addrs': [],
- 'ipv6addrs': [],
- 'ipv6autoconf': False,
- 'ipv6gateway': '',
- 'mtu': 1500,
- 'netmask': '',
- 'opts': {'mode': '1'},
- 'slaves': ['eth0', 'eth1'],
- 'switch': 'ovs'
- }
- },
+ }
+ },
+ 'bondings': {},
'bridges': {
TEST_NETWORK: {
'addr': TEST_ADDRESS,
@@ -254,7 +214,7 @@
'ipv6gateway': '::',
'mtu': 1500,
'netmask': TEST_NETMASK,
- 'ports': [TEST_BOND],
+ 'ports': [TEST_NIC],
'stp': False
},
TEST_VLANED_NETWORK: {
@@ -268,17 +228,17 @@
'ipv6gateway': '::',
'mtu': 1500,
'netmask': TEST_NETMASK,
- 'ports': [TEST_VLANED_BOND],
+ 'ports': [TEST_VLANED_NIC],
'stp': False
}
},
'vlans': {
- TEST_VLANED_BOND: {
+ TEST_VLANED_NIC: {
'addr': '',
'dhcpv4': False,
'dhcpv6': False,
'gateway': '',
- 'iface': TEST_BOND,
+ 'iface': TEST_NIC,
'ipv4addrs': [],
'ipv6addrs': [],
'ipv6autoconf': False,
@@ -290,74 +250,57 @@
}
}
- TEST_BRIDGELESS_NETINFO = {
+ TEST_BRIDGELESS_OVS_NETINFO = {
'networks': {
TEST_NETWORK: {
'addr': TEST_ADDRESS,
- 'bond': TEST_BOND,
+ 'bond': '',
'bridged': False,
'dhcpv4': False,
'dhcpv6': False,
'gateway': '',
- 'iface': TEST_BOND,
+ 'iface': TEST_NIC,
'ipv4addrs': [TEST_ADDRESS_WITH_PREFIX],
'ipv6addrs': [],
'ipv6autoconf': True,
'ipv6gateway': '::',
'mtu': 1500,
'netmask': TEST_NETMASK,
- 'nics': ['eth0', 'eth1'],
- 'ports': [TEST_BOND],
+ 'nics': [TEST_NIC],
+ 'ports': [TEST_NIC],
'stp': False,
- 'switch': 'ovs',
+ 'switch': 'ovs'
},
TEST_VLANED_NETWORK: {
'addr': TEST_ADDRESS,
- 'bond': TEST_BOND,
+ 'bond': '',
'bridged': False,
'dhcpv4': False,
'dhcpv6': False,
'gateway': '',
- 'iface': TEST_VLANED_BOND,
+ 'iface': TEST_VLANED_NIC,
'ipv4addrs': [TEST_ADDRESS_WITH_PREFIX],
'ipv6addrs': [],
'ipv6autoconf': True,
'ipv6gateway': '::',
'mtu': 1500,
'netmask': TEST_NETMASK,
- 'nics': ['eth0', 'eth1'],
- 'ports': [TEST_VLANED_BOND],
+ 'nics': [TEST_NIC],
+ 'ports': [TEST_VLANED_NIC],
'stp': False,
'switch': 'ovs',
'vlanid': TEST_VLAN
}
},
- 'bondings': {
- TEST_BOND: {
- 'active_slave': 'eth0',
- 'addr': TEST_ADDRESS,
- 'dhcpv4': False,
- 'dhcpv6': False,
- 'gateway': '',
- 'ipv4addrs': [TEST_ADDRESS_WITH_PREFIX],
- 'ipv6addrs': [],
- 'ipv6autoconf': True,
- 'ipv6gateway': '::',
- 'mtu': 1500,
- 'netmask': TEST_NETMASK,
- 'opts': {'mode': '1'},
- 'slaves': ['eth0', 'eth1'],
- 'switch': 'ovs'
- }
- },
+ 'bondings': {},
'bridges': {},
'vlans': {
- TEST_VLANED_BOND: {
+ TEST_VLANED_NIC: {
'addr': TEST_ADDRESS,
'dhcpv4': False,
'dhcpv6': False,
'gateway': '',
- 'iface': TEST_BOND,
+ 'iface': TEST_NIC,
'ipv4addrs': [TEST_ADDRESS_WITH_PREFIX],
'ipv6addrs': [],
'ipv6autoconf': True,
@@ -366,6 +309,36 @@
'netmask': TEST_NETMASK,
'vlanid': TEST_VLAN
}
+ }
+ }
+
+ TEST_NIC_NETINFO = {
+ TEST_NIC: {
+ 'addr': '',
+ 'dhcpv4': False,
+ 'dhcpv6': False,
+ 'gateway': '',
+ 'ipv4addrs': [],
+ 'ipv6addrs': [],
+ 'ipv6autoconf': True,
+ 'ipv6gateway': '::',
+ 'mtu': 1500,
+ 'netmask': ''
+ }
+ }
+
+ TEST_BRIDGELESS_NIC_NETINFO = {
+ TEST_NIC: {
+ 'addr': TEST_ADDRESS,
+ 'dhcpv4': False,
+ 'dhcpv6': False,
+ 'gateway': '',
+ 'ipv4addrs': [TEST_ADDRESS_WITH_PREFIX],
+ 'ipv6addrs': [],
+ 'ipv6autoconf': True,
+ 'ipv6gateway': '::',
+ 'mtu': 1500,
+ 'netmask': TEST_NETMASK
}
}
@@ -386,10 +359,10 @@
fake_running_bridgeless_ovs_networks = {
TEST_NETWORK, TEST_VLANED_NETWORK}
test_ovs_netinfo = deepcopy(self.TEST_OVS_NETINFO)
- test_nic_netinfo = {} # under bonding, should not be touched
+ test_nic_netinfo = deepcopy(self.TEST_NIC_NETINFO)
info.fake_bridgeless(test_ovs_netinfo, test_nic_netinfo,
fake_running_bridgeless_ovs_networks)
- self.assertEqual(test_ovs_netinfo, self.TEST_BRIDGELESS_NETINFO)
- self.assertEqual(test_nic_netinfo, {})
+ self.assertEqual(test_ovs_netinfo, self.TEST_BRIDGELESS_OVS_NETINFO)
+ self.assertEqual(test_nic_netinfo, self.TEST_BRIDGELESS_NIC_NETINFO)
--
To view, visit https://gerrit.ovirt.org/64408
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idd3ab225172a0edfda9bb998c509ed3c2e318401
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-4.0
Gerrit-Owner: Edward Haas <[email protected]>
Gerrit-Reviewer: Dan Kenigsberg <[email protected]>
Gerrit-Reviewer: Petr Horáček <[email protected]>
_______________________________________________
vdsm-patches mailing list -- [email protected]
To unsubscribe send an email to [email protected]