Merge "Added http concurrency test suite for agnostic VNF"
[yardstick.git] / yardstick / cmd / cli.py
index beaa187..0bc7c16 100644 (file)
@@ -7,10 +7,11 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-'''
+"""
 Command-line interface to yardstick
 Command-line interface to yardstick
-'''
+"""
 
 
+from __future__ import absolute_import
 import logging
 import os
 import sys
 import logging
 import os
 import sys
@@ -19,24 +20,23 @@ from pkg_resources import get_distribution
 from argparse import RawDescriptionHelpFormatter
 from oslo_config import cfg
 
 from argparse import RawDescriptionHelpFormatter
 from oslo_config import cfg
 
-from yardstick import _init_logging, LOG
+from yardstick import _init_logging, _LOG_STREAM_HDLR
 from yardstick.cmd.commands import task
 from yardstick.cmd.commands import runner
 from yardstick.cmd.commands import scenario
 from yardstick.cmd.commands import testcase
 from yardstick.cmd.commands import plugin
 from yardstick.cmd.commands import env
 from yardstick.cmd.commands import task
 from yardstick.cmd.commands import runner
 from yardstick.cmd.commands import scenario
 from yardstick.cmd.commands import testcase
 from yardstick.cmd.commands import plugin
 from yardstick.cmd.commands import env
+from yardstick.cmd.commands import report
+from yardstick.common import import_tools
+
 
 CONF = cfg.CONF
 cli_opts = [
     cfg.BoolOpt('debug',
                 short='d',
                 default=False,
 
 CONF = cfg.CONF
 cli_opts = [
     cfg.BoolOpt('debug',
                 short='d',
                 default=False,
-                help='increase output verbosity to debug'),
-    cfg.BoolOpt('verbose',
-                short='v',
-                default=False,
-                help='increase output verbosity to info')
+                help='increase output verbosity to debug')
 ]
 CONF.register_cli_opts(cli_opts)
 
 ]
 CONF.register_cli_opts(cli_opts)
 
@@ -55,8 +55,9 @@ def find_config_files(path_list):
     return None
 
 
     return None
 
 
-class YardstickCLI():
-    '''Command-line interface to yardstick'''
+@import_tools.decorator_banned_modules
+class YardstickCLI(object):   # pragma: no cover
+    """Command-line interface to yardstick"""
 
     # Command categories
     categories = {
 
     # Command categories
     categories = {
@@ -65,7 +66,8 @@ class YardstickCLI():
         'scenario': scenario.ScenarioCommands,
         'testcase': testcase.TestcaseCommands,
         'plugin': plugin.PluginCommands,
         'scenario': scenario.ScenarioCommands,
         'testcase': testcase.TestcaseCommands,
         'plugin': plugin.PluginCommands,
-        'env': env.EnvCommand
+        'env': env.EnvCommand,
+        'report': report.ReportCommands
     }
 
     def __init__(self):
     }
 
     def __init__(self):
@@ -74,7 +76,7 @@ class YardstickCLI():
             get_distribution('yardstick').version
 
     def _find_actions(self, subparsers, actions_module):
             get_distribution('yardstick').version
 
     def _find_actions(self, subparsers, actions_module):
-        '''find action methods'''
+        """find action methods"""
         # Find action methods inside actions_module and
         # add them to the command parser.
         # The 'actions_module' argument may be a class
         # Find action methods inside actions_module and
         # add them to the command parser.
         # The 'actions_module' argument may be a class
@@ -93,7 +95,7 @@ class YardstickCLI():
             subparser.set_defaults(func=callback)
 
     def _add_command_parsers(self, categories, subparsers):
             subparser.set_defaults(func=callback)
 
     def _add_command_parsers(self, categories, subparsers):
-        '''add commands to command-line parser'''
+        """add commands to command-line parser"""
         for category in categories:
             command_object = categories[category]()
             desc = command_object.__doc__ or ''
         for category in categories:
             command_object = categories[category]()
             desc = command_object.__doc__ or ''
@@ -109,7 +111,7 @@ class YardstickCLI():
 
         # register subcommands to parse additional command line arguments
         def parser(subparsers):
 
         # register subcommands to parse additional command line arguments
         def parser(subparsers):
-            self._add_command_parsers(YardstickCLI.categories, subparsers)
+            self._add_command_parsers(self.categories, subparsers)
 
         category_opt = cfg.SubCommandOpt("category",
                                          title="Command categories",
 
         category_opt = cfg.SubCommandOpt("category",
                                          title="Command categories",
@@ -131,19 +133,16 @@ class YardstickCLI():
     def _handle_global_opts(self):
 
         _init_logging()
     def _handle_global_opts(self):
 
         _init_logging()
-        if CONF.verbose:
-            LOG.setLevel(logging.INFO)
-
         if CONF.debug:
         if CONF.debug:
-            LOG.setLevel(logging.DEBUG)
+            _LOG_STREAM_HDLR.setLevel(logging.DEBUG)
 
 
-    def _dispath_func_notask(self):
+    def _dispatch_func_notask(self):
 
         # dispatch to category parser
         func = CONF.category.func
         func(CONF.category)
 
 
         # dispatch to category parser
         func = CONF.category.func
         func(CONF.category)
 
-    def _dispath_func_task(self, task_id):
+    def _dispatch_func_task(self, task_id):
 
         # dispatch to category parser
         func = CONF.category.func
 
         # dispatch to category parser
         func = CONF.category.func
@@ -155,7 +154,7 @@ class YardstickCLI():
         CONF.unregister_opts(self.opts)
 
     def main(self, argv):    # pragma: no cover
         CONF.unregister_opts(self.opts)
 
     def main(self, argv):    # pragma: no cover
-        '''run the command line interface'''
+        """run the command line interface"""
         try:
             self._register_cli_opt()
 
         try:
             self._register_cli_opt()
 
@@ -163,12 +162,12 @@ class YardstickCLI():
 
             self._handle_global_opts()
 
 
             self._handle_global_opts()
 
-            self._dispath_func_notask()
+            self._dispatch_func_notask()
         finally:
             self._clear_config_opts()
 
     def api(self, argv, task_id):    # pragma: no cover
         finally:
             self._clear_config_opts()
 
     def api(self, argv, task_id):    # pragma: no cover
-        '''run the api interface'''
+        """run the api interface"""
         try:
             self._register_cli_opt()
 
         try:
             self._register_cli_opt()
 
@@ -176,6 +175,6 @@ class YardstickCLI():
 
             self._handle_global_opts()
 
 
             self._handle_global_opts()
 
-            self._dispath_func_task(task_id)
+            self._dispatch_func_task(task_id)
         finally:
             self._clear_config_opts()
         finally:
             self._clear_config_opts()