Skip to content

Commit 414b46a

Browse files
authored
Merge pull request #95 from stackhpc/nvue-vlan-aware-caracal
Add vlan aware VMs support (backport nvue)
2 parents 9f36fd1 + a072469 commit 414b46a

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

Diff for: networking_generic_switch/devices/netmiko_devices/cumulus.py

+14
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ class CumulusNVUE(netmiko_devices.NetmikoSwitch):
117117
]
118118

119119
PLUG_PORT_TO_NETWORK = [
120+
'nv unset interface {port} bridge domain br_default vlan',
121+
'nv unset interface {port} bridge domain br_default untagged',
120122
'nv set interface {port} bridge domain br_default access '
121123
'{segmentation_id}',
122124
]
@@ -137,6 +139,18 @@ class CumulusNVUE(netmiko_devices.NetmikoSwitch):
137139
'nv config save',
138140
]
139141

142+
SET_NATIVE_VLAN = [
143+
'nv unset interface {port} bridge domain br_default access',
144+
'nv set interface {port} bridge domain br_default untagged '
145+
'{segmentation_id}',
146+
'nv set interface {port} bridge domain br_default vlan '
147+
'{segmentation_id}'
148+
]
149+
ALLOW_NETWORK_ON_TRUNK = [
150+
'nv set interface {port} bridge domain br_default vlan '
151+
'{segmentation_id}'
152+
]
153+
140154
ERROR_MSG_PATTERNS = [
141155
# Its tempting to add this error message, but as only one
142156
# bridge-access is allowed, we ignore that error for now:

Diff for: networking_generic_switch/tests/unit/netmiko/test_cumulus_nvue.py

+14-2
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ def test_plug_port_to_network(self, mock_exec):
5454
mock_exec.assert_called_with(
5555
['nv set interface 3333 link state up',
5656
'nv unset interface 3333 bridge domain br_default access',
57+
'nv unset interface 3333 bridge domain br_default vlan',
58+
'nv unset interface 3333 bridge domain br_default untagged',
5759
'nv set interface 3333 bridge domain br_default access 33'])
5860

5961
@mock.patch('networking_generic_switch.devices.netmiko_devices.'
@@ -85,7 +87,9 @@ def test_plug_port_simple(self, mock_exec):
8587
})
8688
switch.plug_port_to_network(3333, 33)
8789
mock_exec.assert_called_with(
88-
['nv set interface 3333 bridge domain br_default access 33'])
90+
['nv unset interface 3333 bridge domain br_default vlan',
91+
'nv unset interface 3333 bridge domain br_default untagged',
92+
'nv set interface 3333 bridge domain br_default access 33'])
8993

9094
@mock.patch('networking_generic_switch.devices.netmiko_devices.'
9195
'NetmikoSwitch.send_commands_to_device',
@@ -95,6 +99,8 @@ def test_delete_port(self, mock_exec):
9599
mock_exec.assert_called_with(
96100
['nv unset interface 3333 bridge domain br_default access',
97101
'nv set bridge domain br_default vlan 123',
102+
'nv unset interface 3333 bridge domain br_default vlan',
103+
'nv unset interface 3333 bridge domain br_default untagged',
98104
'nv set interface 3333 bridge domain br_default access 123',
99105
'nv set interface 3333 link state down'])
100106

@@ -118,6 +124,8 @@ def test_plug_bond_to_network(self, mock_exec):
118124
mock_exec.assert_called_with(
119125
['nv set interface 3333 link state up',
120126
'nv unset interface 3333 bridge domain br_default access',
127+
'nv unset interface 3333 bridge domain br_default vlan',
128+
'nv unset interface 3333 bridge domain br_default untagged',
121129
'nv set interface 3333 bridge domain br_default access 33'])
122130

123131
@mock.patch('networking_generic_switch.devices.netmiko_devices.'
@@ -130,7 +138,9 @@ def test_plug_bond_simple(self, mock_exec):
130138
})
131139
switch.plug_bond_to_network(3333, 33)
132140
mock_exec.assert_called_with(
133-
['nv set interface 3333 bridge domain br_default access 33'])
141+
['nv unset interface 3333 bridge domain br_default vlan',
142+
'nv unset interface 3333 bridge domain br_default untagged',
143+
'nv set interface 3333 bridge domain br_default access 33'])
134144

135145
@mock.patch('networking_generic_switch.devices.netmiko_devices.'
136146
'NetmikoSwitch.send_commands_to_device',
@@ -140,6 +150,8 @@ def test_unplug_bond_from_network(self, mock_exec):
140150
mock_exec.assert_called_with(
141151
['nv unset interface 3333 bridge domain br_default access',
142152
'nv set bridge domain br_default vlan 123',
153+
'nv unset interface 3333 bridge domain br_default vlan',
154+
'nv unset interface 3333 bridge domain br_default untagged',
143155
'nv set interface 3333 bridge domain br_default access 123',
144156
'nv set interface 3333 link state down'])
145157

0 commit comments

Comments
 (0)