48 lines
1.8 KiB
Python
Executable file
48 lines
1.8 KiB
Python
Executable file
#! /usr/bin/python
|
|
|
|
import os
|
|
import argparse
|
|
import datetime as datetime_base
|
|
from datetime import datetime
|
|
import logging
|
|
import sys
|
|
|
|
import common
|
|
from autotest_lib.frontend import setup_django_environment
|
|
from autotest_lib.frontend.afe import models
|
|
from autotest_lib.server.cros.dynamic_suite import job_status
|
|
|
|
|
|
def find_hostnames(pool='bvt', board='x86-mario'):
|
|
return os.popen("/usr/local/autotest/cli/atest host list | "
|
|
"grep pool:%s | grep %s | "
|
|
"awk '{ print $1}'" % (pool, board)).read().split('\n')
|
|
|
|
|
|
def _parse_args(args):
|
|
if not args:
|
|
print ('Try ./contrib/poolhistory.py pool -name bvt -board x86-mario -start '
|
|
'"2014-04-25 02:57:16" -end "2014-04-25 04:32:06"')
|
|
sys.exit(0)
|
|
parser = argparse.ArgumentParser(
|
|
description='A script to get the special tasks on a host or job.')
|
|
subparsers = parser.add_subparsers(help='Get tasks based on a job or host.')
|
|
parser_host = subparsers.add_parser('pool', help='Per host analysis mode.')
|
|
parser_host.add_argument('-name',
|
|
help='Hostname for which you would like tasks.')
|
|
parser_host.add_argument('-board',
|
|
help='Hostname for which you would like tasks.')
|
|
parser_host.add_argument(
|
|
'-start', help='Start time. Eg: 2014-03-25 16:26:31')
|
|
parser_host.add_argument(
|
|
'-end', help='End time Eg: 2014-03-25 18:26:31.')
|
|
return parser.parse_args(args)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
args = _parse_args(sys.argv[1:])
|
|
print 'Pool %s, board %s' % (args.name, args.board)
|
|
for name in find_hostnames(args.name, args.board):
|
|
print 'Host: %s' % name
|
|
print os.popen('/usr/local/autotest/contrib/onerous_tasks.py host -name %s '
|
|
'-start "%s" -end "%s"' % (name, args.start, args.end)).read()
|