Skip to content

Conversation

sadasu
Copy link
Contributor

@sadasu sadasu commented Sep 23, 2025

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 23, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Sep 23, 2025

@sadasu: This pull request references CORS-4157 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.21.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.

Copy link
Contributor

openshift-ci bot commented Sep 23, 2025

Hello @sadasu! 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 Sep 23, 2025
Copy link
Contributor

openshift-ci bot commented Sep 23, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign joelspeed for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@sadasu sadasu force-pushed the aws-azure-gcp-dual-stack branch 5 times, most recently from bffb15b to 29d9d89 Compare September 24, 2025 04:29

// IPFamilyType represents the IP protocol family that cloud platform resources should use.
// +kubebuilder:validation:Enum=IPv4;DualIPv6Primary;DualIPv4Primary
// +kubebuilder:validation:XValidation:rule="self in ['IPv4', 'DualIPv6Primary', 'DualIPv4Primary']",message="ipFamily must be one of: IPv4, DualIPv6Primary, DualIPv4Primary"
Copy link
Contributor

Choose a reason for hiding this comment

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

The enum should cover this, so I don't think we need this CEL too

// IPv4 indicates that cloud platform resources should use IPv4 addressing only.
IPv4 IPFamilyType = "IPv4"

// DualIPv6Primary indicates that cloud platform resources should use dual-stack networking with IPv6 as primary.
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we want to call this DualStackIPv6Primary? I figure we often call it DualStack in other places so omitting Stack here might be confusing?

//
// +default="IPv4"
// +kubebuilder:default="IPv4"
// +kubebuilder:validation:XValidation:rule="oldSelf == '' || self == oldSelf",message="ipFamily is immutable once set"
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you try this instead? I think this will be more robust

Suggested change
// +kubebuilder:validation:XValidation:rule="oldSelf == '' || self == oldSelf",message="ipFamily is immutable once set"
// +kubebuilder:validation:XValidation:rule="!oldSelf.hasValue() || self == oldSelf",message="ipFamily is immutable once set",optionalOldSelf=true


// AWSPlatformSpec holds the desired state of the Amazon Web Services infrastructure provider.
// This only includes fields that can be modified in the cluster.
type AWSPlatformSpec struct {
Copy link
Contributor

Choose a reason for hiding this comment

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

Need a CEL rule here to prevent removing ipFamily if it exists

!has(oldSelf.ipFamily) || has(self.ipFamily)

- The new IPFamily can be set to IPv4, DualStackIPv6Primary or
DualStackIPv4Primary.
- This capability is currently behind feature gates
that were added earlier.
- ControllerConfig is also updated because it embeds the Infra
object.
- Added tests for this new field.
@sadasu sadasu force-pushed the aws-azure-gcp-dual-stack branch from 29d9d89 to 2c87771 Compare September 24, 2025 17:35
Copy link
Contributor

openshift-ci bot commented Sep 24, 2025

@sadasu: 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 2c87771 link false /test okd-scos-e2e-aws-ovn
ci/prow/verify-crd-schema 2c87771 link true /test verify-crd-schema
ci/prow/minor-e2e-upgrade-minor 2c87771 link true /test minor-e2e-upgrade-minor
ci/prow/verify 2c87771 link true /test verify
ci/prow/integration 2c87771 link true /test integration

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. 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.

3 participants