#!/usr/bin/python3 """ Send all Repair Failed hosts that the user running this script has access to back into Verifying. (Only hosts ACL accessable to the user) Suggested use: Run this as an occasional cron job to re-check if Repair Failed hosts have overcome whatever issue caused the failure and are useful again. """ from __future__ import absolute_import from __future__ import division from __future__ import print_function import optparse, os, sys import common from autotest_lib.server import frontend def main(): parser = optparse.OptionParser(usage='%prog [options]\n\n' + __doc__.strip()) parser.add_option('-w', dest='server', default='autotest', help='Hostname of the autotest frontend RPC server.') parser.add_option('-b', dest='label', default=None, type=str, help='A label to restrict the set of hosts reverified.') options, unused_args = parser.parse_args(sys.argv) afe_client = frontend.AFE(debug=False, server=options.server) hostnames = afe_client.reverify_hosts(status='Repair Failed', label=options.label) # The old RPC interface didn't return anything. # A more recent one returns a list of hostnames to make this message useful. if hostnames: print('The following Repair Failed hosts on', options.server, end=' ') print('will be reverified:') print(' '.join(hostnames)) else: print('Repair Failed hosts on', options.server, 'will be reverified.') if __name__ == '__main__': main()