blob: 04738b593d8af25babbf58166a8972b2b6c78163 [file] [log] [blame]
// Copyright 2019 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_platform.phosphorus;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/phosphorus";
import "google/protobuf/timestamp.proto";
import "test_platform/phosphorus/common.proto";
import "test_platform/request.proto";
// PrejobRequest defines the input of `phosphorus prejob`.
message PrejobRequest {
Config config = 1;
string dut_hostname = 2;
// TODO(crbug.com/1162347): Delete this post-migration.
map<string,string> provisionable_labels = 3 [deprecated = true];
// What needs to be installed onto the DUT at the end of prejob, e.g.
// "cros-version": "reef-release/R77-12345.0.0".
// TODO(crbug.com/1162347): Delete this post-migration.
map<string,string> desired_provisionable_labels = 4 [deprecated = true];
// What needs to be installed onto the DUT at the end of prejob, as specified
// in the cros_test_platform request.
repeated test_platform.Request.Params.SoftwareDependency software_dependencies = 8;
// What is installed on the DUT before the prejob, e.g.
// "cros-version": "reef-release/R77-12345.0.0".
map<string,string> existing_provisionable_labels = 5;
// Hard deadline for execution.
//
// All prejob execution should abort beyond this deadline.
google.protobuf.Timestamp deadline = 6;
// If set, use the Provision TLS API for the prejob.
// See go/cros-prover go/cros-tls
//
// crbug.com/1137444: This is a transitional argument. Once go/cros-prover
// migration is complete, all prejobs will use the TLS API and this argument
// will be dropped.
bool use_tls = 7;
}
// PrejobResponse defines the output of `phosphorus prejob`.
message PrejobResponse {
// Values should be consistent with https://aip.dev/216
enum State {
// Should not be used.
STATE_UNSPECIFIED = 0;
// The prejob succeeded.
//
// Some prejob failures may not be detectable during execution. These
// failures will be detected when parsing results off the prejob logs in a
// later step of test_runner.
SUCCEEDED = 1;
// The prejob failed.
FAILED = 2;
// The prejob hit the requested timeout.
TIMED_OUT = 3;
// The prejob was aborted externally.
ABORTED = 4;
}
// `phosphorus prejob` exits with exit code 0 unless there is an
// infrastructure failure. When the exit code is 0, `state` indicates the
// best known state of the prejob execution (see comments on State enum).
State state = 1;
}