New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bgpv1: Unconditionally select node when empty nodeSelector is given #26590
bgpv1: Unconditionally select node when empty nodeSelector is given #26590
Conversation
The CRD spec of CiliumBGPPeeringPolicy states ``` NodeSelector selects a group of nodes where this BGP Peering Policy applies. If empty / nil this policy applies to all nodes. ``` However, our current implementation treats empty / nil selector as an error. This commit fixes it. Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
/test |
/ci-multicluster |
/ci-aks |
In our current code, only a single CiliumBGPPeeringPolicy may apply to a node. So in this change, what happens if multiple 'CiliumBGPPeeringPolicies' do not specify a node selector? We will pick the latest created 'CiliumBGPPeeringPolicy' and ignore all others, correct? |
No, essentially the empty/nil selector is a selector that selects everything. So, when there are multiple policies select the same node, BGP sessions will be reset. This is the same behavior as before. |
The CRD spec of CiliumBGPPeeringPolicy states
However, our current implementation treats empty / nil selector as an error. This commit fixes it.
This issue was reported by an OSS community user on Slack.