
# 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_StorageStress_storage_qual_mini_soak_soak_0"
METADATA = {
    "contacts": ["chromeos-storage@google.com"],
    "bug_component": "b:974567",
    "criteria": "Part of storage AVL qualification suite",
    "hw_agnostic": False
}
ATTRIBUTES = "suite:storage_qual_mini_soak"
PURPOSE = "hardware_StorageStress_storage_qual_mini_soak_soak_0"
TIME = "lengthy"
TEST_CATEGORY = "Stress"
TEST_CLASS = "Hardware"
TEST_TYPE = "server"
PY_VERSION = 3
REQUIRE_SSP = True
PRIORITY = 90
DEPENDENCIES = "storage_qual_mini_soak"
JOB_RETRIES = 0
FAST = False

DOC = "hardware_StorageStress_storage_qual_mini_soak_soak_0"

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_StorageStress", host=hosts.create_host(machine),
            client_ip=machine, tag='soak', power_command='nothing', storage_test_command='full_write', duration=7200)

parallel_simple(run, machines)
