Renders service net map for THT
[apex.git] / apex / network / network_environment.py
index ea71e0f..52b4452 100644 (file)
@@ -82,7 +82,7 @@ class NetworkEnvironment(dict):
         admin_prefix = str(admin_cidr.prefixlen)
         self[param_def]['ControlPlaneSubnetCidr'] = admin_prefix
         self[param_def]['ControlPlaneDefaultRoute'] = \
-            nets[ADMIN_NETWORK]['installer_vm']['ip']
+            nets[ADMIN_NETWORK]['gateway']
         self[param_def]['EC2MetadataIp'] = \
             nets[ADMIN_NETWORK]['installer_vm']['ip']
         self[param_def]['DnsServers'] = net_settings['dns_servers']
@@ -186,6 +186,8 @@ class NetworkEnvironment(dict):
             for flag in IPV6_FLAGS:
                 self[param_def][flag] = True
 
+        self._update_service_netmap(net_settings.enabled_network_list)
+
     def _get_vlan(self, network):
         if isinstance(network['nic_mapping'][CONTROLLER]['vlan'], int):
             return network['nic_mapping'][CONTROLLER]['vlan']
@@ -218,6 +220,13 @@ class NetworkEnvironment(dict):
                 prefix = ''
             self[reg][key] = self.tht_dir + prefix + postfix
 
+    def _update_service_netmap(self, network_list):
+        if 'ServiceNetMap' not in self[param_def]:
+            return
+        for service, network in self[param_def]['ServiceNetMap'].items():
+            if network not in network_list:
+                self[param_def]['ServiceNetMap'][service] = 'ctlplane'
+
 
 class NetworkEnvException(Exception):
     def __init__(self, value):