这是indexloc提供的服务,不要输入任何密码
Skip to content

gateway CR status not updated in a multiversion (upgrade) setup #55787

@akshayjnambiar

Description

@akshayjnambiar

Is this the right place to submit this?

  • This is not a security vulnerability or a crashing bug
  • This is not a question about how to use Istio

Bug Description

I have a canary setup(multicluster) with istio versions 1.24 and 1.25.
I'm using k8s gateway CRs with gatewayClass as istio. So when I create a gateway CR, the deployment and service (lb) are created. But the gateway status is not updated to accepted. This happens when the istio-gateway-status-leader is 1.24. I forcefully deleted the configmap (istio-gateway-status-leader) until it uses 1.25, after which the gateway CR is updating properly.

The issue seems to be because of #54465.
After this PR, the gateway controller is only checks for gateway CRs with the same tag. The controller which updates the gateway status is decided by a leader election (gateway-status-leader configmap in istio-system). This leader is responsible for all gateway status updates regardless of tag. But since the controller filters based on the tag, the istiod(leader) will only update the gateway status for CRs which belong to the tag.
filtering code: https://github.com/istio/istio/pull/54465/files#diff-36f29477e5e8138fa42fd7b60af1e8a5374bae908694fc86597fda03ba00cbb9R193

leader election: https://github.com/istio/istio/pull/54465/files#diff-b1b6f45b5ba07deac85a33efc2e68df77539106301c046208ef8aa24e3ef80b8R156

Proposal:

  • Can we have multiple leader elections per tag similiar to the gateway deployment controller leader election

Version

istio versions : 1.24.3, 1.25.0

k8s version: 1.31

Additional Information

No response

Metadata

Metadata

Labels

area/networkingarea/upgradeIssues related to upgradesfeature/Multi-clusterissues related with multi-cluster supportlifecycle/automatically-closedIndicates a PR or issue that has been closed automatically.lifecycle/staleIndicates a PR or issue hasn't been manipulated by an Istio team member for a while

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions