blob: df604f690adec938360c9e9e28e86e321a53410e [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;
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;
}