X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FRO.git;a=blobdiff_plain;f=RO%2Fosm_ro%2Fopenmanod.py;h=d53450dd1530d5bf26f7bd95fa4bc046fe78fcbf;hp=637b1da2b6bcd9cbc5951a9dd43fbee276201496;hb=187b52ae9922b3b3170080ec78958d7933bde813;hpb=57dadcfd0fcf3c8e933602e2fb57f32658d9c845 diff --git a/RO/osm_ro/openmanod.py b/RO/osm_ro/openmanod.py index 637b1da2..d53450dd 100755 --- a/RO/osm_ro/openmanod.py +++ b/RO/osm_ro/openmanod.py @@ -53,9 +53,9 @@ import osm_ro __author__ = "Alfonso Tierno, Gerardo Garcia, Pablo Montes" __date__ = "$26-aug-2014 11:09:29$" -__version__ = "6.0.4.post6" -version_date = "Oct 2019" -database_version = 40 # expected database schema version +__version__ = "8.0.0.post1" +version_date = "Jul 2020" +database_version = 41 # expected database schema version global global_config global logger @@ -157,7 +157,22 @@ def set_logging_file(log_file): "Cannot open logging file '{}': {}. Check folder exist and permissions".format(log_file, e)) +def _get_version(): + """ + Try to get version from package using pkg_resources (available with setuptools) + """ + global __version__ + ro_version = __version__ + try: + from pkg_resources import get_distribution + ro_version = get_distribution("osm_ro").version + except Exception: + pass + return ro_version + + if __name__ == "__main__": + log_modules = ("nfvo", "http", "vim", "wim", "db", "console", "ovim", "sdn", "sdnconn") # env2config contains environ variable names and the correspondence with configuration file openmanod.cfg keys. # If this environ is defined, this value is taken instead of the one at at configuration file env2config = { @@ -172,13 +187,16 @@ if __name__ == "__main__": 'RO_LOG_LEVEL': 'log_level', 'RO_LOG_FILE': 'log_file', } + for log_module in log_modules: + env2config['RO_LOG_LEVEL_' + log_module.upper()] = 'log_level_' + log_module + ro_version = _get_version() # Configure logging step 1 hostname = socket.gethostname() log_formatter_str = '%(asctime)s.%(msecs)03d00Z[{host}@openmanod] %(filename)s:%(lineno)s severity:%(levelname)s logger:%(name)s log:%(message)s' log_formatter_complete = logging.Formatter(log_formatter_str.format(host=hostname), datefmt='%Y-%m-%dT%H:%M:%S') - log_format_simple = "%(asctime)s %(levelname)s %(name)s %(thread)d %(filename)s:%(lineno)s %(message)s" - log_formatter_simple = logging.Formatter(log_format_simple, datefmt='%Y-%m-%dT%H:%M:%S') - logging.basicConfig(format=log_format_simple, level=logging.DEBUG) + log_format_simple = "%(asctime)s %(levelname)s %(name)s %(thread)d %(filename)s:%(lineno)s %(message)s" + log_formatter_simple = logging.Formatter(log_format_simple, datefmt='%Y-%m-%dT%H:%M:%S.%03d') + logging.basicConfig(format=log_format_simple, level=logging.DEBUG, datefmt='%Y-%m-%dT%H:%M:%S.%03d') logger = logging.getLogger('openmano') logger.setLevel(logging.DEBUG) socket_handler = None @@ -200,7 +218,7 @@ if __name__ == "__main__": for o, a in opts: if o in ("-v", "--version"): - print ("openmanod version " + __version__ + ' ' + version_date) + print ("openmanod version {} {}".format(ro_version, version_date)) print ("(c) Copyright Telefonica") sys.exit() elif o in ("-h", "--help"): @@ -227,7 +245,7 @@ if __name__ == "__main__": if log_file: set_logging_file(log_file) global_config = load_configuration(config_file) - global_config["version"] = __version__ + global_config["version"] = ro_version global_config["version_date"] = version_date # Override parameters obtained by command line on ENV if port: @@ -248,7 +266,7 @@ if __name__ == "__main__": if env_k.endswith("PORT"): # convert to int, skip if not possible global_config[env2config[env_k]] = int(env_v) except Exception as e: - logger.warn("skipping environ '{}={}' because exception '{}'".format(env_k, env_v, e)) + logger.warning("skipping environ '{}={}' because exception '{}'".format(env_k, env_v, e)) global_config["console_port_iterator"] = console_port_iterator global_config["console_thread"] = {} @@ -275,9 +293,9 @@ if __name__ == "__main__": logger.setLevel(getattr(logging, global_config['log_level'])) logger.critical("Starting openmano server version: '%s %s' command: '%s'", - __version__, version_date, " ".join(sys.argv)) + ro_version, version_date, " ".join(sys.argv)) - for log_module in ("nfvo", "http", "vim", "wim", "db", "console", "ovim"): + for log_module in log_modules: log_level_module = "log_level_" + log_module log_file_module = "log_file_" + log_module logger_module = logging.getLogger('openmano.' + log_module)