#!/usr/bin/python2 -t """ Nice little script to quickly stage a build onto a devserver. """ import argparse import sys import common from autotest_lib.client.common_lib.cros import dev_server from autotest_lib.server.cros.dynamic_suite import tools from autotest_lib.server import frontend def parse_args(): """Parse command line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('--build', help='e.g. lumpy-release/R26-4321.0.0') parser.add_argument('--server', help='OPTIONAL: e.g. devserver.cros') parser.add_argument('--host', help='OPTIONAL: e.g. chromeos2-row3-rack4-host5') args = parser.parse_args() if not args.build: parser.print_help() sys.exit(1) return args def main(): """Stage a build on the devserver.""" options = parse_args() if options.server: server = 'http://%s/' % options.server ds = dev_server.ImageServer(server) else: ds = dev_server.ImageServer.resolve(options.build) print "Downloading %s..." % options.build ds.stage_artifacts(options.build, ['full_payload', 'stateful', 'control_files', 'autotest_packages']) if options.host: print "Poking job_repo_url on %s..." % options.host repo_url = tools.get_package_url(ds.url(), options.build) AFE = frontend.AFE() AFE.set_host_attribute('job_repo_url', repo_url, hostname=options.host) if __name__ == '__main__': main()