Home | History | Annotate | Download | only in utils
      1 #!/usr/bin/python
      2 
      3 """
      4 Send all Repair Failed hosts that the user running this script has access to
      5 back into Verifying.  (Only hosts ACL accessable to the user)
      6 
      7 Suggested use: Run this as an occasional cron job to re-check if Repair Failed
      8 hosts have overcome whatever issue caused the failure and are useful again.
      9 """
     10 
     11 import optparse, os, sys
     12 
     13 import common
     14 from autotest_lib.server import frontend
     15 
     16 
     17 def main():
     18     parser = optparse.OptionParser(usage='%prog [options]\n\n' +
     19                                    __doc__.strip())
     20     parser.add_option('-w', dest='server', default='autotest',
     21                       help='Hostname of the autotest frontend RPC server.')
     22     parser.add_option('-b', dest='label', default=None, type=str,
     23                       help='A label to restrict the set of hosts reverified.')
     24     options, unused_args = parser.parse_args(sys.argv)
     25 
     26     afe_client = frontend.AFE(debug=False, server=options.server)
     27     hostnames = afe_client.reverify_hosts(status='Repair Failed',
     28                                           label=options.label)
     29     # The old RPC interface didn't return anything.
     30     # A more recent one returns a list of hostnames to make this message useful.
     31     if hostnames:
     32         print 'The following Repair Failed hosts on', options.server,
     33         print 'will be reverified:'
     34         print ' '.join(hostnames)
     35     else:
     36         print 'Repair Failed hosts on', options.server, 'will be reverified.'
     37 
     38 
     39 if __name__ == '__main__':
     40     main()
     41