2
from .releases import base_vm_classes as relbase
3
from .test_network import TestNetworkBaseTestsAbs
9
class TestNetworkVlanAbs(TestNetworkBaseTestsAbs):
10
conf_file = "examples/tests/vlan_network.yaml"
11
collect_scripts = TestNetworkBaseTestsAbs.collect_scripts + [
14
dpkg-query -W -f '${Status}' vlan > vlan_installed
15
ip -d link show interface1.2667 > ip_link_show_interface1.2667
16
ip -d link show interface1.2668 > ip_link_show_interface1.2668
17
ip -d link show interface1.2669 > ip_link_show_interface1.2669
18
ip -d link show interface1.2670 > ip_link_show_interface1.2670
22
network_state = self.get_network_state()
23
logger.debug('get_vlans ns:\n%s', yaml.dump(network_state,
24
default_flow_style=False,
26
interfaces = network_state.get('interfaces')
27
return [iface for iface in interfaces.values()
28
if iface['type'] == 'vlan']
30
def test_output_files_exist_vlan(self):
31
link_files = ["ip_link_show_%s" % vlan['name']
32
for vlan in self.get_vlans()]
33
self.output_files_exist(["vlan_installed"] + link_files)
35
def test_vlan_installed(self):
36
status = self.load_collect_file("vlan_installed").strip()
37
logger.debug('vlan installed?: %s', status)
38
self.assertEqual('install ok installed', status)
40
def test_vlan_enabled(self):
42
# we must have at least one
43
self.assertGreaterEqual(len(self.get_vlans()), 1)
45
# did they get configured?
46
for vlan in self.get_vlans():
47
link_file = "ip_link_show_" + vlan['name']
48
vlan_msg = "vlan protocol 802.1Q id " + str(vlan['vlan_id'])
49
self.check_file_regex(link_file, vlan_msg)
52
class PreciseTestNetworkVlan(relbase.precise, TestNetworkVlanAbs):
55
# precise ip -d link show output is different (of course)
56
def test_vlan_enabled(self):
58
# we must have at least one
59
self.assertGreaterEqual(len(self.get_vlans()), 1)
61
# did they get configured?
62
for vlan in self.get_vlans():
63
link_file = "ip_link_show_" + vlan['name']
64
vlan_msg = "vlan id " + str(vlan['vlan_id'])
65
self.check_file_regex(link_file, vlan_msg)
68
class TrustyTestNetworkVlan(relbase.trusty, TestNetworkVlanAbs):
72
class XenialTestNetworkVlan(relbase.xenial, TestNetworkVlanAbs):
76
class YakketyTestNetworkVlan(relbase.yakkety, TestNetworkVlanAbs):