
# Copyright 2020 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This control file was auto-generated by generate_storage_qual_control_files.py
# Do not edit this file!

from autotest_lib.client.common_lib import utils

AUTHOR = "chromeos-storage"
NAME = "hardware_StorageQualBase_storage_qual_cq_1_after"
METADATA = {
    "contacts": ["chromeos-storage@google.com"],
    "bug_component": "b:974567",
    "criteria": "Part of storage AVL qualification suite",
    "hw_agnostic": False
}
ATTRIBUTES = "suite:storage_qual_cq"
PURPOSE = "hardware_StorageQualBase_storage_qual_cq_1_after"
TIME = "long"
TEST_CATEGORY = "Stress"
TEST_CLASS = "Hardware"
TEST_TYPE = "server"
PY_VERSION = 3
REQUIRE_SSP = True
PRIORITY = 70
DEPENDENCIES = "storage_qual_cq_1"
JOB_RETRIES = 0
FAST = False

DOC = "hardware_StorageQualBase_storage_qual_cq_1_after"

keyval = dict()
keyval['storage_qual_version'] = 1
try:
    keyval['bug_id'] = bug_id
    keyval['part_id'] = part_id
except NameError:
    # bug_id and/or part_id variables not defined
    pass
utils.write_keyval(job.resultdir, keyval)

def run(machine):
    job.run_test("hardware_StorageQualBase", host=hosts.create_host(machine),
            client_ip=machine, tag='after', client_tag='after', cq=True)

parallel_simple(run, machines)
