1# Copyright 2016 The Chromium OS Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5 6AUTHOR = "sbasi" 7NAME = "provision_TestbedUpdate" 8PURPOSE = "Provision the multiple DUTs in a Testbed setup." 9TIME = "MEDIUM" 10TEST_CATEGORY = "System" 11TEST_CLASS = "provision" 12TEST_TYPE = "Server" 13 14DOC = """ 15This is a test used by the provision control segment in autoserv to set the 16testbed-version label of a testbed to the desired setting and reimage the 17testbed to a specific version. 18""" 19 20 21from autotest_lib.client.common_lib import error, utils 22from autotest_lib.client.cros import constants 23 24 25# Autoserv may inject a local variable called value to supply the desired 26# version. If it does not exist, check if it was supplied as a test arg. 27if not locals().get('value'): 28 args = utils.args_to_dict(args) 29 if not args.get('value'): 30 raise error.TestError("No provision value!") 31 value = args['value'] 32 33 34def run(machine): 35 testbed = hosts.create_target_machine(machine) 36 job.run_test('provision_TestbedUpdate', host=testbed, value=value) 37 38 39job.parallel_simple(run, machines) 40