You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Vinod Kone (JIRA)" <ji...@apache.org> on 2017/09/06 00:08:01 UTC

[jira] [Updated] (MESOS-7492) Introduce a daemon manager in the agent.

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

Vinod Kone updated MESOS-7492:
------------------------------
    Sprint: Mesosphere Sprint 60, Mesosphere Sprint 61, Mesosphere Sprint 62, Mesosphere Sprint 63  (was: Mesosphere Sprint 60, Mesosphere Sprint 61, Mesosphere Sprint 62)

> Introduce a daemon manager in the agent.
> ----------------------------------------
>
>                 Key: MESOS-7492
>                 URL: https://issues.apache.org/jira/browse/MESOS-7492
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Jie Yu
>            Assignee: Joseph Wu
>              Labels: mesosphere, storage
>
> Once we have standalone container support from the containerizer, we should consider adding a daemon manager inside the agent. It'll be like 'monit', 'upstart' or 'systemd', but with very limited functionalities. For instance, as a start, the manager will simply always restart the daemons if the daemon fails. It'll also try to cleanup unknown daemons.
> This feature will be used to manage CSI plugin containers on the agent.
> The daemon manager should have an interface allowing operators to "register" a daemon with a name and a config of the daemon. The daemon manager is responsible for restarting the daemon if it crashes until some one explicitly "unregister" it. Some simple backoff and health check functionality should be provided.
> We probably need a small design doc for this.
> {code}
> message DaemonConfig {
>   optional ContainerInfo container;
>   optional CommandInfo command;
>   optional uint32 poll_interval;
>   optional uint32 initial_delay;
>   optional CheckInfo check; // For health check.
> }
> class DaemonManager
> {
> public:
>   Future<Nothing> register(
>     const ContainerID& containerId,
>     const DaemonConfig& config;
>   Future<Nothing> unregister(const ContainerID& containerId);
>   Future<hashset<ContainerID>> ps();
>   Future<ContainerStatus> status(const ContainerID& containerId);
> };
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)