]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
set default for gw conn info in nvp_networkgw extension
authorSalvatore Orlando <salv.orlando@gmail.com>
Thu, 23 May 2013 14:31:36 +0000 (16:31 +0200)
committerSalvatore Orlando <salv.orlando@gmail.com>
Fri, 14 Jun 2013 15:12:01 +0000 (17:12 +0200)
Bug 1183285

This patch simply guarantees default segmentation type and
id in gateway connection info for the 'connect' and 'disconnect'
actions are correctly set respectively to 'flat' and 0.

Change-Id: I1b4e8274651e05f4681878ab70daef990ece901b

quantum/plugins/nicira/nicira_networkgw_db.py
quantum/tests/unit/nicira/test_networkgw.py

index 9a89e8b9349ff828abf72d244ca156a3ebe5da56..1cca562a1e834b4261e879e4b64a719231f545c5 100644 (file)
@@ -153,7 +153,14 @@ class NetworkGatewayMixin(nvp_networkgw.NetworkGatewayPluginBase):
                             for conn in network_gateway.network_connections]
         return self._fields(res, fields)
 
+    def _set_mapping_info_defaults(self, mapping_info):
+        if not mapping_info.get('segmentation_type'):
+            mapping_info['segmentation_type'] = 'flat'
+        if not mapping_info.get('segmentation_id'):
+            mapping_info['segmentation_id'] = 0
+
     def _validate_network_mapping_info(self, network_mapping_info):
+        self._set_mapping_info_defaults(network_mapping_info)
         network_id = network_mapping_info.get(NETWORK_ID)
         if not network_id:
             raise exceptions.InvalidInput(
index 35a3a05dc2b9066359c9e46d300a008cc1e0efc7..5e8ddfc147dd01a23784a121d718c9c0b58367c5 100644 (file)
@@ -422,6 +422,9 @@ class NetworkGatewayDbTestCase(test_db_plugin.QuantumDbPluginV2TestCase):
     def test_connect_and_disconnect_network(self):
         self._test_connect_and_disconnect_network('flat')
 
+    def test_connect_and_disconnect_network_no_seg_type(self):
+        self._test_connect_and_disconnect_network(None)
+
     def test_connect_and_disconnect_network_with_segmentation_id(self):
         self._test_connect_and_disconnect_network('vlan', 999)