mirror of
https://github.com/ceph/ceph
synced 2024-12-23 20:03:56 +00:00
7805913e74
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
84 lines
2.1 KiB
Python
84 lines
2.1 KiB
Python
import argparse
|
|
from argparse import RawTextHelpFormatter
|
|
import textwrap
|
|
|
|
import teuthology.nuke
|
|
|
|
|
|
def main():
|
|
teuthology.nuke.main(parse_args())
|
|
|
|
|
|
def parse_args():
|
|
from teuthology.run import config_file
|
|
from teuthology.run import MergeConfig
|
|
|
|
parser = argparse.ArgumentParser(
|
|
description='Reset test machines',
|
|
epilog=textwrap.dedent('''
|
|
Examples:
|
|
teuthology-nuke -t target.yaml --unlock --owner user@host
|
|
teuthology-nuke -t target.yaml --pid 1234 --unlock --owner user@host \n
|
|
'''),
|
|
formatter_class=RawTextHelpFormatter)
|
|
parser.add_argument(
|
|
'-v', '--verbose',
|
|
action='store_true', default=None,
|
|
help='be more verbose'
|
|
)
|
|
parser.add_argument(
|
|
'-t', '--targets',
|
|
nargs='+',
|
|
type=config_file,
|
|
action=MergeConfig,
|
|
default={},
|
|
dest='config',
|
|
help='yaml config containing machines to nuke',
|
|
)
|
|
parser.add_argument(
|
|
'-a', '--archive',
|
|
metavar='DIR',
|
|
help='archive path for a job to kill and nuke',
|
|
)
|
|
parser.add_argument(
|
|
'--owner',
|
|
help='job owner',
|
|
)
|
|
parser.add_argument(
|
|
'-p',
|
|
'--pid',
|
|
type=int,
|
|
default=False,
|
|
help='pid of the process to be killed',
|
|
)
|
|
parser.add_argument(
|
|
'-r', '--reboot-all',
|
|
action='store_true',
|
|
default=False,
|
|
help='reboot all machines',
|
|
)
|
|
parser.add_argument(
|
|
'-s', '--synch-clocks',
|
|
action='store_true',
|
|
default=False,
|
|
help='synchronize clocks on all machines',
|
|
)
|
|
parser.add_argument(
|
|
'-u', '--unlock',
|
|
action='store_true',
|
|
default=False,
|
|
help='Unlock each successfully nuked machine, and output targets that'
|
|
'could not be nuked.'
|
|
)
|
|
parser.add_argument(
|
|
'-n', '--name',
|
|
metavar='NAME',
|
|
help='Name of run to cleanup'
|
|
)
|
|
parser.add_argument(
|
|
'-i', '--noipmi',
|
|
action='store_true', default=False,
|
|
help='Skip ipmi checking'
|
|
)
|
|
return parser.parse_args()
|