-
Notifications
You must be signed in to change notification settings - Fork 56
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
channels: Add version-agnostic candidate, fast, and stable channels #112
channels: Add version-agnostic candidate, fast, and stable channels #112
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: wking The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this first vetted by product management? Also we should not introduce this in the graph without sufficient consultation with other stake holders and without documentation for this in official OpenShift documentation.
Yes, definitely. I like the idea but we need to discuss. |
Probably want to block this on openshift/enhancements#123 , so the console folks can drop their hard-coded channel list and won't have to worry about channels being added. |
Landed and implemented with openshift/cluster-version-operator#419. |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
I really like this, any chance it has legs and may become a real thing? |
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
@openshift-bot: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/reopen |
@wking: Reopened this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
5ebe404
to
cf82ec1
Compare
I've revived and rerolled this as one possibility for automatically feeding |
8fcd258
to
36ad767
Compare
cbb2a90
to
b23ac67
Compare
Instead of adding 4.y.z to candidate-4.y and candidate-4.(y+1), add them to the version-agnostic, internal candidate channel created by [1]. The graph-data stabilization bot [2] can take it from there. [1]: openshift/cincinnati-graph-data#112 [2]: https://github.com/openshift/cincinnati-graph-data/blob/ce3e909ce7275257d397f58e85b3e57c1b2cc588/hack/stabilization-changes.py
Using the SemVer-ish logic from hack/stabilization-changes.py, so when we add feeders for these in a few releases it is easier to confirm that there are no significant differences. Also limit casting to integers to the first three fields (major.minor.patch), to avoid comparison errors between 'fc' strings and 0 integers from the hotfix releases.
I've seeded it with the versions and tombstones from the 4.6 and later candidate channels. 4.5 and earlier are end-of-life and unlikely to receive new releases, so I've left them out. Then I've adjusted the version-capped candidate channels to feed off the version-agnostic channel. That pulls some 4.(y-1) FCs and other pre-releases into the candidate-4.y channel, but that's not terrible, because folks are free to install a 4.(y-1) FC and get from there to a 4.y FC using candidate channels already. The only difference here is how far along you need to get before you can select the candidate-4.y channel. The version-capped channels still retain some tombstones, because at the moment they're still feeding the version-capped fast channels. Once the version-capped fast channels start pulling from a future version-agnostic fast channel, we'll be able to drop the version-capped tombstone entries. I'm personally in favor of making this channel something that's served from Cincinnati and avaialble for folks to choose as a cluster channel. But until we have consensus around that, put the version-agnostic channel in a separate directory where Cincinnati won't notice it.
Pulling from the version-agnostic candidate channel. This allows us to collect tombstones in a single location, although there are a few releases like 4.7.20 that should have been tombstoned but which had already leaked through into fast-4.8, etc. The major/minor stuff in stabilization-changes.py avoids issues with trying to fetch errata URIs and other metadata from the production Cincinnati update service, before the version-agnostic candidate channel has landed in production.
And pivot the version-capped stable channel to pull from it, although there are a few releases like 4.7.20 that should have been tombstoned but which had already leaked through into stable-4.8, etc.
Now that we have a version-agnostic fast channel, we can automatically populate eus-4.8 with stable 4.6, 4.7, and 4.8 releases.
64e4438
to
95370b5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
🎉 /hold cancel |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: LalatenduMohanty, sdodson, wking 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 |
Instead of adding 4.y.z to candidate-4.y and candidate-4.(y+1), add them to the version-agnostic, internal candidate channel created by [1]. The graph-data stabilization bot [2] can take it from there. [1]: openshift/cincinnati-graph-data#112 [2]: https://github.com/openshift/cincinnati-graph-data/blob/ce3e909ce7275257d397f58e85b3e57c1b2cc588/hack/stabilization-changes.py
Because showing graphs for those can be convenient too. Catches up with stabilization-changes pivots in bda213e (internal-channels/candidate: Add a version-agnostic candidate channel, 2021-11-03, openshift#112).
It was promoted to the feeder candidate by 928cdd0 (Merge pull request #112 from wking/version-agnostic-channels, 2021-12-09) 3 days, 14:25:25.409928 ago. https://access.redhat.com/errata/RHBA-2021:5003 is public.
It was promoted to the feeder candidate by 928cdd0 (Merge pull request #112 from wking/version-agnostic-channels, 2021-12-09) 4 days, 13:28:21.019619 ago. https://access.redhat.com/errata/RHBA-2021:4999 is public.
It was promoted to the feeder candidate by 928cdd0 (Merge pull request #112 from wking/version-agnostic-channels, 2021-12-09) 5 days, 22:03:38.998442 ago. https://access.redhat.com/errata/RHBA-2021:5010 is public.
Instead of adding 4.y.z to candidate-4.y and candidate-4.(y+1), add them to the version-agnostic, internal candidate channel created by [1]. The graph-data stabilization bot [2] can take it from there. [1]: openshift/cincinnati-graph-data#112 [2]: https://github.com/openshift/cincinnati-graph-data/blob/ce3e909ce7275257d397f58e85b3e57c1b2cc588/hack/stabilization-changes.py
Generated with: $ hack/stabilization-changes.py ... * channels/fast-4.10: Promote 4.10.3. It was promoted to the feeder fast by 814ce92 (Merge pull request openshift#1610 from openshift/promote-4.10.3-to-fast, 2022-03-10) 0:34:26.365448 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.0. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 19:50:06.369875 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.10. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 19:50:06.372159 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.11. It was promoted to the feeder fast by 1aa8db1 (Merge pull request openshift#1282 from openshift/promote-4.9.11-to-fast, 2021-12-13) 87 days, 5:14:24.374416 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.12. It was promoted to the feeder fast by 7fea5cf (Merge pull request openshift#1330 from openshift/promote-4.9.12-to-fast, 2022-01-04) 64 days, 22:47:37.376300 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.13. It was promoted to the feeder fast by 6faf43d (Merge pull request openshift#1344 from openshift/promote-4.9.13-to-fast, 2022-01-10) 59 days, 8:26:57.379074 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.15. It was promoted to the feeder fast by 31300c5 (Merge pull request openshift#1373 from openshift/promote-4.9.15-to-fast, 2022-01-17) 52 days, 9:10:26.382170 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.17. It was promoted to the feeder fast by a602523 (Merge pull request openshift#1408 from openshift/promote-4.9.17-to-fast, 2022-01-24) 45 days, 0:45:02.385397 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.18. It was promoted to the feeder fast by b4b882b (Merge pull request openshift#1438 from openshift/promote-4.9.18-to-fast, 2022-01-31) 37 days, 23:19:14.387656 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.19. It was promoted to the feeder fast by d75630d (Merge pull request openshift#1495 from openshift/promote-4.9.19-to-fast, 2022-02-10) 28 days, 0:25:48.390201 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.21. It was promoted to the feeder fast by 771f971 (Merge pull request openshift#1499 from openshift/promote-4.9.21-to-fast, 2022-02-14) 24 days, 6:07:07.392371 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.22. It was promoted to the feeder fast by 0f90439 (Merge pull request openshift#1539 from openshift/promote-4.9.22-to-fast, 2022-02-23) 15 days, 4:42:50.395363 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.23. It was promoted to the feeder fast by 60e414d (Merge pull request openshift#1558 from openshift/promote-4.9.23-to-fast, 2022-02-28) 9 days, 20:26:28.398458 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.4. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 19:50:06.401066 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.5. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 19:50:06.403673 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.6. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 19:50:06.406381 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.7. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 19:50:06.409256 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.8. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 19:50:06.412183 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.9. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 19:50:06.415183 ago. data://no-token-so-no-pull ... to avoid having all those come in as parallel PRs with lots of redundant CI.
$ hack/stabilization-changes.py WARNING: some versions in candidate-4.10 despite tombstones in candidate: 4.10.0, 4.10.1, 4.10.2 WARNING: some versions in candidate-4.6 despite tombstones in candidate: 4.5.0, 4.5.0-0.hotfix-2020-11-28-021842, 4.5.25, 4.5.29, 4.5.32, 4.6.0, 4.6.10, 4.6.2, 4.6.24, 4.6.33, 4.6.37, 4.6.5, 4.6.50, 4.6.7 WARNING: some versions in candidate-4.7 despite tombstones in candidate: 4.6.10, 4.6.24, 4.6.33, 4.6.37, 4.6.50, 4.7.10, 4.7.14, 4.7.15, 4.7.17, 4.7.20, 4.7.25, 4.7.26, 4.7.35 WARNING: some versions in candidate-4.8 despite tombstones in candidate: 4.7.10, 4.7.14, 4.7.15, 4.7.17, 4.7.20, 4.7.25, 4.7.26, 4.7.35, 4.8.0, 4.8.1, 4.8.16, 4.8.30, 4.8.6, 4.8.7 WARNING: some versions in candidate-4.9 despite tombstones in candidate: 4.8.16, 4.8.30, 4.8.7, 4.9.1 INFO: considering promotions from candidate to fast after the errata is published DEBUG: retrieve Cincinnati data from https://api.openshift.com/api/upgrades_info/v1/graph?channel=candidate-4.10&arch=amd64 DEBUG: https://access.redhat.com/errata/RHBA-2022:0811: HTTP Error 404: Not Found DEBUG: https://access.redhat.com/errata/RHSA-2022:0811: HTTP Error 404: Not Found INFO: waiting: 4.10.4 (16:50:19.243145) https://access.redhat.com/errata/RHBA-2022:0811 is not public. DEBUG: retrieve Cincinnati data from https://api.openshift.com/api/upgrades_info/v1/graph?channel=candidate-4.8&arch=amd64 DEBUG: https://access.redhat.com/errata/RHBA-2022:0795: HTTP Error 404: Not Found DEBUG: https://access.redhat.com/errata/RHSA-2022:0795: HTTP Error 404: Not Found INFO: waiting: 4.8.34 (1 day, 2:56:15.827705) https://access.redhat.com/errata/RHBA-2022:0795 is not public. INFO: considering promotions from fast to fast-4.10 after PT0H WARNING: some versions in fast-4.4 despite tombstones in candidate-4.4: 4.3.10, 4.3.5, 4.3.8, 4.3.9 INFO: considering promotions from fast to stable after P1W INFO: waiting: 4.10.3 (0:53:25.274786) * Recommend waiting to promote 4.10.4 to fast; it was promoted the feeder candidate by 5b3e30f (Merge pull request openshift#1607 from openshift/pr-candidate-4.10.4, 2022-03-09, 16:50:19.243145) https://access.redhat.com/errata/RHBA-2022:0811 is not public. * Recommend waiting to promote 4.8.34 to fast; it was promoted the feeder candidate by b3acafe (Merge pull request openshift#1604 from openshift/pr-candidate-4.8.34, 2022-03-09, 1 day, 2:56:15.827705) https://access.redhat.com/errata/RHBA-2022:0795 is not public. * channels/fast-4.10: Promote 4.10.3. It was promoted to the feeder fast by 814ce92 (Merge pull request openshift#1610 from openshift/promote-4.10.3-to-fast, 2022-03-10) 0:53:25.219138 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.0. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 20:09:05.220646 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.10. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 20:09:05.229985 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.11. It was promoted to the feeder fast by 1aa8db1 (Merge pull request openshift#1282 from openshift/promote-4.9.11-to-fast, 2021-12-13) 87 days, 5:33:23.231668 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.12. It was promoted to the feeder fast by 7fea5cf (Merge pull request openshift#1330 from openshift/promote-4.9.12-to-fast, 2022-01-04) 64 days, 23:06:36.233050 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.13. It was promoted to the feeder fast by 6faf43d (Merge pull request openshift#1344 from openshift/promote-4.9.13-to-fast, 2022-01-10) 59 days, 8:45:56.234450 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.15. It was promoted to the feeder fast by 31300c5 (Merge pull request openshift#1373 from openshift/promote-4.9.15-to-fast, 2022-01-17) 52 days, 9:29:25.235902 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.17. It was promoted to the feeder fast by a602523 (Merge pull request openshift#1408 from openshift/promote-4.9.17-to-fast, 2022-01-24) 45 days, 1:04:01.237438 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.18. It was promoted to the feeder fast by b4b882b (Merge pull request openshift#1438 from openshift/promote-4.9.18-to-fast, 2022-01-31) 37 days, 23:38:13.238987 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.19. It was promoted to the feeder fast by d75630d (Merge pull request openshift#1495 from openshift/promote-4.9.19-to-fast, 2022-02-10) 28 days, 0:44:47.240593 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.21. It was promoted to the feeder fast by 771f971 (Merge pull request openshift#1499 from openshift/promote-4.9.21-to-fast, 2022-02-14) 24 days, 6:26:06.242293 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.22. It was promoted to the feeder fast by 0f90439 (Merge pull request openshift#1539 from openshift/promote-4.9.22-to-fast, 2022-02-23) 15 days, 5:01:49.244033 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.23. It was promoted to the feeder fast by 60e414d (Merge pull request openshift#1558 from openshift/promote-4.9.23-to-fast, 2022-02-28) 9 days, 20:45:27.245835 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.4. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 20:09:05.248074 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.5. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 20:09:05.250046 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.6. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 20:09:05.252037 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.7. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 20:09:05.254128 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.8. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 20:09:05.256241 ago. data://no-token-so-no-pull * channels/fast-4.10: Promote 4.9.9. It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 90 days, 20:09:05.258610 ago. data://no-token-so-no-pull * Recommend waiting to promote 4.10.3 to stable; it was promoted the feeder fast by 814ce92 (Merge pull request openshift#1610 from openshift/promote-4.10.3-to-fast, 2022-03-10, 0:53:25.274786) Signed-off-by: Lalatendu Mohanty <lmohanty@redhat.com>
It was promoted to the feeder fast by 928cdd0 (Merge pull request openshift#112 from wking/version-agnostic-channels, 2021-12-09) 124 days, 1:02:54.146611 ago.
For folks who want to flow from one[edit: for now, these are internal channels; we may revisit making them public later on]4.y
to the next4.(y+1)
and onward without having to manually bump their channel choice.I'm seeding these with the current content of the 4.3 channels. I haven't gone back to consider the[edit: basic approach from this paragraph still applies, but see the individual commit messages for current details]*-4.1
and*-4.2
channels, because the version-agnostic channels will not just be a blind union. For example, 4.1.20 is in stable-4.1, but not in stable-4.2.blocked-edges/4.2.0.yaml
blocks 4.1.20 -> 4.2.0, but without a more careful audit than I've done, I'm not sure if all unsafe edges are represented in blocked-edges (vs. just relying on the membership in the channel files to avoid the unsafe edges).