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

cloud.Service updates should wait for services to be stable before completing #312

Closed
lukehoban opened this issue Dec 16, 2017 · 3 comments
Assignees
Labels
kind/enhancement Improvements or new features
Milestone

Comments

@lukehoban
Copy link
Member

Our current semantics for updating a cloud.Service are that the update completes once the cluster has started the process of transitioning from the old to the new copy of the service.

This is different than Functions, for which we wait until the new code is deployed and is guaranteed to be hit on future calls.

This has lead to us needing to sprinkle aws ecs wait services-stable calls after every pulumi update in places where we care about being sure that we are hitting the new copy of the service. That doesn't seem like an acceptable answer for customers.

I believe our semantics for an update should always be that the requested new state is fully live, and the old state is fully removed, at the point that we indicate an update (or step of an update) has completed.

This is true in everything else we project as far as I'm aware, but for some reason the TF provider for ECS services decided to not align with this principle. Notably, CloudFormation does wait on service ready (and in fact rolls back the whole update if the service can't reach a stable state passing health checks in the new state).

Since the TF provider doesn't provide the behaviour we want here - we have two options:

  1. Patch and upstream the TF provider with the ability to request that updates wait for stable
  2. Add our own dynamic provider to orchestrate this as a separate step in our graph.

Making this change will lead to Service updates taking longer - probably in the neighborhood of 5 minutes. But this represents the reality that the update really does take that long.

@lukehoban lukehoban added this to the 0.10 milestone Jan 9, 2018
@lukehoban lukehoban self-assigned this Jan 9, 2018
@lindydonna lindydonna added the kind/bug Some behavior is incorrect or out of spec label Jan 9, 2018
@ericrudder ericrudder modified the milestones: 0.10, 0.11 Jan 23, 2018
@lukehoban lukehoban added kind/enhancement Improvements or new features and removed kind/bug Some behavior is incorrect or out of spec labels Feb 8, 2018
@lukehoban lukehoban modified the milestones: 0.11, 0.12 Feb 8, 2018
@mmdriley mmdriley assigned mmdriley and unassigned lukehoban Feb 21, 2018
@mmdriley mmdriley modified the milestones: 0.12, 0.11 Feb 21, 2018
@mmdriley
Copy link
Contributor

Closest issue upstream: hashicorp/terraform-provider-aws#3107

@mmdriley
Copy link
Contributor

hashicorp/terraform-provider-aws#3485

@joeduffy
Copy link
Member

Rock star! Awesome to see you doing this upstream, @mmdriley.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Improvements or new features
Projects
None yet
Development

No branches or pull requests

5 participants