From a87a5f00e1d32af5b193d0376778c966f1aaab3f Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Sun, 30 Apr 2017 08:52:55 +0200 Subject: Delete functest.utils.functest_logger MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It deletes functest.utils.functest_logger and the related unit tests. Then it modifies all functest modules to get all loggers via logging.getLogger(). __name__ is mainly used as getLogger arg as proposed by logging [1]. All loggers and handlers are now defined via functest/ci/logging.ini instead of a dict loaded by an external json file. Now only warn messages and info messages from ci and core packages are printed in console. [1] https://docs.python.org/2/library/logging.html Change-Id: Ic192855e0f9bf94825d8f7ec73549a0f3b8d44c5 Signed-off-by: Cédric Ollivier --- functest/ci/config_functest.yaml | 2 +- functest/ci/generate_report.py | 7 +- functest/ci/logging.ini | 70 ++++++++++++++++++ functest/ci/logging.json | 29 -------- functest/ci/prepare_env.py | 7 +- functest/ci/run_tests.py | 10 +-- functest/cli/cli_base.py | 6 +- functest/core/feature.py | 5 +- functest/core/testcase.py | 4 +- functest/core/vnf_base.py | 4 +- functest/opnfv_tests/openstack/rally/rally.py | 4 +- .../openstack/refstack_client/refstack_client.py | 5 +- .../openstack/refstack_client/tempest_conf.py | 5 +- .../opnfv_tests/openstack/tempest/conf_utils.py | 4 +- functest/opnfv_tests/openstack/tempest/tempest.py | 4 +- functest/opnfv_tests/openstack/vping/vping_ssh.py | 5 +- .../opnfv_tests/openstack/vping/vping_userdata.py | 5 +- functest/opnfv_tests/sdn/odl/odl.py | 5 +- functest/opnfv_tests/sdn/onos/onos.py | 4 +- functest/opnfv_tests/sdn/onos/sfc/sfc.py | 7 +- functest/opnfv_tests/sdn/onos/sfc/sfc_onos.py | 5 +- .../opnfv_tests/sdn/onos/teston/adapters/client.py | 4 +- .../sdn/onos/teston/adapters/connection.py | 4 +- .../sdn/onos/teston/adapters/environment.py | 4 +- functest/opnfv_tests/vnf/aaa/aaa.py | 5 +- .../opnfv_tests/vnf/ims/clearwater_ims_base.py | 4 +- functest/opnfv_tests/vnf/ims/cloudify_ims.py | 4 +- functest/opnfv_tests/vnf/ims/opera_ims.py | 4 +- functest/opnfv_tests/vnf/ims/orchestra_ims.py | 5 +- .../opnfv_tests/vnf/ims/orchestrator_cloudify.py | 5 +- functest/tests/unit/utils/test_functest_logger.py | 48 ------------- functest/utils/functest_logger.py | 83 ---------------------- functest/utils/functest_utils.py | 4 +- functest/utils/openstack_clean.py | 5 +- functest/utils/openstack_snapshot.py | 5 +- functest/utils/openstack_tacker.py | 4 +- functest/utils/openstack_utils.py | 5 +- 37 files changed, 159 insertions(+), 231 deletions(-) create mode 100644 functest/ci/logging.ini delete mode 100644 functest/ci/logging.json delete mode 100644 functest/tests/unit/utils/test_functest_logger.py delete mode 100644 functest/utils/functest_logger.py diff --git a/functest/ci/config_functest.yaml b/functest/ci/config_functest.yaml index f291cf1f..fd663abc 100644 --- a/functest/ci/config_functest.yaml +++ b/functest/ci/config_functest.yaml @@ -34,7 +34,7 @@ general: functest: /home/opnfv/functest functest_test: /home/opnfv/repos/functest/functest/opnfv_tests results: /home/opnfv/functest/results - functest_logging_cfg: /home/opnfv/repos/functest/functest/ci/logging.json + functest_logging_cfg: /home/opnfv/repos/functest/functest/ci/logging.ini functest_conf: /home/opnfv/functest/conf functest_data: /home/opnfv/functest/data ims_data: /home/opnfv/functest/data/ims/ diff --git a/functest/ci/generate_report.py b/functest/ci/generate_report.py index 3872a07e..c4a9fbbf 100755 --- a/functest/ci/generate_report.py +++ b/functest/ci/generate_report.py @@ -6,10 +6,11 @@ # http://www.apache.org/licenses/LICENSE-2.0 # import json +import logging import re +import sys import urllib2 -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils from functest.utils.constants import CONST @@ -23,7 +24,7 @@ COL_5_LEN = 75 # and then we can print the url to the specific test result -logger = ft_logger.Logger("generate_report").getLogger() +logger = logging.getLogger(__name__) def init(tiers_to_run=[]): @@ -149,5 +150,5 @@ def main(args=[]): if __name__ == '__main__': - import sys + logging.basicConfig() main(sys.argv[1:]) diff --git a/functest/ci/logging.ini b/functest/ci/logging.ini new file mode 100644 index 00000000..8036ed29 --- /dev/null +++ b/functest/ci/logging.ini @@ -0,0 +1,70 @@ +[loggers] +keys=root,functest,ci,cli,core,opnfv_tests,utils + +[handlers] +keys=console,wconsole,file,null + +[formatters] +keys=standard + +[logger_root] +level=NOTSET +handlers=null + +[logger_functest] +level=NOTSET +handlers=file +qualname=functest + +[logger_ci] +level=NOTSET +handlers=console +qualname=functest.ci + +[logger_cli] +level=NOTSET +handlers=wconsole +qualname=functest.cli + +[logger_core] +level=NOTSET +handlers=console +qualname=functest.core + +[logger_opnfv_tests] +level=NOTSET +handlers=wconsole +qualname=functest.opnfv_tests + +[logger_utils] +level=NOTSET +handlers=wconsole +qualname=functest.utils + +[handler_null] +class=NullHandler +level=NOTSET +formatter=standard +args=() + +[handler_console] +class=StreamHandler +level=INFO +formatter=standard +args=(sys.stdout,) + +[handler_wconsole] +class=StreamHandler +level=WARN +formatter=standard +args=(sys.stdout,) + +[handler_file] +class=FileHandler +level=DEBUG +formatter=standard +args=("/home/opnfv/functest/results/functest.log",) + +[formatter_standard] +format=%(asctime)s - %(name)s - %(levelname)s - %(message)s +datefmt= diff --git a/functest/ci/logging.json b/functest/ci/logging.json deleted file mode 100644 index 2a2399d3..00000000 --- a/functest/ci/logging.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "version": 1, - "disable_existing_loggers": false, - "formatters": { - "standard": { - "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" - } - }, - "handlers": { - "console": { - "level": "INFO", - "class": "logging.StreamHandler", - "formatter": "standard" - }, - "file": { - "level": "DEBUG", - "class": "logging.FileHandler", - "formatter": "standard", - "filename": "/home/opnfv/functest/results/functest.log" - } - }, - "loggers": { - "": { - "handlers": ["console", "file"], - "level": "DEBUG", - "propagate": "yes" - } - } -} diff --git a/functest/ci/prepare_env.py b/functest/ci/prepare_env.py index e9a470f9..08badf17 100755 --- a/functest/ci/prepare_env.py +++ b/functest/ci/prepare_env.py @@ -8,6 +8,8 @@ import argparse import json +import logging +import logging.config import os import re import subprocess @@ -16,7 +18,6 @@ import fileinput import yaml -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST @@ -27,7 +28,7 @@ from opnfv.deployment import factory actions = ['start', 'check'] """ logging configuration """ -logger = ft_logger.Logger("prepare_env").getLogger() +logger = logging.getLogger('functest.ci.prepare_env') handler = None # set the architecture to default pod_arch = None @@ -377,6 +378,8 @@ def main(**kwargs): if __name__ == '__main__': + logging.config.fileConfig( + CONST.__getattribute__('dir_functest_logging_cfg')) parser = PrepareEnvParser() args = parser.parse_args(sys.argv[1:]) sys.exit(main(**args)) diff --git a/functest/ci/run_tests.py b/functest/ci/run_tests.py index e68901b8..d1361260 100755 --- a/functest/ci/run_tests.py +++ b/functest/ci/run_tests.py @@ -12,6 +12,8 @@ import argparse import datetime import enum import importlib +import logging +import logging.config import os import re import sys @@ -19,16 +21,14 @@ import sys import functest.ci.generate_report as generate_report import functest.ci.tier_builder as tb import functest.core.testcase as testcase -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_clean as os_clean import functest.utils.openstack_snapshot as os_snapshot import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST - -""" logging configuration """ -logger = ft_logger.Logger("run_tests").getLogger() +# __name__ cannot be used here +logger = logging.getLogger('functest.ci.run_tests') class Result(enum.Enum): @@ -270,6 +270,8 @@ def main(**kwargs): if __name__ == '__main__': + logging.config.fileConfig( + CONST.__getattribute__('dir_functest_logging_cfg')) parser = RunTestsParser() args = parser.parse_args(sys.argv[1:]) sys.exit(main(**args).value) diff --git a/functest/cli/cli_base.py b/functest/cli/cli_base.py index cc697ed7..2104e125 100644 --- a/functest/cli/cli_base.py +++ b/functest/cli/cli_base.py @@ -8,11 +8,14 @@ # import click +import logging.config from functest.cli.commands.cli_env import CliEnv from functest.cli.commands.cli_os import CliOpenStack from functest.cli.commands.cli_testcase import CliTestcase from functest.cli.commands.cli_tier import CliTier +from functest.utils.constants import CONST + CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) @@ -20,7 +23,8 @@ CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) @click.group(context_settings=CONTEXT_SETTINGS) @click.version_option(version='opnfv colorado.0.1 ') def cli(): - pass + logging.config.fileConfig( + CONST.__getattribute__('dir_functest_logging_cfg')) _env = CliEnv() diff --git a/functest/core/feature.py b/functest/core/feature.py index d65f5a3c..992de98a 100644 --- a/functest/core/feature.py +++ b/functest/core/feature.py @@ -13,11 +13,11 @@ Feature is considered as TestCase offered by Third-party. It offers helpers to run any python method or any bash command. """ +import logging import time import functest.core.testcase as base import functest.utils.functest_utils as ft_utils -import functest.utils.functest_logger as ft_logger from functest.utils.constants import CONST __author__ = ("Serena Feng , " @@ -27,11 +27,12 @@ __author__ = ("Serena Feng , " class Feature(base.TestCase): """Base model for single feature.""" + logger = logging.getLogger(__name__) + def __init__(self, **kwargs): super(Feature, self).__init__(**kwargs) self.result_file = "{}/{}.log".format( CONST.__getattribute__('dir_results'), self.project_name) - self.logger = ft_logger.Logger(self.project_name).getLogger() def execute(self, **kwargs): """Execute the Python method. diff --git a/functest/core/testcase.py b/functest/core/testcase.py index 3f191b40..0b87f265 100644 --- a/functest/core/testcase.py +++ b/functest/core/testcase.py @@ -9,9 +9,9 @@ """Define the parent class of all Functest TestCases.""" +import logging import os -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils __author__ = "Cedric Ollivier " @@ -32,7 +32,7 @@ class TestCase(object): EX_TESTCASE_FAILED = os.EX_SOFTWARE - 2 """results are false""" - logger = ft_logger.Logger(__name__).getLogger() + logger = logging.getLogger(__name__) def __init__(self, **kwargs): self.details = {} diff --git a/functest/core/vnf_base.py b/functest/core/vnf_base.py index fe4e427f..d91a608b 100644 --- a/functest/core/vnf_base.py +++ b/functest/core/vnf_base.py @@ -8,18 +8,18 @@ # http://www.apache.org/licenses/LICENSE-2.0 import inspect +import logging import time import functest.core.testcase as base from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils class VnfOnBoardingBase(base.TestCase): - logger = ft_logger.Logger(__name__).getLogger() + logger = logging.getLogger(__name__) def __init__(self, **kwargs): super(VnfOnBoardingBase, self).__init__(**kwargs) diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index e07e2a8d..f762383a 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -9,6 +9,7 @@ # import json +import logging import os import re import subprocess @@ -19,11 +20,10 @@ import yaml from functest.core import testcase from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils -logger = ft_logger.Logger('Rally').getLogger() +logger = logging.getLogger(__name__) class RallyBase(testcase.TestCase): diff --git a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py index 2f2fc00f..ebae4b86 100755 --- a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py +++ b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 import argparse +import logging import os import re import sys @@ -15,12 +16,11 @@ import time from functest.core import testcase from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils from tempest_conf import TempestConf """ logging configuration """ -logger = ft_logger.Logger("refstack_defcore").getLogger() +logger = logging.getLogger(__name__) class RefstackClient(testcase.TestCase): @@ -220,6 +220,7 @@ class RefstackClientParser(object): if __name__ == '__main__': + logging.basicConfig() refstackclient = RefstackClient() parser = RefstackClientParser() args = parser.parse_args(sys.argv[1:]) diff --git a/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py b/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py index d01f0872..5c04253c 100755 --- a/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py +++ b/functest/opnfv_tests/openstack/refstack_client/tempest_conf.py @@ -5,15 +5,15 @@ # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 +import logging import os from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils import openstack_utils from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger """ logging configuration """ -logger = ft_logger.Logger("refstack_defcore").getLogger() +logger = logging.getLogger(__name__) class TempestConf(object): @@ -48,5 +48,6 @@ class TempestConf(object): if __name__ == '__main__': + logging.basicConfig() tempestconf = TempestConf() tempestconf.main() diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py index f4a94f65..0f338465 100644 --- a/functest/opnfv_tests/openstack/tempest/conf_utils.py +++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py @@ -8,13 +8,13 @@ # http://www.apache.org/licenses/LICENSE-2.0 # import ConfigParser +import logging import os import re import shutil import subprocess from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils @@ -42,7 +42,7 @@ CI_INSTALLER_TYPE = CONST.INSTALLER_TYPE CI_INSTALLER_IP = CONST.INSTALLER_IP """ logging configuration """ -logger = ft_logger.Logger("Tempest").getLogger() +logger = logging.getLogger(__name__) def create_tempest_resources(use_custom_images=False, diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index e6c6b44f..984e2a1b 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -8,6 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 # +import logging import os import re import shutil @@ -19,11 +20,10 @@ import yaml from functest.core import testcase from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils """ logging configuration """ -logger = ft_logger.Logger("Tempest").getLogger() +logger = logging.getLogger(__name__) class TempestCommon(testcase.TestCase): diff --git a/functest/opnfv_tests/openstack/vping/vping_ssh.py b/functest/opnfv_tests/openstack/vping/vping_ssh.py index c26c4e0c..e87da363 100755 --- a/functest/opnfv_tests/openstack/vping/vping_ssh.py +++ b/functest/opnfv_tests/openstack/vping/vping_ssh.py @@ -7,6 +7,7 @@ # # http://www.apache.org/licenses/LICENSE-2.0 +import logging import os import re import sys @@ -16,7 +17,6 @@ import argparse import paramiko from scp import SCPClient -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils import vping_base import functest.core.testcase as testcase @@ -28,7 +28,7 @@ class VPingSSH(vping_base.VPingBase): if "case_name" not in kwargs: kwargs["case_name"] = "vping_ssh" super(VPingSSH, self).__init__(**kwargs) - self.logger = ft_logger.Logger(self.case_name).getLogger() + self.logger = logging.getLogger(__name__) def do_vping(self, vm, test_ip): floatip = self.add_float_ip(vm) @@ -166,6 +166,7 @@ class VPingSSH(vping_base.VPingBase): if __name__ == '__main__': + logging.basicConfig() args_parser = argparse.ArgumentParser() args_parser.add_argument("-r", "--report", help="Create json result file", diff --git a/functest/opnfv_tests/openstack/vping/vping_userdata.py b/functest/opnfv_tests/openstack/vping/vping_userdata.py index 1b00ca23..05dda9de 100755 --- a/functest/opnfv_tests/openstack/vping/vping_userdata.py +++ b/functest/opnfv_tests/openstack/vping/vping_userdata.py @@ -7,12 +7,12 @@ # # http://www.apache.org/licenses/LICENSE-2.0 +import logging import sys import time import argparse -import functest.utils.functest_logger as ft_logger import vping_base @@ -22,7 +22,7 @@ class VPingUserdata(vping_base.VPingBase): if "case_name" not in kwargs: kwargs["case_name"] = "vping_userdata" super(VPingUserdata, self).__init__(**kwargs) - self.logger = ft_logger.Logger(self.case_name).getLogger() + self.logger = logging.getLogger(__name__) def boot_vm_preparation(self, config, vmname, test_ip): config['config_drive'] = True @@ -74,6 +74,7 @@ class VPingUserdata(vping_base.VPingBase): if __name__ == '__main__': + logging.basicConfig() args_parser = argparse.ArgumentParser() args_parser.add_argument("-r", "--report", help="Create json result file", diff --git a/functest/opnfv_tests/sdn/odl/odl.py b/functest/opnfv_tests/sdn/odl/odl.py index 6f4acf6d..00745d07 100755 --- a/functest/opnfv_tests/sdn/odl/odl.py +++ b/functest/opnfv_tests/sdn/odl/odl.py @@ -19,6 +19,7 @@ Example: import argparse import errno import fileinput +import logging import os import re import sys @@ -30,7 +31,6 @@ import robot.run from robot.utils.robottime import timestamp_to_secs from functest.core import testcase -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as op_utils __author__ = "Cedric Ollivier " @@ -70,7 +70,7 @@ class ODLTests(testcase.TestCase): "csit/suites/integration/basic") default_suites = [basic_suite_dir, neutron_suite_dir] res_dir = '/home/opnfv/functest/results/odl/' - logger = ft_logger.Logger("opendaylight").getLogger() + logger = logging.getLogger(__name__) @classmethod def set_robotframework_vars(cls, odlusername="admin", odlpassword="admin"): @@ -301,6 +301,7 @@ class ODLParser(object): # pylint: disable=too-few-public-methods if __name__ == '__main__': + logging.basicConfig() ODL = ODLTests() PARSER = ODLParser() ARGS = PARSER.parse_args(sys.argv[1:]) diff --git a/functest/opnfv_tests/sdn/onos/onos.py b/functest/opnfv_tests/sdn/onos/onos.py index 4d489d67..d7a2d38e 100644 --- a/functest/opnfv_tests/sdn/onos/onos.py +++ b/functest/opnfv_tests/sdn/onos/onos.py @@ -7,6 +7,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 +import logging import os import re import subprocess @@ -16,7 +17,6 @@ import urlparse from functest.core import testcase from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as openstack_utils @@ -30,7 +30,7 @@ class OnosBase(testcase.TestCase): onos_sfc_path = os.path.join(CONST.__getattribute__('dir_repo_functest'), CONST.__getattribute__('dir_onos_sfc')) installer_type = CONST.__getattribute__('INSTALLER_TYPE') - logger = ft_logger.Logger(__name__).getLogger() + logger = logging.getLogger(__name__) def __init__(self, **kwargs): if "case_name" not in kwargs: diff --git a/functest/opnfv_tests/sdn/onos/sfc/sfc.py b/functest/opnfv_tests/sdn/onos/sfc/sfc.py index 22412270..0155d24d 100755 --- a/functest/opnfv_tests/sdn/onos/sfc/sfc.py +++ b/functest/opnfv_tests/sdn/onos/sfc/sfc.py @@ -1,4 +1,3 @@ -"""Script to Test the SFC scenarios in ONOS.""" # !/usr/bin/python # # Copyright (c) CREATED5 All rights reserved @@ -22,13 +21,14 @@ # Testcase 7 : Cleanup # ########################################################################### # +"""Script to Test the SFC scenarios in ONOS.""" +import logging import time -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils from sfc_onos import SfcOnos -logger = ft_logger.Logger("sfc").getLogger() +logger = logging.getLogger(__name__) Sfc_obj = SfcOnos() OK = 200 @@ -174,4 +174,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig() main() diff --git a/functest/opnfv_tests/sdn/onos/sfc/sfc_onos.py b/functest/opnfv_tests/sdn/onos/sfc/sfc_onos.py index c2198690..1101f239 100644 --- a/functest/opnfv_tests/sdn/onos/sfc/sfc_onos.py +++ b/functest/opnfv_tests/sdn/onos/sfc/sfc_onos.py @@ -1,3 +1,4 @@ +import logging import os import re import time @@ -8,8 +9,6 @@ from multiprocessing import Process from multiprocessing import Queue from pexpect import pxssh -import functest.utils.functest_logger as ft_logger - from functest.utils.constants import CONST OK = 200 @@ -23,7 +22,7 @@ class SfcOnos(object): def __init__(self): """Initialization of variables.""" - self.logger = ft_logger.Logger("sfc_fun").getLogger() + self.logger = logging.getLogger(__name__) self.osver = "v2.0" self.token_id = 0 self.net_id = 0 diff --git a/functest/opnfv_tests/sdn/onos/teston/adapters/client.py b/functest/opnfv_tests/sdn/onos/teston/adapters/client.py index 81d5f7d7..a88d2f06 100644 --- a/functest/opnfv_tests/sdn/onos/teston/adapters/client.py +++ b/functest/opnfv_tests/sdn/onos/teston/adapters/client.py @@ -11,17 +11,17 @@ Description: # """ import json +import logging import pexpect import requests import time from environment import Environment -import functest.utils.functest_logger as ft_logger class Client(Environment): - logger = ft_logger.Logger("client").getLogger() + logger = logging.getLogger(__name__) def __init__(self): Environment.__init__(self) diff --git a/functest/opnfv_tests/sdn/onos/teston/adapters/connection.py b/functest/opnfv_tests/sdn/onos/teston/adapters/connection.py index 3786945d..dfaa5cc1 100644 --- a/functest/opnfv_tests/sdn/onos/teston/adapters/connection.py +++ b/functest/opnfv_tests/sdn/onos/teston/adapters/connection.py @@ -13,17 +13,17 @@ Description: # http://www.apache.org/licenses/LICENSE-2.0 # """ +import logging import os import pexpect import re from foundation import Foundation -import functest.utils.functest_logger as ft_logger class Connection(Foundation): - logger = ft_logger.Logger("connection").getLogger() + logger = logging.getLogger(__name__) def __init__(self): Foundation.__init__(self) diff --git a/functest/opnfv_tests/sdn/onos/teston/adapters/environment.py b/functest/opnfv_tests/sdn/onos/teston/adapters/environment.py index 046a821d..cb75b5c3 100644 --- a/functest/opnfv_tests/sdn/onos/teston/adapters/environment.py +++ b/functest/opnfv_tests/sdn/onos/teston/adapters/environment.py @@ -15,6 +15,7 @@ Description: # """ +import logging import pexpect import pxssh import re @@ -23,12 +24,11 @@ import sys import time from connection import Connection -import functest.utils.functest_logger as ft_logger class Environment(Connection): - logger = ft_logger.Logger("environment").getLogger() + logger = logging.getLogger(__name__) def __init__(self): Connection.__init__(self) diff --git a/functest/opnfv_tests/vnf/aaa/aaa.py b/functest/opnfv_tests/vnf/aaa/aaa.py index 9c94cfb1..1a484ddf 100755 --- a/functest/opnfv_tests/vnf/aaa/aaa.py +++ b/functest/opnfv_tests/vnf/aaa/aaa.py @@ -7,18 +7,18 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 +import logging import sys import argparse import functest.core.testcase as testcase import functest.core.vnf_base as vnf_base -import functest.utils.functest_logger as ft_logger class AaaVnf(vnf_base.VnfOnBoardingBase): - logger = ft_logger.Logger("VNF AAA").getLogger() + logger = logging.getLogger(__name__) def __init__(self, **kwargs): if "case_name" not in kwargs: @@ -60,6 +60,7 @@ class AaaVnf(vnf_base.VnfOnBoardingBase): if __name__ == '__main__': + logging.basicConfig() parser = argparse.ArgumentParser() args = vars(parser.parse_args()) aaa_vnf = AaaVnf() diff --git a/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py b/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py index 494633f4..f3bb3012 100644 --- a/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py +++ b/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py @@ -7,6 +7,7 @@ # # http://www.apache.org/licenses/LICENSE-2.0 import json +import logging import os import shutil @@ -14,14 +15,13 @@ import requests import functest.core.vnf_base as vnf_base from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils class ClearwaterOnBoardingBase(vnf_base.VnfOnBoardingBase): def __init__(self, **kwargs): - self.logger = ft_logger.Logger(__name__).getLogger() + self.logger = logging.getLogger(__name__) super(ClearwaterOnBoardingBase, self).__init__(**kwargs) self.case_dir = os.path.join(CONST.dir_functest_test, 'vnf', 'ims') self.data_dir = CONST.dir_ims_data diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims.py b/functest/opnfv_tests/vnf/ims/cloudify_ims.py index 0e6d4797..ba4c5790 100644 --- a/functest/opnfv_tests/vnf/ims/cloudify_ims.py +++ b/functest/opnfv_tests/vnf/ims/cloudify_ims.py @@ -7,6 +7,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 +import logging import os import sys import time @@ -18,7 +19,6 @@ from functest.opnfv_tests.vnf.ims.clearwater import Clearwater import functest.opnfv_tests.vnf.ims.clearwater_ims_base as clearwater_ims_base from functest.opnfv_tests.vnf.ims.orchestrator_cloudify import Orchestrator from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils @@ -29,7 +29,7 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase): if "case_name" not in kwargs: kwargs["case_name"] = "cloudify_ims" super(CloudifyIms, self).__init__(**kwargs) - self.logger = ft_logger.Logger(__name__).getLogger() + self.logger = logging.getLogger(__name__) # Retrieve the configuration try: diff --git a/functest/opnfv_tests/vnf/ims/opera_ims.py b/functest/opnfv_tests/vnf/ims/opera_ims.py index a46f9d71..51a4dc0d 100644 --- a/functest/opnfv_tests/vnf/ims/opera_ims.py +++ b/functest/opnfv_tests/vnf/ims/opera_ims.py @@ -8,6 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 import json +import logging import os import time @@ -16,7 +17,6 @@ import requests import functest.opnfv_tests.vnf.ims.clearwater_ims_base as clearwater_ims_base from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger class OperaIms(clearwater_ims_base.ClearwaterOnBoardingBase): @@ -24,7 +24,7 @@ class OperaIms(clearwater_ims_base.ClearwaterOnBoardingBase): def __init__(self, project='functest', case_name='opera_ims', repo=CONST.dir_repo_opera, cmd=''): super(OperaIms, self).__init__(project, case_name, repo, cmd) - self.logger = ft_logger.Logger(__name__).getLogger() + self.logger = logging.getLogger(__name__) self.ellis_file = os.path.join(self.result_dir, 'ellis.info') self.live_test_file = os.path.join(self.result_dir, 'live_test_report.json') diff --git a/functest/opnfv_tests/vnf/ims/orchestra_ims.py b/functest/opnfv_tests/vnf/ims/orchestra_ims.py index 351c5fbe..95751d47 100755 --- a/functest/opnfv_tests/vnf/ims/orchestra_ims.py +++ b/functest/opnfv_tests/vnf/ims/orchestra_ims.py @@ -8,13 +8,13 @@ # http://www.apache.org/licenses/LICENSE-2.0 import json +import logging import socket import sys import time import yaml import functest.core.vnf_base as vnf_base -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils import os @@ -87,7 +87,7 @@ class ImsVnf(vnf_base.VnfOnBoardingBase): self.ob_port = "8080" self.ob_ip = "localhost" self.ob_instance_id = "" - self.logger = ft_logger.Logger("orchestra_ims").getLogger() + self.logger = logging.getLogger(__name__) self.case_dir = os.path.join(CONST.dir_functest_test, 'vnf/ims/') self.data_dir = CONST.dir_ims_data self.test_dir = CONST.dir_repo_vims_test @@ -495,6 +495,7 @@ class ImsVnf(vnf_base.VnfOnBoardingBase): if __name__ == '__main__': + logging.basicConfig() test = ImsVnf() test.deploy_orchestrator() test.deploy_vnf() diff --git a/functest/opnfv_tests/vnf/ims/orchestrator_cloudify.py b/functest/opnfv_tests/vnf/ims/orchestrator_cloudify.py index 82a9dca0..4ceeb25f 100644 --- a/functest/opnfv_tests/vnf/ims/orchestrator_cloudify.py +++ b/functest/opnfv_tests/vnf/ims/orchestrator_cloudify.py @@ -11,6 +11,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ######################################################################## +import logging import os import shutil import subprocess32 as subprocess @@ -18,8 +19,6 @@ import yaml from git import Repo -import functest.utils.functest_logger as ft_logger - class Orchestrator(object): @@ -29,7 +28,7 @@ class Orchestrator(object): self.input_file = 'inputs.yaml' self.manager_blueprint = False self.config = inputs - self.logger = ft_logger.Logger("Orchestrator").getLogger() + self.logger = logging.getLogger(__name__) self.manager_up = False def set_credentials(self, username, password, tenant_name, auth_url): diff --git a/functest/tests/unit/utils/test_functest_logger.py b/functest/tests/unit/utils/test_functest_logger.py deleted file mode 100644 index 42e41a14..00000000 --- a/functest/tests/unit/utils/test_functest_logger.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python - -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -import logging -import unittest - -import mock - -from functest.utils import functest_logger -from functest.utils.constants import CONST - - -class OSUtilsLogger(unittest.TestCase): - - logging.disable(logging.CRITICAL) - - def setUp(self): - with mock.patch('__builtin__.open', mock.mock_open()): - with mock.patch('functest.utils.functest_logger.os.path.exists', - return_value=True), \ - mock.patch('functest.utils.functest_logger.' - 'json.load'), \ - mock.patch('functest.utils.functest_logger.' - 'logging.config.dictConfig') as m: - self.logger = functest_logger.Logger('os_utils') - self.assertTrue(m.called) - with mock.patch('functest.utils.functest_logger.os.path.exists', - return_value=False), \ - mock.patch('functest.utils.functest_logger.' - 'logging.basicConfig') as m: - self.logger = functest_logger.Logger('os_utils') - self.assertTrue(m.called) - - def test_is_debug_false(self): - CONST.CI_DEBUG = False - self.assertFalse(self.logger.is_debug()) - - def test_is_debug_true(self): - CONST.CI_DEBUG = "True" - self.assertTrue(self.logger.is_debug()) - - -if __name__ == "__main__": - unittest.main(verbosity=2) diff --git a/functest/utils/functest_logger.py b/functest/utils/functest_logger.py deleted file mode 100644 index ba52829f..00000000 --- a/functest/utils/functest_logger.py +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env python -# -# jose.lausuch@ericsson.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Logging levels: -# Level Numeric value -# CRITICAL 50 -# ERROR 40 -# WARNING 30 -# INFO 20 -# DEBUG 10 -# NOTSET 0 -# -# Usage: -# import functest_logger as fl -# logger = fl.Logger("script_name").getLogger() -# logger.info("message to be shown with - INFO - ") -# logger.debug("message to be shown with - DEBUG -") -import logging -import logging.config -import os - -import json - -from functest.utils.constants import CONST - -ignore = ["paramiko", - "stevedore.extension", - "keystoneauth.session", - "keystoneauth.identity.v3.base", - "novaclient.v2.client", - "neutronclient.v2_0.client", - "glanceclient.common.http", - "cinderclient.v2.client", - "cinderclient.client"] - - -class Logger(object): - - instance = None - - def __new__(cls, logger_name): - if cls.instance is None: - cls.instance = object.__new__(cls) - return cls.instance - - def __init__(self, logger_name): - self.setup_logging() - self.logger = logging.getLogger(logger_name) - for module_name in ignore: - logging.getLogger(module_name).setLevel(logging.WARNING) - - def getLogger(self): - return self.logger - - def is_debug(self): - if CONST.CI_DEBUG and CONST.CI_DEBUG.lower() == "true": - return True - return False - - def setup_logging(self, default_path=CONST.dir_functest_logging_cfg, - default_level=logging.INFO, - env_key='LOG_CFG'): - path = default_path - value = os.getenv(env_key, None) - if value: - path = value - if os.path.exists(path): - with open(path, 'rt') as f: - config = json.load(f) - if (config['handlers'] and - config['handlers']['console']): - stream_level = logging.INFO - if self.is_debug(): - stream_level = logging.DEBUG - config['handlers']['console']['level'] = stream_level - logging.config.dictConfig(config) - else: - logging.basicConfig(level=default_level) diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index 7d993cbf..3e85b9e4 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -9,6 +9,7 @@ # import functools import json +import logging import os import re import shutil @@ -24,9 +25,8 @@ import yaml from git import Repo from functest.utils import decorators -import functest.utils.functest_logger as ft_logger -logger = ft_logger.Logger("functest_utils").getLogger() +logger = logging.getLogger(__name__) # ---------------------------------------------------------- diff --git a/functest/utils/openstack_clean.py b/functest/utils/openstack_clean.py index ce61fcac..29106d9e 100755 --- a/functest/utils/openstack_clean.py +++ b/functest/utils/openstack_clean.py @@ -24,13 +24,13 @@ import time +import logging import yaml -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST -logger = ft_logger.Logger("openstack_clean").getLogger() +logger = logging.getLogger(__name__) OS_SNAPSHOT_FILE = CONST.openstack_snapshot_file @@ -428,4 +428,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig() main() diff --git a/functest/utils/openstack_snapshot.py b/functest/utils/openstack_snapshot.py index e64030f7..952fb7bb 100755 --- a/functest/utils/openstack_snapshot.py +++ b/functest/utils/openstack_snapshot.py @@ -20,13 +20,13 @@ # http://www.apache.org/licenses/LICENSE-2.0 # +import logging import yaml -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST -logger = ft_logger.Logger("openstack_snapshot").getLogger() +logger = logging.getLogger(__name__) OS_SNAPSHOT_FILE = CONST.openstack_snapshot_file @@ -162,4 +162,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig() main() diff --git a/functest/utils/openstack_tacker.py b/functest/utils/openstack_tacker.py index 8327fdbe..9fd9d5c4 100644 --- a/functest/utils/openstack_tacker.py +++ b/functest/utils/openstack_tacker.py @@ -11,13 +11,13 @@ # http://www.apache.org/licenses/LICENSE-2.0 ########################################################################## +import logging from tackerclient.v1_0 import client as tackerclient -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils import time -logger = ft_logger.Logger("tacker_utils").getLogger() +logger = logging.getLogger(__name__) def get_tacker_client(other_creds={}): diff --git a/functest/utils/openstack_utils.py b/functest/utils/openstack_utils.py index 929a761e..1d7ea8e8 100644 --- a/functest/utils/openstack_utils.py +++ b/functest/utils/openstack_utils.py @@ -8,7 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 # -import os +import logging import os.path import re import sys @@ -23,10 +23,9 @@ from novaclient import client as novaclient from keystoneclient import client as keystoneclient from neutronclient.neutron import client as neutronclient -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils -logger = ft_logger.Logger("openstack_utils").getLogger() +logger = logging.getLogger(__name__) DEFAULT_API_VERSION = '2' DEFAULT_HEAT_API_VERSION = '1' -- cgit 1.2.3-korg