blob: 7f5e31b3be3bca67c07474fdbc00e22b61f48f40 [file] [log] [blame]
// Copyright 2019 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package test_platform.skylab_local_state;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/skylab_local_state";
import "test_platform/skylab_local_state/common.proto";
import "chromiumos/test/lab/api/dut.proto";
// LoadRequest defines the input of `skylab_local_state load`.
message LoadRequest {
Config config = 1;
// DUT hostname.
string dut_name = 3;
// Swarming run ID. Used in the results directory name.
string run_id = 4;
// DUT ID, used in the name of the DUT state cache file.
string dut_id = 5;
// Test ID, used in the results directory name.
string test_id = 6;
// A flag to indicates if the dut_name is a scheduling unit dut_name.
bool multi_duts_flag = 7;
reserved 2;
reserved "results_dir";
}
// Represents a DUT from lab.
message Dut {
string hostname = 1;
string board = 2;
string model = 3;
}
// LoadResponse defines the output of `skylab_local_state load`.
message LoadResponse {
// What is currently installed on the DUT, e.g.
// "cros-version": "reef-release/R77-12345.0.0".
map<string, string> provisionable_labels = 1;
// The path to the newly created directory containing the host info file.
string results_dir = 2;
// In a multi-DUTs use cases, we need return some basic information
// of all DUTs under a scheduling unit, so that provision and test
// exection steps can determine which of them will be used based on
// test metadata.
repeated Dut dut_topology = 4;
// This is only used by CFT MVP.
repeated chromiumos.test.lab.api.DutTopology lab_dut_topology = 5;
reserved 3;
reserved "async_results";
}