OTA-861: Set Upgradeable=False when there is an upgrade in progress - #1080
Conversation
|
This PR is replacing #1079 |
0c7bbfe to
1d83493
Compare
|
/test unit |
|
/cc |
1d83493 to
741db89
Compare
|
Exercise a 4.17 -> this-pull update, so we can see /payload-job periodic-ci-openshift-release-master-ci-4.18-upgrade-from-stable-4.17-e2e-gcp-ovn-upgrade |
|
@wking: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/7d5ec080-663b-11ef-899f-2883517bb747-0 |
|
/uncc David and Trevor are involved in this one, seems enough ;) |
|
/title OTA-861: inhibit the 2nd minor version upgrade |
|
/retitle OTA-861: inhibit the 2nd minor version upgrade |
|
@hongkailiu: This pull request references OTA-861 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.18.0" version, but no target version was set. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
/test all |
This commits entends the guard on the 2nd Y-stream upgrade, i.e., blocking an Y-stream upgrade if there is already an Y-stream upgrade in progress, to the guard on any Y-stream upgrade if there is already an upgrade in progress, reguardless of Y-stream or Z-stream. For example, it covers the case 4.14.15-> 4.14.35 -> 4.15.29 where the upgrade 4.14.35 -> 4.15.29 is blocked until the upgrade 4.14.15-> 4.14.35 completes. Note that we still allow for upgrade to 4.y+1.z'' in the middle of upgrade 4.y.z -> 4.y+1.z', even though direct upgrade 4.y.z -> 4.y+1.z'' might not be supported. This is because the ugprade 4.y.z -> 4.y+1.z' might not be completed up to a bug in 4.y+1.z' that has a fix in 4.(y+1).z''. We need the retarget to it to land 4.y+1 on the cluster.
3412026 to
5ea5ebe
Compare
|
@hongkailiu: This pull request references OTA-861 which is a valid jira issue. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
@hongkailiu: This pull request references OTA-861 which is a valid jira issue. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
This commit generates a message in the accepted risks for the unblocking case 4.y.z -> 4.y+1.z' -> 4.y+1.z''.
|
openshift/release#57408 should fix the hypershift jobs |
|
@hongkailiu: This pull request references OTA-861 which is a valid jira issue. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
/test unit |
|
@hongkailiu: This pull request references OTA-861 which is a valid jira issue. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
/test e2e-hypershift |
|
/test unit |
9e6149b to
0366e77
Compare
c1f693a to
7ad9622
Compare
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: hongkailiu, petr-muller, wking The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest |
|
pre-merge verified successfully in all four varients |
|
@hongkailiu: This pull request references OTA-861 which is a valid jira issue. DetailsIn 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 openshift-eng/jira-lifecycle-plugin repository. |
|
/override ci/prow/e2e-agnostic-ovn |
|
@wking: Overrode contexts on behalf of wking: ci/prow/e2e-agnostic-ovn DetailsIn 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-sigs/prow repository. |
|
@hongkailiu: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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-sigs/prow repository. I understand the commands that are listed here. |
|
[ART PR BUILD NOTIFIER] Distgit: cluster-version-operator |
This PR add a Upgradeable which fails on Processing=True in
clusterversion.status.conditions.In other words,
Upgradeable=Falseif an upgrade is in progress, including both minor level and patch level.In addition, this PR syncs the upgradeable at the shutdown time to ensure the unsaved (due to by the throttle) upgradeable to be saved. This part could be a separate PR too.
For example, it blocks the upgrade to 4.16.1 until the ongoing upgrade
4.14.35 -> 4.15.29 completes.
It also covers the case 4.14.15-> 4.14.35 -> 4.15.29
where the upgrade 4.14.35 -> 4.15.29 is blocked until the upgrade
4.14.15-> 4.14.35 completes.
Note that we still allow for upgrade to 4.y+1.z''
in the middle of upgrade 4.y.z -> 4.y+1.z', even though direct upgrade
4.y.z -> 4.y+1.z'' might not be supported.
This is because the ugprade 4.y.z -> 4.y+1.z' might not be completed
up to a bug in 4.y+1.z' that has a fix in 4.(y+1).z''.
We need the retarget to it to land 4.y+1 on the cluster.
For OTA-861, the guard on retargeting to a minor level upgrade will be added with a follow up PR.
Update:
With the throttle of "upgradeable" disabled on the shutdown, the racing window between "CVO starts rolling the new version out" and "CVO gets shutdown" is very short (less than one second in the test).
We do not need to add the second guard back that was dropped in the 362e9ca.
The acceptedRisks for Y-then-Z upgrade in the dropped commit will be done with another PR.