You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2015/10/07 02:45:18 UTC
mesos git commit: Added evolve functions for executor events.
Repository: mesos
Updated Branches:
refs/heads/master 4bc8eeedd -> 5058fac10
Added evolve functions for executor events.
This change implements helper functions for evolving old style
executor messages in src/messages/messages.proto to V1 executor
events defined in include/mesos/v1/executor/executor.proto.
This is needed for MESOS-3480.
Review: https://reviews.apache.org/r/38873
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/5058fac1
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/5058fac1
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/5058fac1
Branch: refs/heads/master
Commit: 5058fac1083dc91bca54d33c26c810c17ad95dd1
Parents: 4bc8eee
Author: Anand Mazumdar <ma...@gmail.com>
Authored: Tue Oct 6 17:37:41 2015 -0700
Committer: Benjamin Mahler <be...@gmail.com>
Committed: Tue Oct 6 17:41:40 2015 -0700
----------------------------------------------------------------------
src/internal/evolve.cpp | 108 +++++++++++++++++++++++++++++++++++++++++++
src/internal/evolve.hpp | 20 ++++++++
2 files changed, 128 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/5058fac1/src/internal/evolve.cpp
----------------------------------------------------------------------
diff --git a/src/internal/evolve.cpp b/src/internal/evolve.cpp
index 625706e..ed3ea27 100644
--- a/src/internal/evolve.cpp
+++ b/src/internal/evolve.cpp
@@ -80,12 +80,24 @@ v1::FrameworkID evolve(const FrameworkID& frameworkId)
}
+v1::FrameworkInfo evolve(const FrameworkInfo& frameworkInfo)
+{
+ return evolve<v1::FrameworkInfo>(frameworkInfo);
+}
+
+
v1::ExecutorID evolve(const ExecutorID& executorId)
{
return evolve<v1::ExecutorID>(executorId);
}
+v1::ExecutorInfo evolve(const ExecutorInfo& executorInfo)
+{
+ return evolve<v1::ExecutorInfo>(executorInfo);
+}
+
+
v1::Offer evolve(const Offer& offer)
{
return evolve<v1::Offer>(offer);
@@ -104,6 +116,12 @@ v1::OfferID evolve(const OfferID& offerId)
}
+v1::TaskID evolve(const TaskID& taskId)
+{
+ return evolve<v1::TaskID>(taskId);
+}
+
+
v1::TaskInfo evolve(const TaskInfo& taskInfo)
{
return evolve<v1::TaskInfo>(taskInfo);
@@ -270,5 +288,95 @@ v1::scheduler::Event evolve(const FrameworkErrorMessage& message)
return event;
}
+
+v1::executor::Event evolve(const mesos::executor::Event& event)
+{
+ return evolve<v1::executor::Event>(event);
+}
+
+
+v1::executor::Event evolve(const KillTaskMessage& message)
+{
+ v1::executor::Event event;
+ event.set_type(v1::executor::Event::KILL);
+
+ v1::executor::Event::Kill* kill = event.mutable_kill();
+
+ kill->mutable_task_id()->CopyFrom(evolve(message.task_id()));
+
+ return event;
+}
+
+
+v1::executor::Event evolve(const RunTaskMessage& message)
+{
+ v1::executor::Event event;
+ event.set_type(v1::executor::Event::LAUNCH);
+
+ v1::executor::Event::Launch* launch = event.mutable_launch();
+
+ launch->mutable_task()->CopyFrom(evolve(message.task()));
+
+ return event;
+}
+
+
+v1::executor::Event evolve(
+ const StatusUpdateAcknowledgementMessage& message)
+{
+ v1::executor::Event event;
+ event.set_type(v1::executor::Event::ACKNOWLEDGED);
+
+ v1::executor::Event::Acknowledged* acknowledged =
+ event.mutable_acknowledged();
+
+ acknowledged->mutable_task_id()->CopyFrom(evolve(message.task_id()));
+ acknowledged->set_uuid(message.uuid());
+
+ return event;
+}
+
+
+v1::executor::Event evolve(const FrameworkToExecutorMessage& message)
+{
+ v1::executor::Event event;
+ event.set_type(v1::executor::Event::MESSAGE);
+
+ v1::executor::Event::Message* message_ = event.mutable_message();
+
+ message_->set_data(message.data());
+
+ return event;
+}
+
+
+v1::executor::Event evolve(const ExecutorRegisteredMessage& message)
+{
+ v1::executor::Event event;
+ event.set_type(v1::executor::Event::SUBSCRIBED);
+
+ v1::executor::Event::Subscribed* subscribed = event.mutable_subscribed();
+
+ subscribed->mutable_executor_info()->
+ CopyFrom(evolve(message.executor_info()));
+
+ subscribed->mutable_framework_info()->
+ CopyFrom(evolve(message.framework_info()));
+
+ subscribed->mutable_agent_info()->
+ CopyFrom(evolve(message.slave_info()));
+
+ return event;
+}
+
+
+v1::executor::Event evolve(const ShutdownExecutorMessage&)
+{
+ v1::executor::Event event;
+ event.set_type(v1::executor::Event::SHUTDOWN);
+
+ return event;
+}
+
} // namespace internal {
} // namespace mesos {
http://git-wip-us.apache.org/repos/asf/mesos/blob/5058fac1/src/internal/evolve.hpp
----------------------------------------------------------------------
diff --git a/src/internal/evolve.hpp b/src/internal/evolve.hpp
index 9babac3..f2276b9 100644
--- a/src/internal/evolve.hpp
+++ b/src/internal/evolve.hpp
@@ -23,10 +23,14 @@
#include <mesos/mesos.hpp>
+#include <mesos/executor/executor.hpp>
+
#include <mesos/scheduler/scheduler.hpp>
#include <mesos/v1/mesos.hpp>
+#include <mesos/v1/executor/executor.hpp>
+
#include <mesos/v1/scheduler/scheduler.hpp>
#include <stout/foreach.hpp>
@@ -40,10 +44,13 @@ namespace internal {
v1::AgentID evolve(const SlaveID& slaveId);
v1::AgentInfo evolve(const SlaveInfo& slaveInfo);
v1::FrameworkID evolve(const FrameworkID& frameworkId);
+v1::FrameworkInfo evolve(const FrameworkInfo& frameworkInfo);
v1::ExecutorID evolve(const ExecutorID& executorId);
+v1::ExecutorInfo evolve(const ExecutorInfo& executorInfo);
v1::Offer evolve(const Offer& offer);
v1::InverseOffer evolve(const InverseOffer& inverseOffer);
v1::OfferID evolve(const OfferID& offerId);
+v1::TaskID evolve(const TaskID& taskId);
v1::TaskInfo evolve(const TaskInfo& taskInfo);
v1::TaskStatus evolve(const TaskStatus& status);
@@ -80,6 +87,19 @@ v1::scheduler::Event evolve(const ExitedExecutorMessage& message);
v1::scheduler::Event evolve(const ExecutorToFrameworkMessage& message);
v1::scheduler::Event evolve(const FrameworkErrorMessage& message);
+
+v1::executor::Event evolve(const mesos::executor::Event& event);
+
+
+// Helper functions that evolve old style internal messages to a
+// v1::Executor::Event.
+v1::executor::Event evolve(const ExecutorRegisteredMessage& message);
+v1::executor::Event evolve(const FrameworkToExecutorMessage& message);
+v1::executor::Event evolve(const KillTaskMessage& message);
+v1::executor::Event evolve(const RunTaskMessage& message);
+v1::executor::Event evolve(const StatusUpdateAcknowledgementMessage& message);
+v1::executor::Event evolve(const ShutdownExecutorMessage& message);
+
} // namespace internal {
} // namespace mesos {