os-vif 4.0.0__py3-none-any.whl → 4.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of os-vif might be problematic. Click here for more details.
- os_vif/tests/unit/test_os_vif.py +14 -8
- {os_vif-4.0.0.dist-info → os_vif-4.1.0.dist-info}/AUTHORS +1 -0
- {os_vif-4.0.0.dist-info → os_vif-4.1.0.dist-info}/METADATA +17 -19
- {os_vif-4.0.0.dist-info → os_vif-4.1.0.dist-info}/RECORD +14 -14
- {os_vif-4.0.0.dist-info → os_vif-4.1.0.dist-info}/WHEEL +1 -1
- {os_vif-4.0.0.dist-info → os_vif-4.1.0.dist-info}/entry_points.txt +0 -1
- os_vif-4.1.0.dist-info/pbr.json +1 -0
- vif_plug_linux_bridge/linux_bridge.py +9 -0
- vif_plug_ovs/ovs.py +7 -3
- vif_plug_ovs/ovsdb/ovsdb_lib.py +6 -1
- vif_plug_ovs/tests/functional/test_plugin.py +35 -0
- vif_plug_ovs/tests/unit/test_plugin.py +4 -1
- os_vif-4.0.0.dist-info/pbr.json +0 -1
- {os_vif-4.0.0.dist-info → os_vif-4.1.0.dist-info}/LICENSE +0 -0
- {os_vif-4.0.0.dist-info → os_vif-4.1.0.dist-info}/top_level.txt +0 -0
os_vif/tests/unit/test_os_vif.py
CHANGED
|
@@ -105,10 +105,13 @@ class TestOSVIF(base.TestCase):
|
|
|
105
105
|
entry_point="os-vif",
|
|
106
106
|
plugin=DemoPlugin,
|
|
107
107
|
obj=None)
|
|
108
|
-
with mock.patch(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
with mock.patch(
|
|
109
|
+
'stevedore.extension.ExtensionManager.names',
|
|
110
|
+
return_value=['foobar'],
|
|
111
|
+
), mock.patch(
|
|
112
|
+
'stevedore.extension.ExtensionManager.__getitem__',
|
|
113
|
+
return_value=plg,
|
|
114
|
+
):
|
|
112
115
|
os_vif.initialize()
|
|
113
116
|
info = objects.instance_info.InstanceInfo()
|
|
114
117
|
vif = objects.vif.VIFBridge(
|
|
@@ -123,10 +126,13 @@ class TestOSVIF(base.TestCase):
|
|
|
123
126
|
entry_point="os-vif",
|
|
124
127
|
plugin=DemoPlugin,
|
|
125
128
|
obj=None)
|
|
126
|
-
with mock.patch(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
129
|
+
with mock.patch(
|
|
130
|
+
'stevedore.extension.ExtensionManager.names',
|
|
131
|
+
return_value=['foobar']
|
|
132
|
+
), mock.patch(
|
|
133
|
+
'stevedore.extension.ExtensionManager.__getitem__',
|
|
134
|
+
return_value=plg,
|
|
135
|
+
):
|
|
130
136
|
os_vif.initialize()
|
|
131
137
|
info = objects.instance_info.InstanceInfo()
|
|
132
138
|
vif = objects.vif.VIFBridge(
|
|
@@ -2,6 +2,7 @@ Adrian Chiris <adrianc@mellanox.com>
|
|
|
2
2
|
Alin Balutoiu <abalutoiu@cloudbasesolutions.com>
|
|
3
3
|
Andreas Jaeger <aj@suse.com>
|
|
4
4
|
Balazs Gibizer <gibi@redhat.com>
|
|
5
|
+
Bence Romsics <bence.romsics@gmail.com>
|
|
5
6
|
Brian Haley <brian.haley@hpe.com>
|
|
6
7
|
Cao Xuan Hoang <hoangcx@vn.fujitsu.com>
|
|
7
8
|
Carlos Goncalves <cgoncalves@redhat.com>
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
|
-
Name:
|
|
3
|
-
Version: 4.
|
|
2
|
+
Name: os_vif
|
|
3
|
+
Version: 4.1.0
|
|
4
4
|
Summary: A library for plugging and unplugging virtual interfaces in OpenStack.
|
|
5
5
|
Home-page: https://docs.openstack.org/os-vif/latest/
|
|
6
6
|
Author: OpenStack
|
|
7
7
|
Author-email: openstack-discuss@lists.openstack.org
|
|
8
|
-
License: UNKNOWN
|
|
9
|
-
Platform: UNKNOWN
|
|
10
8
|
Classifier: Environment :: OpenStack
|
|
11
9
|
Classifier: Intended Audience :: Information Technology
|
|
12
10
|
Classifier: Intended Audience :: System Administrators
|
|
@@ -21,19 +19,21 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
21
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
20
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
23
21
|
Requires-Python: >=3.9
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist: oslo.
|
|
28
|
-
Requires-Dist: oslo.
|
|
29
|
-
Requires-Dist: oslo.
|
|
30
|
-
Requires-Dist: oslo.
|
|
31
|
-
Requires-Dist: oslo.
|
|
32
|
-
Requires-Dist: oslo.
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
22
|
+
License-File: LICENSE
|
|
23
|
+
License-File: AUTHORS
|
|
24
|
+
Requires-Dist: pbr >=3.0.0
|
|
25
|
+
Requires-Dist: oslo.concurrency >=3.20.0
|
|
26
|
+
Requires-Dist: oslo.config >=5.1.0
|
|
27
|
+
Requires-Dist: oslo.log >=3.30.0
|
|
28
|
+
Requires-Dist: oslo.i18n >=3.15.3
|
|
29
|
+
Requires-Dist: oslo.privsep >=1.23.0
|
|
30
|
+
Requires-Dist: oslo.serialization >=2.20.0
|
|
31
|
+
Requires-Dist: oslo.utils >=2.0.0
|
|
32
|
+
Requires-Dist: oslo.versionedobjects >=1.28.0
|
|
33
|
+
Requires-Dist: ovsdbapp >=0.12.1
|
|
34
|
+
Requires-Dist: stevedore >=1.20.0
|
|
35
|
+
Requires-Dist: debtcollector >=1.19.0
|
|
36
|
+
Requires-Dist: pyroute2 >=0.5.2 ; (sys_platform!='win32')
|
|
37
37
|
|
|
38
38
|
========================
|
|
39
39
|
Team and repository tags
|
|
@@ -64,5 +64,3 @@ A library for plugging and unplugging virtual interfaces in OpenStack.
|
|
|
64
64
|
* Bugs: https://bugs.launchpad.net/os-vif
|
|
65
65
|
* Release Notes: https://docs.openstack.org/releasenotes/os-vif
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
@@ -35,7 +35,7 @@ os_vif/tests/unit/test_base.py,sha256=iqgweFRWprY98mkGL3HIbV9D8DuX_tUPH8uRiDflwD
|
|
|
35
35
|
os_vif/tests/unit/test_exception.py,sha256=UDVJSR3CKU3rc5kmN14ilL9Fj0cgnwQbGoP4weo2P4w,1335
|
|
36
36
|
os_vif/tests/unit/test_host_info.py,sha256=2PYHg4pY-YwUuSg9MyDKJbJhKVGRT6ujJATkzzIPx18,7576
|
|
37
37
|
os_vif/tests/unit/test_objects.py,sha256=WflvhMvvCauXexj04tCw47HvsysHX4Q7fsgJKrPNaI8,3709
|
|
38
|
-
os_vif/tests/unit/test_os_vif.py,sha256=
|
|
38
|
+
os_vif/tests/unit/test_os_vif.py,sha256=b0h65Wa9tvxw-e7c707SoJQjfGzEALSFZUPkTtr_GkY,6612
|
|
39
39
|
os_vif/tests/unit/test_vif.py,sha256=mhg2PZ3iVEPzffO5I0VT1wIUP3c-h7MAqrZgCuZdjxE,18000
|
|
40
40
|
os_vif/tests/unit/internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
41
|
os_vif/tests/unit/internal/ip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -45,7 +45,7 @@ os_vif/tests/unit/internal/ip/linux/test_impl_pyroute2.py,sha256=MbsDkFkVSmx3mqt
|
|
|
45
45
|
vif_plug_linux_bridge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
46
|
vif_plug_linux_bridge/constants.py,sha256=NC8n4uOMFCYrhq0sM1ZeGBKo-Gs4OMR60cYP47wMRCk,602
|
|
47
47
|
vif_plug_linux_bridge/iptables.py,sha256=q4LmAMMzg-r9IgDNTu3jCLjNDM8b0JbGo-qmiA2B-JE,20641
|
|
48
|
-
vif_plug_linux_bridge/linux_bridge.py,sha256=
|
|
48
|
+
vif_plug_linux_bridge/linux_bridge.py,sha256=oNf-HuLuaixlOyAL2CgZeZ3OHSknUh-zMhmPDI6XOBc,5345
|
|
49
49
|
vif_plug_linux_bridge/linux_net.py,sha256=0SuMKqMSNHRnSMs3XNVjBF0MPzhUuQIti159QkL8k1U,9481
|
|
50
50
|
vif_plug_linux_bridge/privsep.py,sha256=dHAVOrY7kC3hrfDy7OAyt17XG2TpZHwgMr0Pmgx1XYM,884
|
|
51
51
|
vif_plug_linux_bridge/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -61,29 +61,29 @@ vif_plug_ovs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
61
61
|
vif_plug_ovs/constants.py,sha256=vQKnYSeBMjV2RGQPGxk96D8FtgpvJIZEX_yZzUlsGg8,892
|
|
62
62
|
vif_plug_ovs/exception.py,sha256=ZiECZVvjCFTVXhuii3uhJn4lZvozKRxziedZB3R9JNo,1328
|
|
63
63
|
vif_plug_ovs/linux_net.py,sha256=HvhfSXjeAlU2l9iZNiN8CFr-GL9psS8Hk8_KAaktH6I,13922
|
|
64
|
-
vif_plug_ovs/ovs.py,sha256=
|
|
64
|
+
vif_plug_ovs/ovs.py,sha256=tN-JxK7VoIAdlradnk6kKCChenu_LLQWMKjJ_u834QY,22946
|
|
65
65
|
vif_plug_ovs/privsep.py,sha256=nPQUkYgjbSjaHMuu40fZArRnf8RBiR73l4YpDF1K1yQ,1100
|
|
66
66
|
vif_plug_ovs/ovsdb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
67
|
vif_plug_ovs/ovsdb/api.py,sha256=_jHR8xokDAPI8sw3IEWuT3hObJuskqVzeVMDaWRbIq0,1293
|
|
68
68
|
vif_plug_ovs/ovsdb/impl_idl.py,sha256=DR1aHN8riBpZyNePwpvT9PRYbf9vLk4lRJ9VHRVq_to,3028
|
|
69
69
|
vif_plug_ovs/ovsdb/impl_vsctl.py,sha256=MSf8JMrMqrwt5vH8KTsThjdnsttJEYJikIcJ12CTz8c,14437
|
|
70
|
-
vif_plug_ovs/ovsdb/ovsdb_lib.py,sha256=
|
|
70
|
+
vif_plug_ovs/ovsdb/ovsdb_lib.py,sha256=SJuEnl26wGOLzEXNdgVhrKue2FTPgCpLiVLNak34Buw,10505
|
|
71
71
|
vif_plug_ovs/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
72
72
|
vif_plug_ovs/tests/functional/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
73
|
vif_plug_ovs/tests/functional/base.py,sha256=GZKyA9UR9BaEgZ0tv6xyMTQnz9FpKedV2do1ePMB-rw,2059
|
|
74
|
-
vif_plug_ovs/tests/functional/test_plugin.py,sha256=
|
|
74
|
+
vif_plug_ovs/tests/functional/test_plugin.py,sha256=JzRiEIUonC4STcV9GWiwyaJybgOVxMSHyLmqACBf8Ck,8264
|
|
75
75
|
vif_plug_ovs/tests/functional/ovsdb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
76
|
vif_plug_ovs/tests/functional/ovsdb/test_ovsdb_lib.py,sha256=tXSTmjYWOmqLXYQ42_3Sv8XNNktlDxPDalJRr8KRwCU,13775
|
|
77
77
|
vif_plug_ovs/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
78
78
|
vif_plug_ovs/tests/unit/test_linux_net.py,sha256=B3buNpn9EKZQPio5rNrIma_E5MUL9vBspdg5EqZ3RHk,17532
|
|
79
|
-
vif_plug_ovs/tests/unit/test_plugin.py,sha256=
|
|
79
|
+
vif_plug_ovs/tests/unit/test_plugin.py,sha256=YfJXJirOWbZB2l2VHTiJPCMZlgBCyRXDAFgzEj6pQeY,30827
|
|
80
80
|
vif_plug_ovs/tests/unit/ovsdb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
81
|
vif_plug_ovs/tests/unit/ovsdb/test_ovsdb_lib.py,sha256=-Z50UgEgg2awEgPb_r_iqQBsyYTKlSadi3S9laGFfjg,10270
|
|
82
|
-
os_vif-4.
|
|
83
|
-
os_vif-4.
|
|
84
|
-
os_vif-4.
|
|
85
|
-
os_vif-4.
|
|
86
|
-
os_vif-4.
|
|
87
|
-
os_vif-4.
|
|
88
|
-
os_vif-4.
|
|
89
|
-
os_vif-4.
|
|
82
|
+
os_vif-4.1.0.dist-info/AUTHORS,sha256=Jl9BVjDjzq5vO3_b0rnuUWx-P4wsTnfH8iLVMFZrUH8,3290
|
|
83
|
+
os_vif-4.1.0.dist-info/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
|
|
84
|
+
os_vif-4.1.0.dist-info/METADATA,sha256=rDAbv57FXl1MAJQmQsJsLw5cK6bAEOHMwVCtVxEfOfI,2338
|
|
85
|
+
os_vif-4.1.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
86
|
+
os_vif-4.1.0.dist-info/entry_points.txt,sha256=BU9WplZnF_bjwT4SQP5n1mKu2f0R5xXBOznXP1GygHM,206
|
|
87
|
+
os_vif-4.1.0.dist-info/pbr.json,sha256=Yy5hVFB_dwDLDjOBUX039V8KA8i0TiV456Q_kkEfqDM,46
|
|
88
|
+
os_vif-4.1.0.dist-info/top_level.txt,sha256=ULBxtkTk3bkfzCSYJjifWehfjJdMODVzC6SX5l_CNKo,56
|
|
89
|
+
os_vif-4.1.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"git_version": "acdd974", "is_release": true}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
# License for the specific language governing permissions and limitations
|
|
18
18
|
# under the License.
|
|
19
19
|
|
|
20
|
+
import debtcollector.removals
|
|
20
21
|
from os_vif import objects
|
|
21
22
|
from os_vif import plugin
|
|
22
23
|
from oslo_config import cfg
|
|
@@ -94,6 +95,10 @@ class LinuxBridgePlugin(plugin.PluginBase):
|
|
|
94
95
|
supported_port_profiles=[]),
|
|
95
96
|
])
|
|
96
97
|
|
|
98
|
+
@debtcollector.removals.remove(
|
|
99
|
+
message="LinuxBridgePlugin is deprecated and will be removed in "
|
|
100
|
+
"a future release",
|
|
101
|
+
category=DeprecationWarning)
|
|
97
102
|
def plug(self, vif, instance_info):
|
|
98
103
|
"""Ensure that the bridge exists, and add VIF to it."""
|
|
99
104
|
network = vif.network
|
|
@@ -111,6 +116,10 @@ class LinuxBridgePlugin(plugin.PluginBase):
|
|
|
111
116
|
linux_net.ensure_bridge(bridge_name, iface,
|
|
112
117
|
filtering=install_filters, mtu=mtu)
|
|
113
118
|
|
|
119
|
+
@debtcollector.removals.remove(
|
|
120
|
+
message="LinuxBridgePlugin is deprecated and will be removed in "
|
|
121
|
+
"a future release",
|
|
122
|
+
category=DeprecationWarning)
|
|
114
123
|
def unplug(self, vif, instance_info):
|
|
115
124
|
# Nothing required to unplug a port for a VIF using standard
|
|
116
125
|
# Linux bridge device...
|
vif_plug_ovs/ovs.py
CHANGED
|
@@ -202,8 +202,12 @@ class OvsPlugin(plugin.PluginBase):
|
|
|
202
202
|
# bound the interface in the vif binding details so isolation
|
|
203
203
|
# can be enabled automatically in the future.
|
|
204
204
|
bridge = kwargs.pop('bridge', vif.network.bridge)
|
|
205
|
-
|
|
205
|
+
# See bug #2069543.
|
|
206
|
+
if (self._isolate_vif(vif_name, bridge) and
|
|
207
|
+
not self._is_trunk_bridge(bridge)):
|
|
206
208
|
kwargs['tag'] = constants.DEAD_VLAN
|
|
209
|
+
kwargs['vlan_mode'] = 'trunk'
|
|
210
|
+
kwargs['trunks'] = constants.DEAD_VLAN
|
|
207
211
|
qos_type = self._get_qos_type(vif)
|
|
208
212
|
if qos_type is not None:
|
|
209
213
|
# NOTE(sean-k-mooney): If the port is not already created
|
|
@@ -303,8 +307,8 @@ class OvsPlugin(plugin.PluginBase):
|
|
|
303
307
|
instance_id = instance_info.uuid
|
|
304
308
|
LOG.debug(
|
|
305
309
|
'creating patch port pair \n'
|
|
306
|
-
f'{port_bridge_name}:({port_bridge_patch}) -> '
|
|
307
|
-
f'{int_bridge_name}:({int_bridge_patch})'
|
|
310
|
+
f'{port_bridge_name}: ({port_bridge_patch}) -> '
|
|
311
|
+
f'{int_bridge_name}: ({int_bridge_patch})'
|
|
308
312
|
)
|
|
309
313
|
self.ovsdb.create_patch_port_pair(
|
|
310
314
|
port_bridge_name, port_bridge_patch, int_bridge_name,
|
vif_plug_ovs/ovsdb/ovsdb_lib.py
CHANGED
|
@@ -139,7 +139,7 @@ class BaseOVS(object):
|
|
|
139
139
|
self, bridge, dev, iface_id, mac, instance_id,
|
|
140
140
|
mtu=None, interface_type=None, vhost_server_path=None,
|
|
141
141
|
tag=None, pf_pci=None, vf_num=None, set_ids=True, datapath_type=None,
|
|
142
|
-
qos_type=None
|
|
142
|
+
qos_type=None, vlan_mode=None, trunks=None
|
|
143
143
|
):
|
|
144
144
|
"""Create OVS port
|
|
145
145
|
|
|
@@ -204,6 +204,11 @@ class BaseOVS(object):
|
|
|
204
204
|
txn.add(self.ovsdb.add_port(bridge, dev))
|
|
205
205
|
if tag:
|
|
206
206
|
txn.add(self.ovsdb.db_set('Port', dev, ('tag', tag)))
|
|
207
|
+
if vlan_mode:
|
|
208
|
+
txn.add(self.ovsdb.db_set('Port', dev,
|
|
209
|
+
('vlan_mode', vlan_mode)))
|
|
210
|
+
if trunks:
|
|
211
|
+
txn.add(self.ovsdb.db_set('Port', dev, ('trunks', trunks)))
|
|
207
212
|
if qid:
|
|
208
213
|
txn.add(self.ovsdb.db_set('Port', dev, ('qos', qid)))
|
|
209
214
|
if col_values:
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
import testscenarios
|
|
14
14
|
import time
|
|
15
|
+
from unittest import mock
|
|
15
16
|
|
|
16
17
|
from oslo_concurrency import processutils
|
|
17
18
|
from oslo_config import cfg
|
|
@@ -183,3 +184,37 @@ class TestOVSPlugin(testscenarios.WithScenarios,
|
|
|
183
184
|
self._check_parameter(
|
|
184
185
|
'QoS', str(qos_uuid), 'type', None
|
|
185
186
|
)
|
|
187
|
+
|
|
188
|
+
def test_plug_br_int_isolate_vif_dead_vlan(self):
|
|
189
|
+
with mock.patch.object(self.plugin.config, 'isolate_vif', True):
|
|
190
|
+
network = objects.network.Network(
|
|
191
|
+
id='5449523c-3a08-11ef-86d6-17149687aa4d',
|
|
192
|
+
bridge='br-5449523c',
|
|
193
|
+
subnets=self.subnets,
|
|
194
|
+
vlan=99)
|
|
195
|
+
vif = objects.vif.VIFOpenVSwitch(
|
|
196
|
+
id='85cb9bc6-3a08-11ef-b2d4-9b7c38edd677',
|
|
197
|
+
address='ca:fe:de:ad:be:ef',
|
|
198
|
+
network=network,
|
|
199
|
+
port_profile=self.profile_ovs_system,
|
|
200
|
+
vif_name="port-85cb9bc6")
|
|
201
|
+
self.plugin.plug(vif, self.instance)
|
|
202
|
+
self.addCleanup(self._del_bridge, 'br-5449523c')
|
|
203
|
+
self._check_parameter('Port', vif.vif_name, 'tag', 4095)
|
|
204
|
+
|
|
205
|
+
def test_plug_trunk_bridge_ignores_isolate_vif(self):
|
|
206
|
+
with mock.patch.object(self.plugin.config, 'isolate_vif', True):
|
|
207
|
+
network = objects.network.Network(
|
|
208
|
+
id='ef98b384-3a0f-11ef-9009-47345fca266f',
|
|
209
|
+
bridge='tbr-ef98b384',
|
|
210
|
+
subnets=self.subnets,
|
|
211
|
+
vlan=99)
|
|
212
|
+
vif = objects.vif.VIFOpenVSwitch(
|
|
213
|
+
id='631f52bc-3a07-11ef-a006-1319ef9d6edd',
|
|
214
|
+
address='ca:fe:de:ad:be:ef',
|
|
215
|
+
network=network,
|
|
216
|
+
port_profile=self.profile_ovs_system,
|
|
217
|
+
vif_name='port-631f52bc')
|
|
218
|
+
self.plugin.plug(vif, self.instance)
|
|
219
|
+
self.addCleanup(self._del_bridge, 'tbr-ef98b384')
|
|
220
|
+
self._check_parameter('Port', vif.vif_name, 'tag', [])
|
|
@@ -219,7 +219,10 @@ class PluginTest(testtools.TestCase):
|
|
|
219
219
|
self.vif_ovs.address, self.instance.uuid,
|
|
220
220
|
mtu=plugin.config.network_device_mtu,
|
|
221
221
|
interface_type=constants.OVS_VHOSTUSER_INTERFACE_TYPE,
|
|
222
|
-
tag=constants.DEAD_VLAN
|
|
222
|
+
tag=constants.DEAD_VLAN,
|
|
223
|
+
vlan_mode='trunk',
|
|
224
|
+
trunks=constants.DEAD_VLAN
|
|
225
|
+
)
|
|
223
226
|
|
|
224
227
|
@mock.patch.object(ovsdb_lib.BaseOVS, 'create_ovs_vif_port')
|
|
225
228
|
@mock.patch.object(ovsdb_lib.BaseOVS, 'port_exists')
|
os_vif-4.0.0.dist-info/pbr.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"git_version": "7152159", "is_release": true}
|
|
File without changes
|
|
File without changes
|