Skip to content

Conversation

@deads2k
Copy link
Contributor

@deads2k deads2k commented Dec 18, 2019

Just an experiment to see how much violence is required to support an UpgradeableMinor condition. This is a very ugly example of how to do it, but it looks pretty safe to do.

@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: deads2k
To complete the pull request process, please assign smarterclayton
You can assign the PR to them by writing /assign @smarterclayton in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Dec 18, 2019
@deads2k
Copy link
Contributor Author

deads2k commented Dec 18, 2019

/hold

this is just a poc

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 18, 2019
@deads2k deads2k force-pushed the super-dirty-upgradeableminor branch from 60e5a15 to 2038a58 Compare December 18, 2019 19:54
type Precondition interface {
// Run executes the precondition checks ands returns an error when the precondition fails.
Run(context.Context) error
Run(ctx context.Context, desiredVersion string) error
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're doing this can we just unify the loops for preconditions?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(I don't care that much, but there's a lot of duplicate machinery)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could if that was desired. Most of this is copy/pasta. This was mostly about proving that the effort is fairly easy/straightforward, so we can argue about whether there is a need that can be easily met and not get distracted by the amount of work.

@openshift-ci-robot
Copy link
Contributor

@deads2k: The following tests failed, say /retest to rerun them all:

Test name Commit Details Rerun command
ci/prow/integration 2038a58 link /test integration
ci/prow/e2e-aws 2038a58 link /test e2e-aws

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Details

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. I understand the commands that are listed here.

@deads2k
Copy link
Contributor Author

deads2k commented Dec 19, 2019

Alright, alternate pitch, what if Upgradeable actually meant "cannot upgrade y, but can upgrade z"? We set it for...

  1. UnsupportedConfigOverrides - those people are already unsupported.
  2. TechPreview - can we tolerate having "weird" upgrade behavior sometimes for Z releases that ideally don't fully break things?

I don't know of another case where we set it offhand

@shawn-hurley
Copy link

That would be helpful for removing items that are deprecated but still in use IIUC. I assume though that this would not help if I was removing something in 4.4 because the 4.3 CVO won’t have this bit?

@smarterclayton
Copy link
Contributor

The original argument was to only do minor upgrade blocking (since that’s what actually matters to most end users) - the “no z upgrade for tech preview” was a hardline stronger than our requirements. I’d be willing to consider redefining upgradeable to mean “minor” given that and the history of why we did this in the first place. Needs a bit of F2F discussion though about possible downsides.

@deads2k
Copy link
Contributor Author

deads2k commented Jan 9, 2020

closed in favor of #291

@deads2k deads2k closed this Jan 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants