Add a simple verify and repair function to autoserv for the
scheduler to call. This does a little bit of stuff each, and will
be useful, but basically it's a starter
Signed-off-by: Martin Bligh <mbligh@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@922 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/server/autoserv b/server/autoserv
index 0df92d0..d9daf7d 100755
--- a/server/autoserv
+++ b/server/autoserv
@@ -23,6 +23,8 @@
[-b] # reboot all specified machines after the job
[-l label] # label for the job (arbitrary string)
[-u user] # username for the job (email address)
+ [-v] # verify the machines only
+ [-R] # repair the machines
<control file> # name of the control file to run
[args ...] # args to pass through to the control file
"""
@@ -38,18 +40,20 @@
machines = parser.parse_opts_param('-m', None, split = ',')
machines_file = parser.parse_opts_param('-M', None)
results = parser.parse_opts_param('-r', os.path.abspath('.'))
+results = os.path.abspath(results)
label = parser.parse_opts_param('-l', '')
user = parser.parse_opts_param('-u', realuser)
client = parser.parse_opts('-c')
reboot = parser.parse_opts('-b')
install_before = parser.parse_opts('-i')
install_after = parser.parse_opts('-I')
-results = os.path.abspath(results)
+verify = parser.parse_opts('-v')
+repair = parser.parse_opts('-R')
if getattr(hosts.site_host, 'site_parse_options', None):
hosts.site_host.site_parse_options(parser)
-if len(parser.args) < 1:
+if len(parser.args) < 1 and not verify and not repair:
print usage
sys.exit(-1)
@@ -62,6 +66,13 @@
print "Read list of machines from file: %s" % machines_file
print ','.join(machines)
+if repair:
+ server_job.repair_machines(machines)
+
+if verify or repair:
+ server_job.verify_machines(machines)
+ sys.exit(0)
+
job = server_job.server_job(parser.args[0], parser.args[1:], results, label,
user, client)
job.stdout.tee_redirect(os.path.join(results, 'debug', 'autoserv.stdout'))