Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-7492

Introduce a daemon manager in the agent.

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • None
    • Mesosphere Sprint 60, Mesosphere Sprint 61, Mesosphere Sprint 62, Mesosphere Sprint 63, Mesosphere Sprint 64, Mesosphere Sprint 66
    • 5

    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.

      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);
      };
      

      Attachments

        Issue Links

          Activity

            People

              kaysoky Joseph Wu
              jieyu Jie Yu
              Jie Yu Jie Yu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: