Skip to content

Conversation

@eggfoobar
Copy link
Contributor

@eggfoobar eggfoobar commented Oct 31, 2024

- What I did

Added initial support for the arbiter node role. The arbiter role currently mimics the master node in configuration, so we are copying the same assets for master and using it for arbiter.

This feature is currently for TechPreview but before we hit GA we will re-work this approach to remove duplication.

See: openshift/enhancements#1674

- How to verify it

This feature will only work on baremetal HighlyAvailableArbiter control plane topology clusters. When running on those deployments, an MCP for arbiter and MCs for arbiter deployments should be present. Otherwise no trace of Arbiter should be present in the generated configs.

- Description for the changelog

@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 Oct 31, 2024
@eggfoobar eggfoobar changed the title WIP: feat: added assets for arbiter node role WIP: OCPEDGE-1313: feat: added assets for arbiter node role 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
Contributor

openshift-ci-robot commented Nov 18, 2024

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

- What I did

- How to verify it

- Description for the changelog

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 add-arbiter-node-role-assets branch 3 times, most recently from 6782978 to 3561e94 Compare November 22, 2024 21:25
@eggfoobar eggfoobar force-pushed the add-arbiter-node-role-assets branch 3 times, most recently from d5b210f to 3944cbf Compare January 7, 2025 16:09
@eggfoobar eggfoobar changed the title WIP: OCPEDGE-1313: feat: added assets for arbiter node role OCPEDGE-1313: feat: added assets for arbiter node role Jan 7, 2025
@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 Jan 7, 2025
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jan 7, 2025

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

- What I did

Added initial support for the arbiter node role. The arbiter role currently mimics the master node in configuration, so we are copying the same assets for master and using it for arbiter. This feature is currently designed for TechPreview but before we hit GA we will re-work this approach to remove duplication.

See: openshift/enhancements#1674

- How to verify it

This feature will only work on baremetal HighlyAvailableArbiter control plane topology clusters. When running on those deployments, an MCP for arbiter and MCs for arbiter deployments should be present. Otherwise no trace of Arbiter should be present in the generated configs.

- Description for the changelog

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 add-arbiter-node-role-assets branch 2 times, most recently from 651169f to ba94c65 Compare January 8, 2025 15:49
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jan 8, 2025

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

- What I did

Added initial support for the arbiter node role. The arbiter role currently mimics the master node in configuration, so we are copying the same assets for master and using it for arbiter.

This feature is currently for TechPreview but before we hit GA we will re-work this approach to remove duplication.

See: openshift/enhancements#1674

- How to verify it

This feature will only work on baremetal HighlyAvailableArbiter control plane topology clusters. When running on those deployments, an MCP for arbiter and MCs for arbiter deployments should be present. Otherwise no trace of Arbiter should be present in the generated configs.

- Description for the changelog

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
Copy link
Contributor Author

/retest-required

Copy link
Contributor

@yuqi-zhang yuqi-zhang left a comment

Choose a reason for hiding this comment

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

Generally looks good to me, the main concern of don't-have-arbiter-artifacts-by-default is addressed. A few (non-blocking) questions/concerns:

  1. will this feature not undergo tech preview? Will you need to add MCO presubmits for arbiter-related CI?
  2. we don't really have anything monitoring templates, as such if we were to say, add additional master file/unit templates in the future, is the expectation that they should also be added to arbiter? Should we have some mechanism to check for that?

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 19, 2025
@eggfoobar
Copy link
Contributor Author

Generally looks good to me, the main concern of don't-have-arbiter-artifacts-by-default is addressed. A few (non-blocking) questions/concerns:

  1. will this feature not undergo tech preview? Will you need to add MCO presubmits for arbiter-related CI?
  2. we don't really have anything monitoring templates, as such if we were to say, add additional master file/unit templates in the future, is the expectation that they should also be added to arbiter? Should we have some mechanism to check for that?
  1. This feature will be in TechPreview for 4.19, the infra resource will never be set to the HighlyAvailableArbiter unless the install is in TechPreview. This should be enforced by the API since the GA infra CRD does not support HighlyAvailableArbiter value unless TechPreview featureSet is enabled. We will be having arbiter CI, more than likely if we create presubmits they will be optional until GA, but we'll also have origin tests that validate behavior.
  2. That's a great call out, and something that will be resolved prior to going to GA. I don't have a great answer for now since we don't have solid knowledge on the types of machines customers will use, so I'm reluctant to pre-optimize just yet. Some things to keep in mind as well, this feature is currently only for baremetal installs. You're right that we'll have a need to check for diffs between the two for awareness, whether we should copy all configs added to master for the arbiter folder, that will depend on the config and what we catch in our CI to help inform us for now.

@eggfoobar eggfoobar force-pushed the add-arbiter-node-role-assets branch from ba94c65 to de60b2c Compare January 20, 2025 19:27
added arbiter node role assets that mirror master, this will be changed before GA
added logic to handle arbiter node assets only when arbiter node is explicitly defined

Signed-off-by: ehila <ehila@redhat.com>
@eggfoobar eggfoobar force-pushed the add-arbiter-node-role-assets branch from de60b2c to 2d4bca0 Compare January 20, 2025 19:27
@yuqi-zhang
Copy link
Contributor

/lgtm

I'm not too familiar with the tech preview process, but since all the code here is gated behind HighlyAvailableArbiter and that's gated behind a FG, I think it should be fine not to explicitly gate the MCO code here too.

This shouldn't break existing CI either so I'm fine with getting this in so we can start adding tests

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 20, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 20, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: eggfoobar, yuqi-zhang

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
Copy link
Contributor

openshift-ci bot commented Jan 20, 2025

@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 2d4bca0 link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-aws-ovn-upgrade-out-of-change 2d4bca0 link false /test e2e-aws-ovn-upgrade-out-of-change
ci/prow/e2e-vsphere-ovn-upi 2d4bca0 link false /test e2e-vsphere-ovn-upi
ci/prow/e2e-azure-ovn-upgrade-out-of-change 2d4bca0 link false /test e2e-azure-ovn-upgrade-out-of-change
ci/prow/e2e-gcp-op-ocl 2d4bca0 link false /test e2e-gcp-op-ocl

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.

@eggfoobar
Copy link
Contributor Author

/label acknowledge-critical-fixes-only

@openshift-ci openshift-ci bot added the acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. label Jan 21, 2025
@openshift-merge-bot openshift-merge-bot bot merged commit 0082265 into openshift:master Jan 21, 2025
16 of 21 checks passed
@openshift-bot
Copy link
Contributor

[ART PR BUILD NOTIFIER]

Distgit: ose-machine-config-operator
This PR has been included in build ose-machine-config-operator-container-v4.19.0-202501210838.p0.g0082265.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

acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants