blob: 5d1b0706773ec644bab3e191c7470d79d84cd158 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
import "mesos/mesos.proto";
package mesos.slave;
option java_package = "org.apache.mesos";
option java_outer_classname = "Protos";
/**
* The QoS Controller informs the slave that particular corrective
* actions need to be made. Each corrective action contains
* information about executor or task and the type of action to
* perform.
*/
message QoSCorrection {
// NOTE: In the future we can define more actions like
// freeze and resize.
enum Type {
KILL = 1; // Terminate an executor.
}
// Kill action which will be performed on an executor.
// NOTE: Framework ID and either executor id or executor id and container_id
// must be set to kill a running container. In the latter case, the caller
// can be assured that the kill request doesn't target a new executor reusing
// an old executor id.
// NOTE: In the future we may also kill individual tasks by
// specifying an optional 'task_id'.
message Kill {
optional FrameworkID framework_id = 1;
optional ExecutorID executor_id = 2;
optional ContainerID container_id = 3;
}
required Type type = 1;
optional Kill kill = 2;
}