[ https://issues.apache.org/jira/browse/MESOS-3041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joseph Wu updated MESOS-3041: ----------------------------- Target Version/s: (was: 0.26.0) > Decline call does not include an optional "reason", in the Event/Call API > ------------------------------------------------------------------------- > > Key: MESOS-3041 > URL: https://issues.apache.org/jira/browse/MESOS-3041 > Project: Mesos > Issue Type: Task > Components: master > Reporter: Joseph Wu > Assignee: Guangya Liu > Labels: mesosphere > > In the Event/Call API, the Decline call is currently used by frameworks to > reject resource offers. > In the case of InverseOffers, the framework could give additional information > to the operators and/or allocator, as to why the InverseOffer is declined. > i.e. Suppose a cluster running some consensus algorithm is given an > InverseOffer on one of its nodes. It may decline saying "Too few nodes" (or, > more verbosely, "Specified InverseOffer would lower the number of active > nodes below quorum"). > This change requires the following changes: > * include/mesos/scheduler/scheduler.proto: > {code} > message Call { > ... > message Decline { > repeated OfferID offer_ids = 1; > optional Filters filters = 2; > // Add this extra string for each OfferID > // i.e. reasons[i] is for offer_ids[i] > repeated string reasons = 3; > } > ... > } > {code} > * src/master/master.cpp > Change Master::decline to either store the reason, or log it. > * Add a declineOffer overload in the (Mesos)SchedulerDriver with an optional > "reason". > ** Extend the interface in include/mesos/scheduler.hpp > ** Add/change the declineOffer method in src/sched/sched.cpp -- This message was sent by Atlassian JIRA (v6.3.4#6332)