Skip to content

Conversation

@eggfoobar
Copy link
Contributor

@eggfoobar eggfoobar commented Nov 1, 2024

Adding HighlyAvailableArbiter FeatureGate for Control Plane Topology.

Per EP: openshift/enhancements#1674

This PR adds an authoritative flag to the control plane enums for HighlyAvailableArbiter which will denote a cluster that has at minimum 2 regular sized control plane nodes and 1 smaller control plane node called the arbiter

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 1, 2024
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 1, 2024

Hello @eggfoobar! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@openshift-ci openshift-ci bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Nov 1, 2024
@eggfoobar eggfoobar force-pushed the feature-arbiter-role branch 2 times, most recently from 57952e7 to c174c2e Compare November 4, 2024 22:39
@eggfoobar eggfoobar force-pushed the feature-arbiter-role branch from c174c2e to 4b367a7 Compare November 15, 2024 05:46
@eggfoobar eggfoobar changed the title WIP: feat: add HighlyAvailableArbiter control plane topology as feature for techpreview WIP: OCPEDGE-1307: feat: add HighlyAvailableArbiter control plane topology as feature for techpreview Nov 18, 2024
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Nov 18, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented Nov 18, 2024

@eggfoobar: This pull request references OCPEDGE-1307 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.

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 openshift-eng/jira-lifecycle-plugin repository.

@eggfoobar eggfoobar force-pushed the feature-arbiter-role branch from 4b367a7 to 658bfe2 Compare November 19, 2024 01:55
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 20, 2024
@eggfoobar eggfoobar force-pushed the feature-arbiter-role branch from 658bfe2 to 35af750 Compare November 22, 2024 03:20
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 22, 2024
@eggfoobar eggfoobar changed the title WIP: OCPEDGE-1307: feat: add HighlyAvailableArbiter control plane topology as feature for techpreview OCPEDGE-1307: feat: add HighlyAvailableArbiter control plane topology as feature for techpreview Dec 9, 2024
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 9, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented Dec 9, 2024

@eggfoobar: This pull request references OCPEDGE-1307 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.19.0" version, but no target version was set.

In response to this:

Adding HighlyAvailableArbiter FeatureGate for Control Plane Topology.

Per EP: openshift/enhancements#1674

This PR adds an authoritative flag to the control plane enums for HighlyAvailableArbiter which will denote a cluster that has at minimum 2 regular sized control plane nodes and 1 smaller control plane node called the arbiter

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.

@eggfoobar eggfoobar force-pushed the feature-arbiter-role branch 4 times, most recently from 3329388 to eba1ad6 Compare December 9, 2024 23:48
// +kubebuilder:validation:Enum=HighlyAvailable;SingleReplica;External
// +openshift:validation:FeatureGateAwareEnum:featureGate="",enum=HighlyAvailable;SingleReplica;External
// +openshift:validation:FeatureGateAwareEnum:featureGate=HighlyAvailableArbiter,enum=HighlyAvailable;HighlyAvailableArbiter;SingleReplica;External
ControlPlaneTopology TopologyMode `json:"controlPlaneTopology"`
Copy link
Contributor

Choose a reason for hiding this comment

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

This field should not be able to modified day 2 right? The test you have in place shows that it can be changed. Your proposal explicitly calls out that this cannot be changed day 2, so why does that test pass?

In general, I think this field should never have been mutable, perhaps we just need to make it immutable

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, this was an older test where we originally had planned to update in the future (i.e moving from arbiter cluster to regular 3Node cluster), but regardless of that, to my knowledge we don't have something that enforces the status of ControlPlaneTopology, so that's why this test passes.

Changing this status is not supported in the current version of OCP, and I don't know if it would be a problem to make it immutable for the time being, since I think that would be a behavior change that some components might be relying on, for example I don't know if during bootstrap this ever gets applied then changed.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm going to bring this up at the control plane arch call today and see what we think. IMO, this should always have been marked as immutable (once its set that is, "" -> ""` should be allowed)

…r techpreview

Signed-off-by: ehila <ehila@redhat.com>
@eggfoobar eggfoobar force-pushed the feature-arbiter-role branch from eba1ad6 to e566bcb Compare December 10, 2024 17:14
@JoelSpeed
Copy link
Contributor

/override ci/prow/verify-crd-schema

Pre-existing failures that cannot be resolved without breaking APIs

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Dec 10, 2024
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 10, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: eggfoobar, JoelSpeed

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 openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 10, 2024
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 10, 2024

@JoelSpeed: Overrode contexts on behalf of JoelSpeed: ci/prow/verify-crd-schema

In response to this:

/override ci/prow/verify-crd-schema

Pre-existing failures that cannot be resolved without breaking APIs

/lgtm

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.

@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD fa836ae and 2 for PR HEAD e566bcb in total

@eggfoobar
Copy link
Contributor Author

/retest-required

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Dec 11, 2024

@eggfoobar: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/okd-scos-e2e-aws-ovn e566bcb link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-azure e566bcb link false /test e2e-azure

Full PR test history. Your PR dashboard.

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

@openshift-merge-bot openshift-merge-bot bot merged commit 54bdb80 into openshift:master Dec 11, 2024
19 of 21 checks passed
@openshift-bot
Copy link

[ART PR BUILD NOTIFIER]

Distgit: ose-cluster-config-api
This PR has been included in build ose-cluster-config-api-container-v4.19.0-202412110336.p0.g54bdb80.assembly.stream.el9.
All builds following this will include this PR.

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. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants