diff --git a/neutron/plugins/cisco/n1kv/n1kv_client.py b/neutron/plugins/cisco/n1kv/n1kv_client.py index 5a400dec48f..b07e1c51f1e 100644 --- a/neutron/plugins/cisco/n1kv/n1kv_client.py +++ b/neutron/plugins/cisco/n1kv/n1kv_client.py @@ -256,6 +256,8 @@ class Client(object): 'id': network_profile['id'], 'logicalNetwork': logical_network_name, 'tenantId': tenant_id} + if network_profile['segment_type'] == c_const.NETWORK_TYPE_OVERLAY: + body['subType'] = network_profile['sub_type'] return self._post( self.network_segment_pool_path % network_profile['id'], body=body) diff --git a/neutron/tests/unit/cisco/n1kv/test_n1kv_plugin.py b/neutron/tests/unit/cisco/n1kv/test_n1kv_plugin.py index ef08e035476..7ba721fdec8 100644 --- a/neutron/tests/unit/cisco/n1kv/test_n1kv_plugin.py +++ b/neutron/tests/unit/cisco/n1kv/test_n1kv_plugin.py @@ -272,6 +272,13 @@ class TestN1kvNetworkProfiles(N1kvPluginTestCase): res = net_p_req.get_response(self.ext_api) self.assertEqual(res.status_int, 201) + def test_create_network_profile_overlay_missing_subtype(self): + data = self._prepare_net_profile_data(c_const.NETWORK_TYPE_OVERLAY) + data['network_profile'].pop('sub_type') + net_p_req = self.new_create_request('network_profiles', data) + res = net_p_req.get_response(self.ext_api) + self.assertEqual(res.status_int, 400) + def test_create_network_profile_trunk(self): data = self._prepare_net_profile_data(c_const.NETWORK_TYPE_TRUNK) net_p_req = self.new_create_request('network_profiles', data)