from argparse import RawTextHelpFormatter
import textwrap
+import teuthology.misc
import teuthology.nuke
def parse_args():
- from teuthology.run import config_file
- from teuthology.run import MergeConfig
-
parser = argparse.ArgumentParser(
description='Reset test machines',
epilog=textwrap.dedent('''
parser.add_argument(
'-t', '--targets',
nargs='+',
- type=config_file,
- action=MergeConfig,
+ type=teuthology.misc.config_file,
+ action=teuthology.misc.MergeConfig,
default={},
dest='config',
help='yaml config containing machines to nuke',
import argparse
+import teuthology.misc
import teuthology.run
'config',
metavar='CONFFILE',
nargs='+',
- type=teuthology.run.config_file,
- action=teuthology.run.MergeConfig,
+ type=teuthology.misc.config_file,
+ action=teuthology.misc.MergeConfig,
default={},
help='config file to read',
)
import argparse
-import teuthology.run
+import teuthology.misc
import teuthology.schedule
'config',
metavar='CONFFILE',
nargs='*',
- type=teuthology.run.config_file,
- action=teuthology.run.MergeConfig,
+ type=teuthology.misc.config_file,
+ action=teuthology.misc.MergeConfig,
default={},
help='config file to read',
)
from cStringIO import StringIO
+import argparse
import os
import logging
import configobj
is_arm = lambda x: x.startswith('tala') or x.startswith('ubuntu@tala') or x.startswith('saya') or x.startswith('ubuntu@saya')
+def config_file(string):
+ config_dict = {}
+ try:
+ with file(string) as f:
+ g = yaml.safe_load_all(f)
+ for new in g:
+ config_dict.update(new)
+ except IOError as e:
+ raise argparse.ArgumentTypeError(str(e))
+ return config_dict
+
+
+class MergeConfig(argparse.Action):
+ def __call__(self, parser, namespace, values, option_string=None):
+ config_dict = getattr(namespace, self.dest)
+ for new in values:
+ deep_merge(config_dict, new)
+
+
def get_testdir(ctx):
if 'test_path' in ctx.teuthology_config:
return ctx.teuthology_config['test_path']
from .orchestra import run
from .lock import list_locks
from .lock import unlock_one
+from .misc import config_file
from .misc import get_testdir
from .misc import get_user
from .misc import read_config
from .misc import reconnect
from .parallel import parallel
-from .run import config_file
from .task import install as install_task
from .task.internal import check_lock
from .task.internal import connect
-import argparse
import os
import yaml
import StringIO
from traceback import format_tb
from . import report
-from .misc import deep_merge
from .misc import get_distro
from .misc import get_user
from .misc import read_config
from .nuke import nuke
from .run_tasks import run_tasks
-from .suite import email_results
-
-
-
-def config_file(string):
- config = {}
- try:
- with file(string) as f:
- g = yaml.safe_load_all(f)
- for new in g:
- config.update(new)
- except IOError as e:
- raise argparse.ArgumentTypeError(str(e))
- return config
-
-
-class MergeConfig(argparse.Action):
-
- def __call__(self, parser, namespace, values, option_string=None):
- config = getattr(namespace, self.dest)
- for new in values:
- deep_merge(config, new)
+from .results import email_results
def set_up_logging(ctx):
import yaml
-from teuthology.misc import read_config, get_user
import teuthology.queue
+from teuthology.misc import get_user
+from teuthology.misc import read_config
def main(ctx):