-
Notifications
You must be signed in to change notification settings - Fork 187
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
status: Generation should be set by what the sync worker is doing #102
status: Generation should be set by what the sync worker is doing #102
Conversation
8ea7884 is a good catch. /approve do you want to wait for https://github.com/openshift/api/pull/185/files and bring that in as vendor update ? |
Yes (that's where I caught this) |
The primary mechanism where by a reconciling controller communicates to a client is its status, and the client has to wait until the controller observes its write before assuming the controller is ready. When writing a client that is triggering an upgrade, we need to: 1. Set desiredUpdate and read resulting generation 2. Wait until status.generation == generation from 1 3. Wait until the update that is marked partial in status history is complete This fixes the sync worker to be the one who propagates generation, so that a client doesn't see 2 above when syncing a previous generation.
b0e1b15
to
a703c2e
Compare
Rebased and updated with new api |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: abhinavdahiya, smarterclayton The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
The primary mechanism where by a reconciling controller communicates to a client is its status, and the client has to wait until the controller observes its write before assuming the controller is ready.
When writing a client that is triggering an upgrade, we need to:
This fixes the sync worker to be the one who propagates generation, so that a client doesn't see 2 as true when syncing a previous generation.