BigSwitch ML2: Include bound_segment in port

Includes bound segment in port create/update
requests to disambiguate when the parent network
has multiple segments.

Closes-Bug: #1294355
Change-Id: I59ef38aa5de46c1229384e0c4a9f0ee01c1bc678
This commit is contained in:
Kevin Benton 2014-03-18 13:11:27 -07:00
parent ad57ebb143
commit 323d3902a5
2 changed files with 12 additions and 0 deletions

View File

@ -98,6 +98,7 @@ class BigSwitchMechanismDriver(NeutronRestProxyV2Base,
net = context.network.current
port['network'] = net
port['binding_host'] = context._binding.host
port['bound_segment'] = context.bound_segment
actx = ctx.get_admin_context()
if (portbindings.HOST_ID in port and 'id' in port):
host_id = port[portbindings.HOST_ID]

View File

@ -123,3 +123,14 @@ class TestBigSwitchMechDriverPortsV2(test_db_plugin.TestPortsV2,
)
])
self.spawn_p.start()
def test_backend_request_contents(self):
with nested(
mock.patch(SERVER_POOL + '.rest_create_port'),
self.port(**{'device_id': 'devid', 'binding:host_id': 'host'})
) as (mock_rest, p):
# make sure basic expected keys are present in the port body
pb = mock_rest.mock_calls[0][1][2]
self.assertEqual('host', pb['binding_host'])
self.assertIn('bound_segment', pb)
self.assertIn('network', pb)