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

Add HTTP API to the master for maintenance operations.

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.25.0
    • Component/s: master
    • Labels:
    • Target Version/s:
    • Epic Link:
    • Sprint:
      Mesosphere Sprint 16, Mesosphere Sprint 17
    • Story Points:
      8

      Description

      Based on MESOS-1474, we'd like to provide an HTTP API on the master for the maintenance primitives in mesos.

      For the MVP, we'll want something like this for manipulating the schedule:

      /maintenance/schedule
        GET - returns the schedule, which will include the various maintenance windows.
        POST - create or update the schedule with a JSON blob (see below).
      
      /maintenance/status
        GET - returns a list of machines and their maintenance mode.
      
      /maintenance/start
        POST - Transition a set of machines from Draining into Deactivated mode.
      
      /maintenance/stop
        POST - Transition a set of machines from Deactivated into Normal mode.
      
      /maintenance/consensus <- (Not sure what the right name is.  matrix?  acceptance?)
        GET - Returns the latest info on which frameworks have accepted or declined the maintenance schedule.
      

      (Note: The slashes in URLs might not be supported yet.)

      A schedule might look like:

      {
        "windows" : [
          {
            "machines" : [
                { "ip" : "192.168.0.1" },
                { "hostname" : "localhost" },
                ...
              ], 
            "unavailability" : {
              "start" : 12345, // Epoch seconds.
              "duration" : 1000 // Seconds.
            }
          },
          ...
        ]
      }
      

      There should be firewall settings such that only those with access to master can use these endpoints.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kaysoky Joseph Wu
                Reporter:
                bmahler Benjamin Mahler
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: