Migrates Apex to Python
[apex.git] / apex / settings / network_settings.py
similarity index 88%
rename from lib/python/apex/network_settings.py
rename to apex/settings/network_settings.py
index 79b0a9d..1487007 100644 (file)
@@ -7,14 +7,14 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-import yaml
-import logging
 import ipaddress
-
+import logging
 from copy import copy
-from .common import utils
-from . import ip_utils
-from .common.constants import (
+
+import yaml
+
+from apex.common import utils
+from apex.common.constants import (
     CONTROLLER,
     COMPUTE,
     ROLES,
@@ -25,6 +25,7 @@ from .common.constants import (
     EXTERNAL_NETWORK,
     OPNFV_NETWORK_TYPES,
 )
+from apex.network import ip_utils
 
 
 class NetworkSettings(dict):
@@ -50,7 +51,7 @@ class NetworkSettings(dict):
         super().__init__(init_dict)
 
         if 'apex' in self:
-            # merge two dics Nondestructively
+            # merge two dicts Non-destructively
             def merge(pri, sec):
                 for key, val in sec.items():
                     if key in pri:
@@ -116,6 +117,8 @@ class NetworkSettings(dict):
 
         if 'dns-domain' not in self:
             self['domain_name'] = DOMAIN_NAME
+        else:
+            self['domain_name'] = self['dns-domain']
         self['dns_servers'] = self.get('dns_nameservers', DNS_SERVERS)
         self['ntp_servers'] = self.get('ntp', NTP_SERVER)
 
@@ -266,6 +269,7 @@ class NetworkSettings(dict):
             - gateway
         """
         if network == ADMIN_NETWORK:
+            # FIXME: _config_ip  function does not exist!
             self._config_ip(network, None, 'provisioner_ip', 1)
             self._config_ip_range(network=network,
                                   ip_range='dhcp_range',
@@ -274,6 +278,7 @@ class NetworkSettings(dict):
                                   ip_range='introspection_range',
                                   start_offset=11, count=9)
         elif network == EXTERNAL_NETWORK:
+            # FIXME: _config_ip  function does not exist!
             self._config_ip(network, None, 'provisioner_ip', 1)
             self._config_ip_range(network=network,
                                   ip_range='floating_ip_range',
@@ -302,44 +307,6 @@ class NetworkSettings(dict):
 
         logging.info("Config Gateway: {} {}".format(network, gateway))
 
-    def dump_bash(self, path=None):
-        """
-        Prints settings for bash consumption.
-
-        If optional path is provided, bash string will be written to the file
-        instead of stdout.
-        """
-        def flatten(name, obj, delim=','):
-            """
-            flatten lists to delim separated strings
-            flatten dics to underscored key names and string values
-            """
-            if isinstance(obj, list):
-                return "{}=\'{}\'\n".format(name,
-                                            delim.join(map(lambda x: str(x),
-                                                           obj)))
-            elif isinstance(obj, dict):
-                flat_str = ''
-                for k in obj:
-                    flat_str += flatten("{}_{}".format(name, k), obj[k])
-                return flat_str
-            elif isinstance(obj, str):
-                return "{}='{}'\n".format(name, obj)
-            else:
-                return "{}={}\n".format(name, str(obj))
-
-        bash_str = ''
-        for network in self.enabled_network_list:
-            _network = self.get_network(network)
-            bash_str += flatten(network, _network)
-        bash_str += flatten('enabled_network_list',
-                            self.enabled_network_list, ' ')
-        bash_str += flatten('ip_addr_family', self.get_ip_addr_family())
-        bash_str += flatten('dns_servers', self['dns_servers'], ' ')
-        bash_str += flatten('domain_name', self['dns-domain'], ' ')
-        bash_str += flatten('ntp_server', self['ntp_servers'][0], ' ')
-        utils.write_str(bash_str, path)
-
     def get_ip_addr_family(self,):
         """
         Returns IP address family for current deployment.