__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 = "Oct 2020"
+database_version = 42 # expected database schema version
global global_config
global logger
"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 = {
'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
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"):
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:
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"] = {}
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)