blob: b4961004c5319b4b3bc429de1bb977da3a3d4245 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package test.fleet.v1;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/test/fleet/v1;fleet";
// Fleet DeviceUnderTest is referenced in test plan specifications.
// See test/plan/v1/plan.proto
message DeviceUnderTest {
// `setup` was initially added to allow test plans to select DeviceUnderTests
// via constraints on the how the devices are setup in the fleet. This feature
// was dropped in the initial revisions of the API until a valid use-case for
// such a feature is demonstrated. Test metadata can still specify required
// deployment setup for particular tests (e.g., presence of an external
// camera for tests that exercise an external camera).
reserved 2;
reserved "setup";
// Name identifying the device in the fleet.
//
// MUST be valid resource name per https://aip.dev/122.
//
// Pattern: duts/{dut}
string name = 1;
// Configuration of scheduler options that apply to tasks that can execute on
// this DUT.
Scheduler scheduler = 3;
}
message Scheduler {
// The task scheduling pools this device may be used for.
//
// Historical note: The concept of managed pools (e.g.: DUT_POOL_CQ) was used
// for automatic balancing of healthy devices in critical pools. Due to
// merging of critical pools into a common scheduler pool, this auto-balancing
// service is no longer required.
//
// Old enum values are now serialized to the JSON encoding of those enums
// (e.g. "DUT_POOL_QUOTA").
// See lab/device.proto:DeviceUnderTest::DutPool.
repeated string pools = 1;
}