blob: ea66d01fab04d9812a49990e6e7624fbdae837e8 [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.multibot;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/multibot";
import "test_platform/request.proto";
import "test_platform/skylab_local_state/host_info.proto";
import "test_platform/skylab_test_runner/request.proto";
// Stable configuration settings needed for multi-bot tasks, shared by leader
// and followers
message MultiBotConfig {
// Pub/Sub topic name
string topic = 1;
}
// HostInfoStore stores Autotest host info blobs keyed by DUT name
message HostInfoStore {
map<string, skylab_local_state.AutotestHostInfo> host_infos = 1;
}
// FollowerSpec contains the provisionable and nonprovisionable attributes for a
// follower swarming task.
message FollowerSpec {
// Nonprovisionable labels for followers
message StaticAttributes {
test_platform.Request.Params.HardwareAttributes hardware_attributes = 1;
test_platform.Request.Params.SoftwareAttributes software_attributes = 2;
}
StaticAttributes static_attributes = 1;
// Prejob work required, primarily provisionable attributes to ensure
skylab_test_runner.Request.Prejob prejob = 2;
// Number of followers with these attributes, default to 1.
int32 count = 3;
}