Default ctlplane to native VLAN 87/57787/1
authorTim Rozet <trozet@redhat.com>
Wed, 23 May 2018 20:09:47 +0000 (16:09 -0400)
committerTim Rozet <trozet@redhat.com>
Wed, 23 May 2018 20:09:47 +0000 (16:09 -0400)
We were not setting any vlan type value for the admin network.  This
caused an issue when deploying and trying to use a single collapsed
network (no net isolation).  The issue occurred when trying to create an
external neutron network.  We happen to check if the phys type is flat
or vlan using this attribute to decide what kind of phys type to use for
the neutron network.

JIRA: APEX-606

Change-Id: I4e24dd5e8b99cef920b8203b820a77d0021631cc
Signed-off-by: Tim Rozet <trozet@redhat.com>
apex/settings/network_settings.py
apex/tests/test_apex_network_settings.py

index f656683..36d143c 100644 (file)
@@ -167,10 +167,13 @@ class NetworkSettings(dict):
         """
         _network = self.get_network(network)
         # if vlan not defined then default it to native
-        if network is not ADMIN_NETWORK:
-            for role in ROLES:
+        for role in ROLES:
+            if network is not ADMIN_NETWORK:
                 if 'vlan' not in _network['nic_mapping'][role]:
                     _network['nic_mapping'][role]['vlan'] = 'native'
+            else:
+                # ctlplane network must be native
+                _network['nic_mapping'][role]['vlan'] = 'native'
 
         cidr = _network.get('cidr')
 
index 5e2fa07..764c9ef 100644 (file)
@@ -112,6 +112,9 @@ class TestNetworkSettings:
         # remove vlan from storage net
         storage_net_nicmap['compute'].pop('vlan', None)
         assert_is_instance(NetworkSettings(ns), NetworkSettings)
+        for role in ('compute', 'controller'):
+            assert_equal(ns['networks'][ADMIN_NETWORK]['nic_mapping'][
+                         role]['vlan'], 'native')
 
 # TODO
 # need to manipulate interfaces some how