X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=openmanod;h=f842acc7331f2236e5fe414ac28d93348d90377f;hb=c76a3eee8272c5f3c66f43b8eafe2c48273ee0c7;hp=05747d79b331d3ea461e6bac8322996019f1a79b;hpb=1df468d2c3f6c32f2bb703e4732180a8596c48ad;p=osm%2FRO.git diff --git a/openmanod b/openmanod index 05747d79..f842acc7 100755 --- a/openmanod +++ b/openmanod @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- ## -# Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U. +# Copyright 2015 Telefonica Investigacion y Desarrollo, S.A.U. # This file is part of openmano # All Rights Reserved. # @@ -36,7 +36,7 @@ import time import sys import getopt import yaml -from os import getenv as os_getenv, path as os_path +from os import environ, path as os_path from jsonschema import validate as js_v, exceptions as js_e import logging import logging.handlers as log_handlers @@ -48,8 +48,8 @@ import osm_ro __author__ = "Alfonso Tierno, Gerardo Garcia, Pablo Montes" __date__ = "$26-aug-2014 11:09:29$" -__version__ = "0.5.72-r582" -version_date = "Jul 2018" +__version__ = "0.5.79-r589" +version_date = "Oct 2018" database_version = 32 # expected database schema version @@ -155,17 +155,19 @@ def set_logging_file(log_file): if __name__=="__main__": - env_config = { - 'db_host': 'RO_DB_HOST', - 'db_name': 'RO_DB_NAME', - 'db_user': 'RO_DB_USER', - 'db_passwd': 'RO_DB_PASSWORD', - 'db_ovim_host': 'RO_DB_OVIM_HOST', - 'db_ovim_name': 'RO_DB_OVIM_NAME', - 'db_ovim_user': 'RO_DB_OVIM_USER', - 'db_ovim_passwd': 'RO_DB_OVIM_PASSWORD', - 'db_port': 'RO_DB_PORT', - 'db_port': 'RO_DB_PORT', + # env2config contains envioron 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_DB_HOST': 'db_host', + 'RO_DB_NAME': 'db_name', + 'RO_DB_USER': 'db_user', + 'RO_DB_PASSWORD': 'db_passwd', + # 'RO_DB_PORT': 'db_port', + 'RO_DB_OVIM_HOST': 'db_ovim_host', + 'RO_DB_OVIM_NAME': 'db_ovim_name', + 'RO_DB_OVIM_USER': 'db_ovim_user', + 'RO_DB_OVIM_PASSWORD': 'db_ovim_passwd', + # 'RO_DB_OVIM_PORT': 'db_ovim_port', } # Configure logging step 1 hostname = socket.gethostname() @@ -240,10 +242,15 @@ if __name__=="__main__": global_config['log_socket_port'] = log_socket_port # override with ENV - for config_key, env_var in env_config.items(): - if os_getenv(env_var): - global_config[config_key] = os_getenv(env_var) - + for env_k, env_v in environ.items(): + try: + if not env_k.startswith("RO_") or env_k not in env2config or not env_v: + continue + global_config[env2config[env_k]] = env_v + 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)) # if vnf_repository is not None: # global_config['vnf_repository'] = vnf_repository