| // 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; |
| } |