Details

    • Type: Epic
    • Status: Resolved
    • Priority: Medium
    • Resolution: Won't Do
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Epic Name:
      Improved Marathon Deployments
    • Epic Status:
      Done
    • Total Story Points:
      0
    • Remaining Story Points:
      0
    • Progress (%):
      0
    • Progress Bar:
      0%
    • Progress Meter:

      Description

      Scope: https://docs.google.com/document/d/1NTAwWP09uRmLjmcXyFAlyklrMnJXYVcFqW4ayRhQcmQ/edit#

      Create new mechanism for deployments with dramatically improved information.

      User Story: As Alice, I would like to see the following information when I change an application/pod/group: Who requested the change, when the change requested, the application(s) and pod(s) that changed, and status about all mesos tasks that are being launched or killed including progress information about those steps.

       

      Requirement: Marathon shall provide an API object that has all the above fields such that a deployment can be tracked and the UI/CLI are able to build mechanisms to display this to the user. If the deployment failed for some reason, the reason should be included.

       

      Acceptance: When a user changes an application/pod/group, an activity link is returned and all status information listed in the story is included. The deployments must be able to be changed in a new Enterprise Edition of Marathon.

       

      Provide History for Deployments

      User Story: As Alice, I would like to see a history of deployments after they’ve completed.

       

      Requirement: Marathon shall provide a limited number of completed deployments with all the status information included as well as the time the deployment completed or failed.

       

      Acceptance: When a user changes application(s)/pod(s)/group(s), the activity link shows the activity as completed. There is no hard requirement on the maximum number of deployments that can be kept or the amount of time that they must be kept for at this time.

      Provide ability to rollback a deployment

      User Story: As Alice, I would like to interrupt a deployment I created and roll it back to the previous state.

       

      Requirement: Marathon has to be able to rollback deployments that are in progress if they were initiated by a user.

       

      Acceptance: An inprogress deployment can be interrupted and the previous state of the application will be restored.

       

      Provide deployments for Cluster Initiated Actions

      User Story: As Alice, I would like to see when and why marathon launched new tasks when it wasn’t initiated by a user.

       

      Requirement: Any time marathon starts a task, replaces a task, or kills a task, it shall have a deployment associated with it.

       

      Acceptance:

      • Deployment when a Mesos Health Check Fails
      • Deployment when a Marathon Health Check Fails
      • Deployment when killing a task due to a mesos event (not a user initiated one).

       

      Note: does not need to support rollback, cancel, etc.

      Below here can be descoped/rescoped specifically for Service Upgrade, Enterprise Enablement is covered separately.

      Allow a deployment to be paused and resumed.

      User Story: As Alice, a partner, or Marathon, I would like to pause a deployment plan while it is being applied and resume it later.

       

      Requirement: A deployment plan shall be able to be paused and resumed. Once the deployment transitions from Pausing to Paused, no further actions are performed until there is a resume.

       

      Acceptance: A deployment plan shall be able to be paused and resumed. Once the deployment transitions from Pausing to Paused, no further actions are performed until there is a resume.

       

      Allow for decision points in a Deployment

      User Story: As a partner or Marathon, I would like to be able to ask the user to decide between 2 or more options in order to make a runtime decision on the user’s operation.

       

      Requirement: The user is able to pick between the options before the plan proceeds.

       

      Acceptance: A deployment plan with a decision point will stop until the user selects the option and then proceeds with the new information.

       

      Allow for Cancellation of a Deployment

      User Story: As Alice, a partner, or Marathon, I would like to be able to cancel an ongoing deployment and have it not change any further state.

       

      Requirement: A deployment can be cancelled and once the deployment transitions from Cancelling to Cancelled, no further actions are performed and the state is left as is for a configurable duration after which time, marathon is allowed to clean up the stale state.

       

      Acceptance: A deployment can be cancelled and once the deployment transitions from Cancelling to Cancelled, no further actions are performed and the state is left as is for a configurable duration after which time, marathon is allowed to clean up the stale state.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                matthias.eichstedt Matthias Eichstedt
                Reporter:
                jgilanfarr Jason Gilanfarr (Inactive)
                Team:
                ( DO NOT USE ) Orchestration Team
                Watchers:
                Chmielewski, ikottman, Jason Gilanfarr (Inactive), viawest-davidsix
              • Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: