[release-4.12] OCPBUGS-34757: Avoid spurious updates for internalTrafficPolicy#1070
Conversation
|
@candita: This pull request references Jira Issue OCPBUGS-34757, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn 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. |
|
/test e2e-azure-ovn |
|
@melvinjoseph86: This pull request references Jira Issue OCPBUGS-34757, which is invalid:
Comment DetailsIn 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. |
|
/jira refresh |
|
@rfredette: This pull request references Jira Issue OCPBUGS-34757, which is valid. The bug has been moved to the POST state. 7 validation(s) were run on this bug
Requesting review from QA contact: DetailsIn 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. |
Specify spec.internalTrafficPolicy on NodePort- and ClusterIP-type services that the operator manages. Also, ignore updates to the spec.ipFamilies and spec.ipFamilyPolicy fields. Before this commit, the update logic for NodePort- and ClusterIP-type services would try to revert the default values that the API set for these fields. This commit fixes OCPBUGS-13190. https://issues.redhat.com/browse/OCPBUGS-13190 * assets/router/service-cloud.yaml: * assets/router/service-internal.yaml: Specify "internalTrafficPolicy: Cluster". * pkg/manifests/bindata.go: Regenerate. * pkg/operator/controller/ingress/internal_service.go (internalServiceChanged): Ignore spec.ipFamilies and spec.ipFamilyPolicy. * pkg/operator/controller/ingress/internal_service_test.go (Test_desiredInternalIngressControllerService): Verify that spec.internalServiceChanged is set to "Cluster". (Test_internalServiceChanged): Verify that changes to spec.internalTrafficPolicy are detected and that changes to spec.ipFamilies and spec.ipFamilyPolicy are ignored. * pkg/operator/controller/ingress/nodeport_service.go (desiredNodePortService): Set spec.internalTrafficPolicy to "Cluster". (nodePortServiceChanged): Ignore spec.ipFamilies and spec.ipFamilyPolicy. * pkg/operator/controller/ingress/nodeport_service_test.go (TestDesiredNodePortService): Verify that spec.internalTrafficPolicy is set to "Cluster". (TestNodePortServiceChanged): Verify that changes to spec.internalTrafficPolicy are detected and that changes to spec.ipFamilies and spec.ipFamilyPolicy are ignored.
Ignore updates to annotations when the update is from null to empty or vice versa. * pkg/operator/controller/ingress/internal_service.go (internalServiceChanged): Use EquateEmpty when comparing annotations. * pkg/operator/controller/ingress/internal_service_test.go (TestInternalServiceChangedEmptyAnnotations): New test to verify that internalServiceChanged treats empty and null annotations as equal. * pkg/operator/controller/ingress/load_balancer_service_test.go (TestLoadBalancerServiceChangedEmptyAnnotations): New test to verify that loadBalancerServiceChanged treats empty and null annotations as equal. * pkg/operator/controller/ingress/nodeport_service.go (nodePortServiceChanged): Use EquateEmpty when comparing annotations. * pkg/operator/controller/ingress/nodeport_service_test.go (TestNodePortServiceChangedEmptyAnnotations): New test to verify that loadBalancerServiceChanged treats empty and null annotations as equal.
bd85cfa to
701f646
Compare
|
@candita: This pull request references Jira Issue OCPBUGS-34757, which is valid. 7 validation(s) were run on this bug
Requesting review from QA contact: DetailsIn 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. |
|
images issue:
/test images |
|
/tide refresh |
|
/honk |
DetailsIn 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 kubernetes-sigs/prow repository. |
|
/test images |
1 similar comment
|
/test images |
|
I deleted the test namespace, let's see what happens |
|
This change is low-risk. The changes in the PR are scoped to the update logic for services, and the changes are to set Also, as this is a manual cherry-pick, I'll note that the diff between https://patch-diff.githubusercontent.com/raw/openshift/cluster-ingress-operator/pull/1070.patch and https://patch-diff.githubusercontent.com/raw/openshift/cluster-ingress-operator/pull/927.patch only shows some fuzz and changes in |
|
/retest-required /label cherry-pick-approved |
|
/test images |
|
/test images |
|
/test e2e-aws-operator |
|
Verified using pre-image with cluster bot. After the cluster installation there was no more 'updated internal service' log messages in openshift-ingress-operator logs. |
|
/label qe-approved |
|
/retitle [release-4.12] OCPBUGS-34757: Avoid spurious updates for internalTrafficPolicy |
|
/assign |
|
CI images issue should be resolved. /retest |
|
@candita: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Miciah The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@candita: Jira Issue OCPBUGS-34757: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-34757 has been moved to the MODIFIED state. DetailsIn 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. |
|
[ART PR BUILD NOTIFIER] This PR has been included in build ose-cluster-ingress-operator-container-v4.12.0-202406052154.p0.g3e1b3f9.assembly.stream.el8 for distgit ose-cluster-ingress-operator. |
|
Fix included in accepted release 4.12.0-0.nightly-2024-06-06-104737 |
This is a manual backport of #1055 to fix OCPBUGS-33657.
git cherry-pick 5579aa1
go mod vendor
go mod tidy
make generate
make update
git cherry-pick 6cd3b67
go mod vendor
go mod tidy
make generate
make update
Avoid spurious updates for internalTrafficPolicy
Specify spec.internalTrafficPolicy on NodePort- and ClusterIP-type services that the operator manages. Also, ignore updates to the spec.ipFamilies and spec.ipFamilyPolicy fields.
Before this PR, the update logic for NodePort- and ClusterIP-type services would try to revert the default values that the API set for these fields.
Ignore updates for null versus empty ennotations
Ignore updates to annotations when the update is from null to empty or vice versa.