mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marco Massenzio (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MESOS-3042) Master/Allocator does not send InverseOffers to resources to be maintained
Date Mon, 17 Aug 2015 23:31:53 GMT

     [ https://issues.apache.org/jira/browse/MESOS-3042?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Marco Massenzio updated MESOS-3042:
-----------------------------------
    Sprint: Mesosphere Sprint 16, Mesosphere Sprint 17  (was: Mesosphere Sprint 16)

> Master/Allocator does not send InverseOffers to resources to be maintained
> --------------------------------------------------------------------------
>
>                 Key: MESOS-3042
>                 URL: https://issues.apache.org/jira/browse/MESOS-3042
>             Project: Mesos
>          Issue Type: Task
>          Components: allocation, master
>            Reporter: Joseph Wu
>            Assignee: Joris Van Remoortere
>              Labels: mesosphere
>
> Offers are currently sent from master/allocator to framework via ResourceOffersMessage's.
 InverseOffers, which are roughly equivalent to negative Offers, can be sent in the same package.
> In src/messages/messages.proto
> {code}
> message ResourceOffersMessage {
>   repeated Offer offers = 1;
>   repeated string pids = 2;
>   // New field with InverseOffers
>   repeated InverseOffer inverseOffers = 3;
> }
> {code}
> Sent InverseOffers can be tracked in the master's local state:
> i.e. In src/master/master.hpp:
> {code}
> struct Slave {
>   ... // Existing fields.
>   // Active InverseOffers on this slave.
>   // Similar pattern to the "offers" field
>   hashset<InverseOffer*> inverseOffers;
> }
> {code}
> One actor (master or allocator) should populate the new InverseOffers field.
> * In master (src/master/master.cpp)
> ** Master::offer is where the ResourceOffersMessage and Offer object is constructed.
> ** The same method could also check for maintenance and send InverseOffers.
> * In the allocator (src/master/allocator/mesos/hierarchical.hpp)
> ** HierarchicalAllocatorProcess::allocate is where slave resources are aggregated an
sent off to the frameworks.
> ** InverseOffers (i.e. negative resources) allocation could be calculated in this method.
> ** A change to Master::offer (i.e. the "offerCallback") may be necessary to account for
the negative resources.
> Possible test(s):
> * InverseOfferTest
> ** Start master, slave, framework.
> ** Accept resource offer, start task.
> ** Set maintenance schedule to the future.
> ** Check that InverseOffer(s) are sent to the framework.
> ** Decline InverseOffer.
> ** Check that more InverseOffer(s) are sent.
> ** Accept InverseOffer.
> ** Check that more InverseOffer(s) are sent.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message