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

Bug 1800425: More appropriate annotation name #476

Merged
merged 6 commits into from Feb 17, 2020

Conversation

beekhof
Copy link
Contributor

@beekhof beekhof commented Jan 23, 2020

Since MHC has no control over how the machine is remediated, it would be
better not to imply that it will (only) be via reboot.

@openshift-ci-robot openshift-ci-robot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Jan 23, 2020
@beekhof
Copy link
Contributor Author

beekhof commented Jan 23, 2020

/assign @frobware

@openshift-ci-robot openshift-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jan 23, 2020
@beekhof
Copy link
Contributor Author

beekhof commented Feb 7, 2020

/retest

@beekhof beekhof changed the title More appropriate annotation name Bug 1800425 - More appropriate annotation name Feb 7, 2020
@beekhof beekhof changed the title Bug 1800425 - More appropriate annotation name Bug 1800425: More appropriate annotation name Feb 7, 2020
@openshift-ci-robot openshift-ci-robot added the bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. label Feb 7, 2020
@openshift-ci-robot
Copy link
Contributor

@beekhof: This pull request references Bugzilla bug 1800425, which is invalid:

  • expected the bug to target the "4.4.0" release, but it targets "---" instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

Bug 1800425: More appropriate annotation name

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.

@enxebre
Copy link
Member

enxebre commented Feb 11, 2020

/retest

@beekhof
Copy link
Contributor Author

beekhof commented Feb 11, 2020

/bugzilla refresh

@enxebre I was going to wait until the other PR merged and then rebase this one

@openshift-ci-robot
Copy link
Contributor

@beekhof: This pull request references Bugzilla bug 1800425, which is invalid:

  • expected the bug to target the "4.4.0" release, but it targets "---" instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

/bugzilla refresh

@enxebre I was going to wait until the other PR merged and then rebase this one

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.

@bison
Copy link
Contributor

bison commented Feb 11, 2020

I agree with the intent here, but now the strategy name remains generic (reboot -> external) while the annotation is provider-specific: host.metal3.io/external-remediation

Could we make the strategy name match more closely?

Also, I forget, is this still feature gated in a way that blocks upgrades? If not, even if it's still tech-preview, can we update it like this? If I update an existing cluster that uses the reboot strategy, suddenly that's not recognized and I get the "delete" strategy with no warning.

Since MHC has no control over how the machine is remediated, it would be
better not to imply that it will (only) be via reboot.
@beekhof
Copy link
Contributor Author

beekhof commented Feb 11, 2020

Rebased now that #475 has been merged.

I agree with the intent here, but now the strategy name remains generic (reboot -> external) while the annotation is provider-specific: host.metal3.io/external-remediation

Could we make the strategy name match more closely?

Are we just talking about changing
remediationStrategyExternal = mapiv1.RemediationStrategyType("external”)
to something like
remediationStrategyExternal = mapiv1.RemediationStrategyType(“baremetal-external”)
to indicate that this only works for baremetal?

Otherwise, the challenge of using machine.openshift.io/external-remediation is that metal3 see's openshift.io in the annotation name and thinks "that's openshift specific, we shouldn't be implementing that".

I don't think we can both have machine.openshift.io/external-remediation as a platform agnostic annotation name, and push the implementation onto providers that need to run elsewhere.

Also, I forget, is this still feature gated in a way that blocks upgrades? If not, even if it's still tech-preview, can we update it like this? If I update an existing cluster that uses the reboot strategy, suddenly that's not recognized and I get the "delete" strategy with no warning.

I don't believe it is feature gated in 4.3, but we've also never shipped anything that depended these annotations. That does not exclude the possibility that customers have dug into the MAO internals and implemented something - but are annotations held to the same versioning standards as CRDs? I thought that was part of the attraction of using annotations when the "final" interface is still an open question.

@beekhof
Copy link
Contributor Author

beekhof commented Feb 12, 2020

Resolved goof when merging with #475
Remaining test failures seem to be from etcd-operator

@bison
Copy link
Contributor

bison commented Feb 12, 2020

Are we just talking about changing
remediationStrategyExternal = mapiv1.RemediationStrategyType("external”)
to something like
remediationStrategyExternal = mapiv1.RemediationStrategyType(“baremetal-external”)
to indicate that this only works for baremetal?

Yeah, sorry, that wasn't very clear. More or less what you described, yeah. If different strategies result in provider specific annotations going onto Machine objects, I just think the RemediationStrategyType string should reflect the provider in some way. So baremetal-external or metal3 or whatever would be fine.

I don't believe it is feature gated in 4.3, but we've also never shipped anything that depended these annotations. That does not exclude the possibility that customers have dug into the MAO internals and implemented something - but are annotations held to the same versioning standards as CRDs? I thought that was part of the attraction of using annotations when the "final" interface is still an open question.

Fair enough. I think you're probably right. I mostly wanted to bring up that the current behavior for an unknown strategy is to just silently fallback to "delete the Machine", which I think is a separate issue. I'll file a bug on that.

@beekhof
Copy link
Contributor Author

beekhof commented Feb 14, 2020

@bison happy enough with the change to give lgtm?

beekhof referenced this pull request in n1r1/metal3-docs Feb 14, 2020
Copy link
Contributor

@bison bison left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Feb 14, 2020
@beekhof
Copy link
Contributor Author

beekhof commented Feb 15, 2020

@enxebre what do you think, can we target this for 4.4?

@enxebre
Copy link
Member

enxebre commented Feb 17, 2020

/bugzilla refresh

@openshift-ci-robot openshift-ci-robot added bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. and removed bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. labels Feb 17, 2020
@openshift-ci-robot
Copy link
Contributor

@enxebre: This pull request references Bugzilla bug 1800425, which is valid. The bug has been moved to the POST state.

In response to this:

/bugzilla refresh

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.

@enxebre
Copy link
Member

enxebre commented Feb 17, 2020

/approve

@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: enxebre

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 17, 2020
@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

2 similar comments
@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-merge-robot openshift-merge-robot merged commit 6edb06b into openshift:master Feb 17, 2020
@openshift-ci-robot
Copy link
Contributor

@beekhof: All pull requests linked via external trackers have merged. Bugzilla bug 1800425 has been moved to the MODIFIED state.

In response to this:

Bug 1800425: More appropriate annotation name

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.

@openshift-ci-robot
Copy link
Contributor

@beekhof: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
ci/prow/e2e-aws-scaleup-rhel7 0247b9c link /test e2e-aws-scaleup-rhel7

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.

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.

enxebre added a commit to enxebre/enhancements that referenced this pull request May 5, 2020
We have renamed the annotation to machine.openshift.io/remediation-strategy: external-baremetal to reflect the possibility there might be other external remediation strategies in future. The reboot based external remediation strategy is currently focused on bare metal use cases. See also openshift/machine-api-operator#476
enxebre added a commit to enxebre/enhancements that referenced this pull request May 5, 2020
We have renamed the annotation to machine.openshift.io/remediation-strategy: external-baremetal to reflect the possibility there might be other external remediation strategies in future. The reboot based external remediation strategy is currently focused on bare metal use cases. See also openshift/machine-api-operator#476
This commit also stress that this annotation is to enable experimental development to happen out of tree. If a strong ecosystem of remediation strategies ever emerge an adhoc follow up proposal must be provided with fleshed out details for stronger integration and full lifecycle.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants