blob: 2b21ac700bfc5408fbd8826e7a6b16c419a16498 [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.
*/
option java_package = "org.apache.reef.proto";
option java_outer_classname = "DriverRuntimeProtocol";
option java_generic_services = true;
option java_generate_equals_and_hash = true;
import "reef_service_protos.proto";
// Messages from Driver Runtime -> Driver Process
message DriverProcessRegistrationProto {
required string remote_identifier = 1;
}
message NodeDescriptorProto {
required string identifier = 1;
required string host_name = 2; // e.g., IP address
required int32 port = 3; // e.g., IP port
required int32 memory_size = 4;
optional string rack_name = 5; // e.g., /default-rack
}
message ResourceAllocationProto {
required string identifier = 1; // e.g., the container id, or the thread id
required int32 resource_memory = 2; // megabytes
required string node_id = 3;
}
message ResourceStatusProto {
required string identifier = 1;
required State state = 2;
optional string diagnostics = 3;
optional int32 exit_code = 4;
optional bool is_from_previous_driver = 5;
}
message RuntimeStatusProto {
required string name = 1; // e.g., local, yarn21
required State state = 2;
optional RuntimeErrorProto error = 3; // runtime (e.g., YARN) error
optional int32 outstanding_container_requests = 5;
repeated string container_allocation = 6;
}
//////////////////////////////////////////////////////
// Messages from Driver Process -> Driver Runtime
message ResourceRequestProto {
// optional SIZE resource_size = 1; // Removed in REEF 0.3 in favor of memory_size.
optional int32 memory_size = 2; // Memory size of the evaluator in MB
optional int32 priority = 3;
required int32 resource_count = 5;
repeated string node_name = 6; // a list of specific nodes
repeated string rack_name = 7; // a list of specific racks
optional bool relax_locality = 10;
}
message ResourceReleaseProto {
required string identifier = 1;
}
message ResourceLaunchProto {
required string identifier = 1;
required string remote_id = 2;
required string evaluator_conf = 3;
required ProcessType type = 4;
repeated FileResourceProto file = 10;
}