Benjamin Mahler created MESOS-6964:
--------------------------------------

             Summary: Inject Resource.AllocationInfo for recovered tasks and 
executors in the agent.
                 Key: MESOS-6964
                 URL: https://issues.apache.org/jira/browse/MESOS-6964
             Project: Mesos
          Issue Type: Task
          Components: agent
            Reporter: Benjamin Mahler
            Assignee: Benjamin Mahler


To support multi-role frameworks, we want to ensure that new (MULTI_ROLE 
capable) agents consistently set {{Resource.AllocationInfo}} for allocated 
resources in the agent.

During phase 1, since we do not allow frameworks to modify their roles, it is 
sufficient to inject the resources in-memory during recovery. This is because 
the injection will only occur for:

(1) Non MULTI_ROLE capable frameworks, in this case there is only a single 
role, and it cannot change, so the injection is unambiguous.

(2) Non MULTI_ROLE capable frameworks that have upgraded to be MULTI_ROLE 
capable. These frameworks can only have a single role, since we do not allow 
roles to change, but they start to use {{FrameworkInfo.roles}} to specify the 
role. This case is also unambiguous when injecting the role.

For the last case, we do not need to perform any injection:

(3) MULTI_ROLE capable frameworks with multiple roles. These frameworks can 
only run tasks on the agent after the master and agent are upgraded, so the 
{{Resource.AllocationInfo}} will already be set.

As we add support for frameworks to change their roles (phase 2 of multi-role 
frameowrk support), we will need to re-persist the injected resources for cases 
(1) and (2) to ensure that we remember which roles the recovered tasks were 
allocated to in the case that the framework modifies its roles.



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

Reply via email to