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

Trigger rollouts based on diff between DC template and RC template #16695

Open
mfojtik opened this issue Oct 5, 2017 · 4 comments
Open

Trigger rollouts based on diff between DC template and RC template #16695

mfojtik opened this issue Oct 5, 2017 · 4 comments
Labels
component/apps lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/P2 sig/master

Comments

@mfojtik
Copy link
Contributor

mfojtik commented Oct 5, 2017

Today, we trigger new config-change rollouts based on a difference between latest DC and the DC encoded in latest RC annotation. This allows for user modification of RC which are managed by deployment config controller. We should not allow modifications to those RC and follow the upstream behavior where a modification to RS causes deployment controller to reconcile and revert that change, since the deployment is the source of truth for the RS.

Since this is a big change, there are couple problems:

The DC template spec has optional 'ObjecMeta' field that we copy annotations and labels into every RC created by this DC. However, we don't copy other fields (like name or namespace or ownerRefs. This means creating a DC with these fields will cause endless chain of rollouts as those are not part of the latest RC and the diff between DC and latest RC results into a config change triggered rollout.
Fixing this is not trivial without risking a massive rollout for existing DC in large clusters. The "right" solution would be mfojtik@5d0e6ad3da which preserves the original template ObjectMeta and just add our labels/annotations.

I'm not sure about rollbacks and if they use the encoded DC as well.

Revealed here: #14910

@mfojtik
Copy link
Contributor Author

mfojtik commented Oct 5, 2017

@smarterclayton @Kargakis FYI

@mfojtik mfojtik changed the title Copy source template ObjectMeta when DC creating replication controller Trigger rollouts based on diff between DC template and RC template Oct 5, 2017
@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci-robot openshift-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 21, 2018
@openshift-bot
Copy link
Contributor

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten
/remove-lifecycle stale

@openshift-ci-robot openshift-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Mar 23, 2018
@tnozicka
Copy link
Contributor

tnozicka commented Apr 5, 2018

/lifecycle frozen
/remove-lifecycle rotten

@openshift-ci-robot openshift-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Apr 5, 2018
@tnozicka tnozicka removed this from the v3.8 milestone Apr 5, 2018
@tnozicka tnozicka removed their assignment Mar 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/apps lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/P2 sig/master
Projects
None yet
Development

No branches or pull requests

4 participants