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

Add HTTP API to the master for maintenance operations.

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.25.0
    • master
    • Mesosphere Sprint 16, Mesosphere Sprint 17
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: