[WIP] NE-1774: Promote `IngressControllerLBSubnetsAWS` to GA
Promotes IngressControllerLBSubnetsAWS to from TechPreview/DevPreview to become available by default (GA).
E2E Test Data:
- This feature gets tested by the PreSubmit job
e2e-aws-operator-techpreviewin the cluster-ingress-operator repo. - Specifically, TestAWSLBSubnets and TestUnmanagedAWSLBSubnets both test the functionality of the
IngressControllerLBSubnetsAWSfeature gate. - There isn't an origin E2E test for this feature, so I expect the
verifyjob automation to fail. We will require manual QE Signoff - Example Successful Runs (PreSubmit):
- TBD
@gcs278: This pull request references NE-1774 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.17.0" version, but no target version was set.
In response to this:
Promotes
IngressControllerLBSubnetsAWSto from TechPreview/DevPreview to become available by default (GA).E2E Test Data: TBD
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.
Hello @gcs278! 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.
Both verify jobs can be overridden once we are content that the testing is in place, the first is failing due to lack of tests, the second because of NoMaps on a CRD rename, which is not something we can fix right now
@gcs278: This pull request references NE-1774 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.17.0" version, but no target version was set.
In response to this:
Promotes
IngressControllerLBSubnetsAWSto from TechPreview/DevPreview to become available by default (GA).E2E Test Data:
- This feature gets tested by the PreSubmit job
e2e-aws-operator-techpreviewin the cluster-ingress-operator repo.- Specifically, TestAWSLBSubnets and TestUnmanagedAWSLBSubnets both test the functionality of the
IngressControllerLBSubnetsAWSfeature gate.- There isn't an origin E2E test for this feature, so I expect the
verifyjob automation to fail. We will require manual QE Signoff- Example Successful Runs (PreSubmit):
- TBD
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.
Checked with pre-merge testing, the featuregate IngressControllerLBSubnetsAWS is enabled by default now, but cannot check the function because the ingresscontroller config spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws.classicLoadBalancer.subnets is ignored silently, Also tested in another TP enabled cluster and it works.
$ oc get featuregates.config.openshift.io cluster -oyaml
<......>
spec: {}
status:
featureGates:
- disabled:
<......>
enabled:
- name: IngressControllerLBSubnetsAWS
version: 4.17.0-0.ci.test-2024-08-01-084745-ci-ln-z29h39b-latest
@gcs278 please let me know if this is expected or missing something?
@gcs278: This pull request references NE-1774 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.17.0" version, but no target version was set.
In response to this:
Promotes
IngressControllerLBSubnetsAWSto from TechPreview/DevPreview to become available by default (GA).E2E Test Data:
- This feature gets tested by the PreSubmit job
e2e-aws-operator-techpreviewin the cluster-ingress-operator repo.- Specifically, TestAWSLBSubnets and TestUnmanagedAWSLBSubnets both test the functionality of the
IngressControllerLBSubnetsAWSfeature gate.- There isn't an origin E2E test for this feature, so I expect the
verifyjob automation to fail. We will require manual QE Signoff- Example Successful PreSubmit Runs (I don't know if this matters if we are getting QE sign-off anyways):
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1114/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1818807049249624064
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1114/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1818845238211383296
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.
@lihongan ~~I believe it's due to the same errors we see in the integration test.~~
~~I pushed a fix in this PR. CEL introduced in https://github.com/openshift/api/pull/1826/files#diff-891d2cdcb01603ef2a2c1bfb2f6ef32cf2acf8b1471871a5a6e27308d50050f9R703-R705 should have specified a feature gate. I tried it out in a cluster too. It's a bit odd, but seems like the CEL silently failed, rejected the Subnets in the spec, and created the IC anyways. If you checked your IngressController, the spec Subnets would look empty:~~
spec:
endpointPublishingStrategy:
loadBalancer:
dnsManagementPolicy: Managed
providerParameters:
aws:
networkLoadBalancer: {}
type: NLB
type: AWS
Weird, prow didn't run new tests after my push: /test all
@gcs278: This pull request references NE-1774 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.17.0" version, but no target version was set.
In response to this:
Promotes
IngressControllerLBSubnetsAWSto from TechPreview/DevPreview to become available by default (GA).E2E Test Data:
- This feature gets tested by the PreSubmit job
e2e-aws-operator-techpreviewin the cluster-ingress-operator repo.- Specifically, TestAWSLBSubnets and TestUnmanagedAWSLBSubnets both test the functionality of the
IngressControllerLBSubnetsAWSfeature gate.- There isn't an origin E2E test for this feature, so I expect the
verifyjob automation to fail. We will require manual QE Signoff- Example Successful PreSubmit Runs:
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1114/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1818807049249624064
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1114/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1818845238211383296
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.
@gcs278: This pull request references NE-1774 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.17.0" version, but no target version was set.
In response to this:
Promotes
IngressControllerLBSubnetsAWSto from TechPreview/DevPreview to become available by default (GA).E2E Test Data:
- This feature gets tested by the PreSubmit job
e2e-aws-operator-techpreviewin the cluster-ingress-operator repo.- Specifically, TestAWSLBSubnets and TestUnmanagedAWSLBSubnets both test the functionality of the
IngressControllerLBSubnetsAWSfeature gate.- There isn't an origin E2E test for this feature, so I expect the
verifyjob automation to fail. We will require manual QE Signoff- Example Successful PreSubmit Runs:
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1114/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1818807049249624064
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1114/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1818845238211383296
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1115/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1819004886000340992
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.
@lihongan I believe it's due to the same errors we see in the integration test.
I pushed a fix in this PR. CEL introduced in https://github.com/openshift/api/pull/1826/files#diff-891d2cdcb01603ef2a2c1bfb2f6ef32cf2acf8b1471871a5a6e27308d50050f9R703-R705 should have specified a feature gate. I tried it out in a cluster too. It's a bit odd, but seems like the CEL silently failed, rejected the
Subnetsin the spec, and created the IC anyways. If you checked your IngressController, the specSubnetswould look empty:
@lihongan Sorry, I think I confused two problems. The issue you see isn't related to the CEL Validation. I realized we do need to re-vendor this change in the IngressOperator to get the updated IngressController CRD.
So when you are doing testing, you must also update apply the IngressController CRD. I think that's why it's not working for you. You will have to apply the one from this PR: operator/v1/zz_generated.crd-manifests/0000_50_ingress_00_ingresscontrollers-Default.crd.yaml
The integration failure exists due to bug where the CEL is restricted to a feature gate, introduced in https://github.com/openshift/api/pull/1826. That's now fixed in this PR.
/retest
/label qe-approved
Thanks @gcs278 , after doing oc apply -f ./0000_50_ingress_00_ingresscontrollers-Default.crd.yaml then the .subnets setting in ingresscontroller works, the annotation is added to LB service.
$ oc -n openshift-ingress get svc router-default -oyaml | grep subnet
service.beta.kubernetes.io/aws-load-balancer-subnets: ci-ln-9vgmglb-76ef8-sl8sc-subnet-public-us-west-1a
$ oc get co ingress console
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE
ingress 4.17.0-0.ci.test-2024-08-02-010240-ci-ln-9vgmglb-latest True False False 21m
console 4.17.0-0.ci.test-2024-08-02-010240-ci-ln-9vgmglb-latest True False False 10m
@gcs278: This pull request references NE-1774 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.17.0" version, but no target version was set.
In response to this:
Promotes
IngressControllerLBSubnetsAWSto from TechPreview/DevPreview to become available by default (GA).E2E Test Data:
- This feature gets tested by the PreSubmit job
e2e-aws-operator-techpreviewin the cluster-ingress-operator repo.- Specifically, TestAWSLBSubnets and TestUnmanagedAWSLBSubnets both test the functionality of the
IngressControllerLBSubnetsAWSfeature gate.- There isn't an origin E2E test for this feature, so I expect the
verifyjob automation to fail. We will require manual QE Signoff- Example Successful PreSubmit Runs:
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1114/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1818807049249624064
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1114/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1818845238211383296
- https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_cluster-ingress-operator/1115/pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-operator-techpreview/1819004886000340992
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.
/retest
@JoelSpeed it looks like you might need to over-ride this test ?
/lgtm /override ci/prow/verify
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: gcs278, JoelSpeed
The full list of commands accepted by this bot can be found here.
The pull request process is described here
- ~~OWNERS~~ [JoelSpeed]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
@JoelSpeed: Overrode contexts on behalf of JoelSpeed: ci/prow/verify
In response to this:
/lgtm /override ci/prow/verify
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.
@gcs278: all tests passed!
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.
[ART PR BUILD NOTIFIER]
Distgit: ose-cluster-config-api This PR has been included in build ose-cluster-config-api-container-v4.18.0-202408021814.p0.g8b2b377.assembly.stream.el9. All builds following this will include this PR.