-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
BGP Advertised Path Attributes fails to match CiliumLoadBalancerIPPool #32693
Labels
area/bgp
kind/bug
This is a bug in the Cilium logic.
kind/community-report
This was reported by a user in the Cilium community, eg via Slack.
sig/agent
Cilium agent related.
Comments
8 tasks
dswaffordcw
added a commit
to dswaffordcw/cilium
that referenced
this issue
May 24, 2024
…dr fields for CiliumLoadBalancerIPPool In cilium@27322f3, the `CiliumLoadBalancerIPPool`'s field named `cidrs` was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides examples of configuring a `CiliumLoadBalancerIPPool` using the field named `blocks`. While attempting to configure a BGP policy using the Advertised Path Attributes feature (https://docs.cilium.io/en/stable/network/bgp-control-plane/#advertised-path-attributes), I was unable to configure a working policy. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was looking only for the deprecated field. The former name for `blocks` was `cidrs`. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. With this update, the BGPv1 reconciler will first look for a `CiliumLoadBalancerIPPool`'s using the updated `blocks` and then continues to evaluate the deprecated field named `cidrs`. The update includes a check to remove duplicates when the same prefix is specified using both new and old fields.
dswaffordcw
added a commit
to dswaffordcw/cilium
that referenced
this issue
May 24, 2024
…dr fields for CiliumLoadBalancerIPPool In cilium@27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature (https://docs.cilium.io/en/stable/network/bgp-control-plane/#advertised-path-attributes), I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields.
dswaffordcw
added a commit
to dswaffordcw/cilium
that referenced
this issue
May 24, 2024
…dr fields for CiliumLoadBalancerIPPool In cilium@27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature (https://docs.cilium.io/en/stable/network/bgp-control-plane/#advertised-path-attributes), I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Signed-off-by: David Swafford <dswafford@coreweave.com>
dswaffordcw
added a commit
to dswaffordcw/cilium
that referenced
this issue
May 24, 2024
…or CiliumLoadBalancerIPPool In cilium@27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature (https://docs.cilium.io/en/stable/network/bgp-control-plane/#advertised-path-attributes), I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: cilium#32693 Signed-off-by: David Swafford <dswafford@coreweave.com>
dswaffordcw
added a commit
to dswaffordcw/cilium
that referenced
this issue
May 28, 2024
…or CiliumLoadBalancerIPPool In cilium@27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature (https://docs.cilium.io/en/stable/network/bgp-control-plane/#advertised-path-attributes), I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: cilium#32693 Signed-off-by: David Swafford <dswafford@coreweave.com>
dswaffordcw
added a commit
to dswaffordcw/cilium
that referenced
this issue
May 29, 2024
In cilium@27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: cilium#32693 Signed-off-by: David Swafford <dswafford@coreweave.com>
dswaffordcw
added a commit
to dswaffordcw/cilium
that referenced
this issue
May 30, 2024
In cilium@27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: cilium#32693 Signed-off-by: David Swafford <dswafford@coreweave.com>
github-merge-queue bot
pushed a commit
that referenced
this issue
May 31, 2024
In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com>
sayboras
pushed a commit
that referenced
this issue
Jun 4, 2024
In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com>
viktor-kurchenko
pushed a commit
that referenced
this issue
Jun 4, 2024
[ upstream commit 686876c ] In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com> Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
viktor-kurchenko
pushed a commit
that referenced
this issue
Jun 4, 2024
[ upstream commit 686876c ] [ backporter notes: added missing import for sets dependency in the route_policy.go ] In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com> Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
viktor-kurchenko
pushed a commit
that referenced
this issue
Jun 5, 2024
[ upstream commit 686876c ] [ backporter notes: * added missing import for sets dependency in the route_policy.go * added wellKnownCommunity variable in the route_policy_test.go ] In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com> Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
viktor-kurchenko
added a commit
that referenced
this issue
Jun 5, 2024
[ upstream commit 686876c ] [ backporter notes: * added missing import for sets dependency in the route_policy.go * added wellKnownCommunity variable in the route_policy_test.go ] In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com> Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
viktor-kurchenko
pushed a commit
that referenced
this issue
Jun 5, 2024
[ upstream commit 686876c ] [ backporter notes: * added missing import for sets dependency in the route_policy.go * removed wellKnownCommunity variable in the route_policy_test.go ] In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com> Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
nbusseneau
pushed a commit
that referenced
this issue
Jun 5, 2024
[ upstream commit 686876c ] [ backporter notes: * added missing import for sets dependency in the route_policy.go * removed wellKnownCommunity variable in the route_policy_test.go ] In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com> Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
sayboras
pushed a commit
that referenced
this issue
Jun 10, 2024
[ upstream commit 686876c ] [ backporter notes: * added missing import for sets dependency in the route_policy.go * removed wellKnownCommunity variable in the route_policy_test.go ] In 27322f3, the CiliumLoadBalancerIPPool's field named "cidrs" was deprecated. The documentation on https://docs.cilium.io/en/stable/network/lb-ipam/ provides an example of configuring a CiliumLoadBalancerIPPool using the field named "blocks". While testing a BGP policy configured with the Advertised Path Attributes feature, I was not able to achieve the desired policy. BGP attributes configured were not being applied. While discussing this in Cilium's Slack channel, it was pointed out that the BGPv1 reconciler was only aware of the deprecated field. This commit updates Cilium's BGPv1 reconciler to support both the deprecated and updated fields. Fixes: #32693 Signed-off-by: David Swafford <dswafford@coreweave.com> Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com> (cherry picked from commit 66f5c93) Signed-off-by: viktor-kurchenko <viktor.kurchenko@isovalent.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area/bgp
kind/bug
This is a bug in the Cilium logic.
kind/community-report
This was reported by a user in the Cilium community, eg via Slack.
sig/agent
Cilium agent related.
Is there an existing issue for this?
What happened?
This bug report is a follow-up from https://cilium.slack.com/archives/C53TG4J4R/p1716491937260819
I attempted to configure the Advertised Paths feature using https://docs.cilium.io/en/stable/network/bgp-control-plane/#advertised-path-attributes. Before configuring the Advertised Paths feature, I had established BGP peering and a BGP path was being announced. This was seen in:
For the Advertised Paths feature, I had configured:
With this configuration, no BGP communities were present on the announced path.
The full configuration is below:
There were no route policies observed on the Cilium nodes:
Other related information was:
In the Slack thread, Harsimran Pabla pointed out that the existing BGP reconciler references a deprecated CRD field (
cidrs
) forCiliumLoadBalancerIPPool
. In https://github.com/cilium/cilium/blob/main/pkg/bgpv1/manager/reconciler/route_policy.go, he pointed out:As a test, for the
CiliumLoadBalancerIPPool
I changed:to:
This corrected my issue! The configured BGP community, via the Advertised Paths Feature, was now present on the announcement:
This bug request is being opened to capture the necessary changes to https://github.com/cilium/cilium/blob/main/pkg/bgpv1/manager/reconciler/route_policy.go to allow one to specify either the deprecated (
cidrs
) or current field (blocks
).Cilium Version
Kernel Version
Kubernetes Version
Regression
No response
Sysdump
cilium-sysdump-20240523-133822.zip
Relevant log output
No response
Anything else?
No response
Cilium Users Document
Code of Conduct
The text was updated successfully, but these errors were encountered: