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

Devolve v1 operator protos before using them in Master/Agent.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 1.0.0
    • None

    Description

      We had adopted the following workflow for the Scheduler/Executor endpoints on the Master/Agent.

      • The user makes a call to the versioned endpoint with a versioned protobuf. e.g., v1::mesos::Call
      • We devolve the versioned protobuf into an unversioned protobuf before using it internally.
        scheduler::Call call = devolve(v1Call);
        

      The above approach has the advantage that the internal Mesos code only has to deal with unversioned protobufs. It looks like we have not been following this idiom for the Operator API. We should create a unversioned protobuf file similar to we did for the Scheduler/Executor API and then devolve the versioned protobufs. (e.g., mesos/master/master.proto)

      The signature of some of the operator endpoints would then change to only be dealing with unversioned protobufs:

      Future<Response> Master::Http::getHealth(
          const master::Call& call,
          const Option<string>& principal,
          const ContentType& contentType) const
      

      Attachments

        Activity

          People

            haosdent@gmail.com haosdent
            anandmazumdar Anand Mazumdar
            Vinod Kone Vinod Kone
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: