Maintenance Primitives: Added InverseOffer to V1 API. Review: https://reviews.apache.org/r/37282
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/6c568bac Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/6c568bac Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/6c568bac Branch: refs/heads/master Commit: 6c568bacea42f251bc68526a642533fe95e7bcf3 Parents: c702a2c Author: Joris Van Remoortere <[email protected]> Authored: Sun Aug 30 14:23:37 2015 -0400 Committer: Joris Van Remoortere <[email protected]> Committed: Mon Sep 14 13:58:37 2015 -0400 ---------------------------------------------------------------------- src/internal/devolve.cpp | 6 ++++++ src/internal/devolve.hpp | 1 + src/internal/evolve.cpp | 8 ++++++++ src/internal/evolve.hpp | 1 + src/messages/messages.proto | 8 ++++++++ 5 files changed, 24 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/6c568bac/src/internal/devolve.cpp ---------------------------------------------------------------------- diff --git a/src/internal/devolve.cpp b/src/internal/devolve.cpp index 0a069e5..6cace66 100644 --- a/src/internal/devolve.cpp +++ b/src/internal/devolve.cpp @@ -99,6 +99,12 @@ Offer devolve(const v1::Offer& offer) } +InverseOffer devolve(const v1::InverseOffer& inverseOffer) +{ + return devolve<InverseOffer>(inverseOffer); +} + + Credential devolve(const v1::Credential& credential) { return devolve<Credential>(credential); http://git-wip-us.apache.org/repos/asf/mesos/blob/6c568bac/src/internal/devolve.hpp ---------------------------------------------------------------------- diff --git a/src/internal/devolve.hpp b/src/internal/devolve.hpp index 6e4306d..f03cac5 100644 --- a/src/internal/devolve.hpp +++ b/src/internal/devolve.hpp @@ -41,6 +41,7 @@ FrameworkID devolve(const v1::FrameworkID& frameworkId); FrameworkInfo devolve(const v1::FrameworkInfo& frameworkInfo); ExecutorID devolve(const v1::ExecutorID& executorId); Offer devolve(const v1::Offer& offer); +InverseOffer devolve(const v1::InverseOffer& inverseOffer); Credential devolve(const v1::Credential& credential); scheduler::Call devolve(const v1::scheduler::Call& call); http://git-wip-us.apache.org/repos/asf/mesos/blob/6c568bac/src/internal/evolve.cpp ---------------------------------------------------------------------- diff --git a/src/internal/evolve.cpp b/src/internal/evolve.cpp index 11ce9e7..625706e 100644 --- a/src/internal/evolve.cpp +++ b/src/internal/evolve.cpp @@ -92,6 +92,12 @@ v1::Offer evolve(const Offer& offer) } +v1::InverseOffer evolve(const InverseOffer& inverseOffer) +{ + return evolve<v1::InverseOffer>(inverseOffer); +} + + v1::OfferID evolve(const OfferID& offerId) { return evolve<v1::OfferID>(offerId); @@ -153,6 +159,8 @@ v1::scheduler::Event evolve(const ResourceOffersMessage& message) v1::scheduler::Event::Offers* offers = event.mutable_offers(); offers->mutable_offers()->CopyFrom(evolve<v1::Offer>(message.offers())); + offers->mutable_inverse_offers()->CopyFrom(evolve<v1::InverseOffer>( + message.inverse_offers())); return event; } http://git-wip-us.apache.org/repos/asf/mesos/blob/6c568bac/src/internal/evolve.hpp ---------------------------------------------------------------------- diff --git a/src/internal/evolve.hpp b/src/internal/evolve.hpp index 13e9f52..9babac3 100644 --- a/src/internal/evolve.hpp +++ b/src/internal/evolve.hpp @@ -42,6 +42,7 @@ v1::AgentInfo evolve(const SlaveInfo& slaveInfo); v1::FrameworkID evolve(const FrameworkID& frameworkId); v1::ExecutorID evolve(const ExecutorID& executorId); v1::Offer evolve(const Offer& offer); +v1::InverseOffer evolve(const InverseOffer& inverseOffer); v1::OfferID evolve(const OfferID& offerId); v1::TaskInfo evolve(const TaskInfo& taskInfo); v1::TaskStatus evolve(const TaskStatus& status); http://git-wip-us.apache.org/repos/asf/mesos/blob/6c568bac/src/messages/messages.proto ---------------------------------------------------------------------- diff --git a/src/messages/messages.proto b/src/messages/messages.proto index 8977d8e..ea9a67e 100644 --- a/src/messages/messages.proto +++ b/src/messages/messages.proto @@ -168,6 +168,14 @@ message ResourceRequestMessage { message ResourceOffersMessage { repeated Offer offers = 1; repeated string pids = 2; + + // The `inverse_offers` field is added here because we currently use it in + // `master.cpp` when constructing the message to send to schedulers. We use + // the original version of the proto API until we do a full refactor of all + // the messages being sent. + // It is not fully implemented in the old scheduler; only the V1 scheduler + // currently implements inverse offers. + repeated InverseOffer inverse_offers = 3; }
