kubernetes / ingress-gce

Ingress controller for Google Cloud
Apache License 2.0
1.27k stars 301 forks source link

[Cherry-pick #2708 -> 1.31] Fix port range to port comparison for forwarding rules #2710

Closed TheBeeZee closed 2 weeks ago

TheBeeZee commented 3 weeks ago

This fixes a bug when an existing forwarding rule lists a distinct a set of ports. If a new port is added to a load balancer that falls within the same range of ports, the forwarding rule will not be updated because we would compare the old and new list of ports as a port range.

For example, with oldPorts = {1, 5, 10} and newPorts = {1, 5, 6, 10}, both old and new ports are converted to port range 1-10 and no change is made to the forwarding rule.

With this change we only convert new ports to a port range if the existing ports are also a port range.

k8s-ci-robot commented 3 weeks ago

Hi @TheBeeZee. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
FelipeYepez commented 2 weeks ago

/LGTM

k8s-ci-robot commented 2 weeks ago

@FelipeYepez: changing LGTM is restricted to collaborators

In response to [this](https://github.com/kubernetes/ingress-gce/pull/2710#issuecomment-2441298526): >/LGTM Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
mmamczur commented 2 weeks ago

can we make sure the name of the PR and comming message follow the pattern [Cherry-pick #2708 -> 1.31]

Other than that lgtm

but I'm not sure how we plan to release, @swetharepakula will we do any more releases from ingress-gce release-1.31 branch?

FelipeYepez commented 2 weeks ago

This fixes an issue present in release-1.31 so we need to cherry pick this

mmamczur commented 2 weeks ago

This fixes an issue present in release-1.31 so we need to cherry pick this

but if we cut a new branch 1.32 and use that then 1.31 may not be needed anymore. ingress-gce 1.32 will be used in gke 1.31.

FelipeYepez commented 2 weeks ago

I see, thanks.

TheBeeZee commented 2 weeks ago

can we make sure the name of the PR and comming message follow the pattern [Cherry-pick #2708 -> 1.31]

Other than that lgtm

but I'm not sure how we plan to release, @swetharepakula will we do any more releases from ingress-gce release-1.31 branch?

I have updated the description. I'm ok with either cherrypicking into 1.31 or releasing as 1.32, whichever is the proper solution.

mmamczur commented 2 weeks ago

/lgtm

k8s-ci-robot commented 2 weeks ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: FelipeYepez, mmamczur, TheBeeZee

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: - ~~[OWNERS](https://github.com/kubernetes/ingress-gce/blob/release-1.31/OWNERS)~~ [mmamczur] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment