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

Jie Yu updated MESOS-7492:
--------------------------
    Description: 
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}
class DaemonManager
{
public:
  Future<Nothing> register(
    const ContainerID& containerId,
    const ContainerInfo& containerInfo,
    const CommandInfo& command);

  Future<Nothing> unregister(const ContainerID& containerId);

  Future<hashset<ContainerID>> ps();

  Future<ContainerStatus> status(const ContainerID& containerId);
};
{code}

  was:
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. 


> 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
>
> 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}
> class DaemonManager
> {
> public:
>   Future<Nothing> register(
>     const ContainerID& containerId,
>     const ContainerInfo& containerInfo,
>     const CommandInfo& command);
>   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.3.15#6346)

Reply via email to