OCPBUGS-33990: Avoid spurious updates for internalTrafficPolicy [Backport to 4.13]#1055
Conversation
…port 4.13] cherry-pick 5579aa1
…port 4.13] 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. - 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 for null versus empty ennotations 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.
|
@candita: No Jira issue with key OOCPBUGS-33990 exists in the tracker at https://issues.redhat.com/. 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. |
|
@candita: This pull request references Jira Issue OCPBUGS-33990, 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. |
|
@candita: This pull request references Jira Issue OCPBUGS-33990, 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. |
|
Test timed out after 1h? Only on AWS?
|
|
/retest-required |
|
I'm seeing issues with cluster-dns-operator degraded and machine pools not upgradeable for two (in a row) failures of e2e-aws-operator. One more try. /test e2e-aws-operator |
|
Test timed out after 1 hour again. This time, failures seen show these tests are taking 65 minutes:
|
|
/test e2e-aws-operator |
|
/assign @rfredette |
|
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 |
|
@candita: This pull request references Jira Issue OCPBUGS-33990, 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. |
|
/test e2e-aws-operator |
|
Machine config having some issues still
|
|
Root cause of e2e-aws-operator failures:
Need the fix in #1037 to be backported to 4.13. |
|
/test e2e-aws-operator |
|
The fix in #1037 has been backported to 4.13. |
|
/cherry-pick release-4.12 |
|
@candita: once the present PR merges, I will cherry-pick it on top of release-4.12 in a new PR and assign it to you. 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. |
|
/label backport-risk-assessed |
|
@knobunc: Can not set label backport-risk-assessed: Must be member in one of these teams: [] 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. |
|
/approve |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: knobunc, rfredette 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-33990: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-33990 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. |
|
@candita: #1055 failed to apply on top of branch "release-4.12": 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. |
|
@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. |
|
[ART PR BUILD NOTIFIER] This PR has been included in build ose-cluster-ingress-operator-container-v4.13.0-202405311936.p0.gb2bcf29.assembly.stream.el8 for distgit ose-cluster-ingress-operator. |
|
Fix included in accepted release 4.13.0-0.nightly-2024-05-31-202348 |
This is a manual backport of #927 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.
Ignore updates for null versus empty ennotations
Ignore updates to annotations when the update is from null to empty or vice versa.