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

Resource provider manager assumes all operations are triggered by frameworks

    XMLWordPrintableJSON

    Details

      Description

      When the agent tries to apply an operation to resource provider resources, it invokes ResourceProviderManager::applyOperation which in turn invokes ResourceProviderManagerProcess::applyOperation. That function currently assumes that the received message contains a valid FrameworkID,

       void ResourceProviderManagerProcess::applyOperation(
            const ApplyOperationMessage& message)                                                                                                                                                                                                     {
          const Offer::Operation& operation = message.operation_info();                                                                                                                                                                                 
          const FrameworkID& frameworkId = message.framework_id(); // `framework_id` is `optional`.
      

      Since FrameworkID is not a trivial proto types, but instead one with a required field value, the message composed with the frameworkId below cannot be serialized which leads to a failure below which in turn triggers a CHECK failure in the agent's function interfacing with the manager.

      A typical scenario where we would want to support operator API calls here is to destroy leftover persistent volumes or reservations.

        Attachments

          Activity

            People

            • Assignee:
              nfnt Jan Schlicht
              Reporter:
              bbannier Benjamin Bannier
              Shepherd:
              Benjamin Bannier
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: