X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=openmanod;h=0ad7a9e363bb785d61542408a47a241379bc49f6;hb=6ddeded5129e36c83d91374265ac31eb5a355a42;hp=190f7e3bc4121e5b60d22f1f85eb708070048b3e;hpb=ee272b991909be75507ed9b3fd2bd9db499e1bce;p=osm%2FRO.git diff --git a/openmanod b/openmanod index 190f7e3b..0ad7a9e3 100755 --- a/openmanod +++ b/openmanod @@ -22,7 +22,7 @@ # contact with: nfvlabs@tid.es ## -''' +""" openmano server. Main program that implements a reference NFVO (Network Functions Virtualisation Orchestrator). It interfaces with an NFV VIM through its API and offers a northbound interface, based on REST (openmano API), @@ -30,17 +30,13 @@ where NFV services are offered including the creation and deletion of VNF templa network service templates and network service instances. It loads the configuration file and launches the http_server thread that will listen requests using openmano API. -''' -__author__="Alfonso Tierno, Gerardo Garcia, Pablo Montes" -__date__ ="$26-aug-2014 11:09:29$" -__version__="0.5.10-r520" -version_date="Apr 2017" -database_version="0.20" #expected database schema version +""" import time import sys import getopt import yaml +import os.path from jsonschema import validate as js_v, exceptions as js_e import logging import logging.handlers as log_handlers @@ -50,6 +46,12 @@ from osm_ro.openmano_schemas import config_schema from osm_ro.db_base import db_base_Exception import osm_ro +__author__ = "Alfonso Tierno, Gerardo Garcia, Pablo Montes" +__date__ = "$26-aug-2014 11:09:29$" +__version__ = "0.5.12-r522" +version_date = "May 2017" +database_version = 20 #expected database schema version + global global_config global logger @@ -184,6 +186,8 @@ if __name__=="__main__": else: assert False, "Unhandled option" global_config = load_configuration(config_file) + global_config["version"] = __version__ + global_config["version_date"] = version_date #print global_config # Override parameters obtained by command line if port: @@ -263,16 +267,19 @@ if __name__=="__main__": # Initialize DB connection mydb = nfvo_db.nfvo_db(); mydb.connect(global_config['db_host'], global_config['db_user'], global_config['db_passwd'], global_config['db_name']) + db_path = osm_ro.__path__[0] + "/database_utils" + if not os.path.exists(db_path + "/migrate_mano_db.sh"): + db_path = osm_ro.__path__[0] + "/../database_utils" try: r = mydb.get_db_version() - if r[1] != database_version: - logger.critical("DATABASE wrong version '%s'. \ - Try to upgrade/downgrade to version '%s' with '%s/database_utils/migrate_mano_db.sh'", - r[1], database_version, osm_ro.__path__[0]) + if r[0] != database_version: + logger.critical("DATABASE wrong version '{current}'. Try to upgrade/downgrade to version '{target}'" + " with '{db_path}/migrate_mano_db.sh {target}'".format( + current=r[0], target=database_version, db_path=db_path)) exit(-1) except db_base_Exception as e: - logger.critical("DATABASE is not a MANO one or it is a '0.0' version. Try to upgrade to version '%s' with \ - './database_utils/migrate_mano_db.sh'", database_version) + logger.critical("DATABASE is not valid. If you think it is corrupted, you can init it with" + " '{db_path}/init_mano_db.sh' script".format(db_path=db_path)) exit(-1) nfvo.global_config=global_config