Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

constraintenforcer: Trigger task restarts when appropriate #1958

Merged

Commits on Feb 15, 2017

  1. constraintenforcer: Trigger task restarts when appropriate

    The constraint enforcer currently sets task desired state to "shutdown"
    directly, which means the orchestrator will consider these tasks already
    processed, and won't trigger restarts. While this is appropriate for
    global services, replicated services should keep the desired number of
    replicas running, so each task shut down by the constraint enforcer
    should be restarted somewhere else.
    
    This changes the constraint enforcer to trigger a task shutdown by
    updating the actual state rather than desired state. This will cause the
    orchestrator to restart the task when necessary. It's not a perfect
    solution, because it bends rules about field ownership, and may cause
    the replacement task to start before the old one stops. However, it's a
    good compromise solution for this problem that doesn't require absorbing
    the constraint enforcer into each orchestrator (which wouldn't fit the
    model well), or adding a third type of state to every task.
    
    Also, update the global orchestrator to only restart a task when the
    node still meets the constraints.
    
    Signed-off-by: Aaron Lehmann <[email protected]>
    aaronlehmann committed Feb 15, 2017
    Configuration menu
    Copy the full SHA
    69fcc19 View commit details
    Browse the repository at this point in the history