summaryrefslogtreecommitdiff
path: root/nova/tests/fixtures/neutron.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests/fixtures/neutron.py')
-rw-r--r--nova/tests/fixtures/neutron.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/nova/tests/fixtures/neutron.py b/nova/tests/fixtures/neutron.py
index 681d52601d..a41007b83c 100644
--- a/nova/tests/fixtures/neutron.py
+++ b/nova/tests/fixtures/neutron.py
@@ -730,19 +730,22 @@ class NeutronFixture(fixtures.Fixture):
self._validate_port_binding(port_id, host_id)
del self._port_bindings[port_id][host_id]
- def _activate_port_binding(self, port_id, host_id):
+ def _activate_port_binding(self, port_id, host_id, modify_port=False):
# It makes sure that only one binding is active for a port
for host, binding in self._port_bindings[port_id].items():
if host == host_id:
# NOTE(gibi): neutron returns 409 if this binding is already
# active but nova does not depend on this behaviour yet.
binding['status'] = 'ACTIVE'
+ if modify_port:
+ # We need to ensure that port's binding:host_id is valid
+ self._merge_in_active_binding(self._ports[port_id])
else:
binding['status'] = 'INACTIVE'
def activate_port_binding(self, port_id, host_id):
self._validate_port_binding(port_id, host_id)
- self._activate_port_binding(port_id, host_id)
+ self._activate_port_binding(port_id, host_id, modify_port=True)
def show_port_binding(self, port_id, host_id):
self._validate_port_binding(port_id, host_id)