Fix loading of boolean values in configuration and set missing default values
[osm/LCM.git] / osm_lcm / lcm.py
index 9f0e310..5638943 100644 (file)
@@ -28,7 +28,6 @@ import logging
 import logging.handlers
 import getopt
 import sys
-import configparser
 
 from osm_lcm import ns, vim_sdn, netslice
 from osm_lcm.ng_ro import NgRoException, NgRoClient
@@ -750,37 +749,12 @@ class Lcm:
             self.fs.fs_disconnect()
 
     def read_config_file(self, config_file):
-        # TODO make a [ini] + yaml inside parser
-        # the configparser library is not suitable, because it does not admit comments at the end of line,
-        # and not parse integer or boolean
-        conf = {}
         try:
-            # read file as yaml format
-            config = configparser.ConfigParser(inline_comment_prefixes="#")
-            config.read(config_file)
-            conf = {s: dict(config.items(s)) for s in config.sections()}
+            with open(config_file) as f:
+                return yaml.safe_load(f)
         except Exception as e:
             self.logger.critical("At config file '{}': {}".format(config_file, e))
-            self.logger.critical("Trying to load config as legacy mode")
-            try:
-                with open(config_file) as f:
-                    conf = yaml.safe_load(f)
-                # Ensure all sections are not empty
-                for k in (
-                    "global",
-                    "timeout",
-                    "RO",
-                    "VCA",
-                    "database",
-                    "storage",
-                    "message",
-                ):
-                    if not conf.get(k):
-                        conf[k] = {}
-            except Exception as e:
-                self.logger.critical("At config file '{}': {}".format(config_file, e))
-                exit(1)
-        return conf
+            exit(1)
 
     @staticmethod
     def get_process_id():