From f34f3b3baf6f847296430c6126edc3002accd4ff Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Wed, 9 Oct 2013 13:19:10 -0500 Subject: [PATCH] Move teuthology's arg parsing to scripts/ Signed-off-by: Zack Cerza --- scripts/run.py | 67 +++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 2 +- teuthology/run.py | 64 +------------------------------------------- 3 files changed, 69 insertions(+), 64 deletions(-) create mode 100644 scripts/run.py diff --git a/scripts/run.py b/scripts/run.py new file mode 100644 index 0000000000000..a476f163566a2 --- /dev/null +++ b/scripts/run.py @@ -0,0 +1,67 @@ +import argparse + +import teuthology.run + + +def main(): + teuthology.run.main(parse_args()) + + +def parse_args(): + parser = argparse.ArgumentParser(description='Run ceph integration tests') + parser.add_argument( + '-v', '--verbose', + action='store_true', default=None, + help='be more verbose', + ) + parser.add_argument( + 'config', + metavar='CONFFILE', + nargs='+', + type=teuthology.run.config_file, + action=teuthology.run.MergeConfig, + default={}, + help='config file to read', + ) + parser.add_argument( + '-a', '--archive', + metavar='DIR', + help='path to archive results in', + ) + parser.add_argument( + '--description', + help='job description', + ) + parser.add_argument( + '--owner', + help='job owner', + ) + parser.add_argument( + '--lock', + action='store_true', + default=False, + help='lock machines for the duration of the run', + ) + parser.add_argument( + '--machine-type', + default=None, + help='Type of machine to lock/run tests on.', + ) + parser.add_argument( + '--os-type', + default='ubuntu', + help='Distro/OS of machine to run test on.', + ) + parser.add_argument( + '--block', + action='store_true', + default=False, + help='block until locking machines succeeds (use with --lock)', + ) + parser.add_argument( + '--name', + metavar='NAME', + help='name for this teuthology run', + ) + + return parser.parse_args() diff --git a/setup.py b/setup.py index d1b0c56e91a89..a1cb5753a90c8 100644 --- a/setup.py +++ b/setup.py @@ -16,7 +16,7 @@ setup( # and find sub foo entry_points={ 'console_scripts': [ - 'teuthology = teuthology.run:main', + 'teuthology = scripts.run:main', 'teuthology-nuke = scripts.nuke:main', 'teuthology-suite = scripts.suite:main', 'teuthology-ls = scripts.ls:main', diff --git a/teuthology/run.py b/teuthology/run.py index 5832788295c21..e1ebab568dc73 100644 --- a/teuthology/run.py +++ b/teuthology/run.py @@ -28,67 +28,6 @@ class MergeConfig(argparse.Action): deep_merge(config, new) -def parse_args(): - parser = argparse.ArgumentParser(description='Run ceph integration tests') - parser.add_argument( - '-v', '--verbose', - action='store_true', default=None, - help='be more verbose', - ) - parser.add_argument( - 'config', - metavar='CONFFILE', - nargs='+', - type=config_file, - action=MergeConfig, - default={}, - help='config file to read', - ) - parser.add_argument( - '-a', '--archive', - metavar='DIR', - help='path to archive results in', - ) - parser.add_argument( - '--description', - help='job description', - ) - parser.add_argument( - '--owner', - help='job owner', - ) - parser.add_argument( - '--lock', - action='store_true', - default=False, - help='lock machines for the duration of the run', - ) - parser.add_argument( - '--machine-type', - default=None, - help='Type of machine to lock/run tests on.', - ) - parser.add_argument( - '--os-type', - default='ubuntu', - help='Distro/OS of machine to run test on.', - ) - parser.add_argument( - '--block', - action='store_true', - default=False, - help='block until locking machines succeeds (use with --lock)', - ) - parser.add_argument( - '--name', - metavar='NAME', - help='name for this teuthology run', - ) - - args = parser.parse_args() - return args - - def set_up_logging(ctx): import logging @@ -151,7 +90,7 @@ def write_initial_metadata(ctx): yaml.safe_dump(info, f, default_flow_style=False) -def main(): +def main(ctx): from gevent import monkey monkey.patch_all(dns=False) from .orchestra import monkey @@ -161,7 +100,6 @@ def main(): # block. That would cause connections to hang because the monkey patching # hadn't been done. import logging - ctx = parse_args() set_up_logging(ctx) log = logging.getLogger(__name__) -- 2.39.5