Skip to content

OCPBUGS-55763: stop frr from listening for incoming connection in the bgp daemon #2708

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

karampok
Copy link

@karampok karampok commented May 14, 2025

By design, the bgp daemon running by frr should be the active part in the BGP peering.
That means that it is not listening at port 179 for incoming TCP connection from external peers.
To achieve that we need to modify the params provided by a configmap in the frr pods accordingly.

The documentation part

-p, --bgp_port <port>
Set the BGP protocol’s port number. If set to 0, bgpd will not listen on any BGP port

This PR aligns that behavior.

frr-k8s will not listen to port 179, and BGP peering can only be
established from OCP to external.

Signed-off-by: Konstantinos Karampogias <[email protected]>
@openshift-ci openshift-ci bot requested review from trozet and tssurya May 14, 2025 08:13
@karampok
Copy link
Author

cc @fedepaol

@fedepaol
Copy link
Member

@karampok I think this deserves do be a bug as we did it non - intentionally (the behavior was reverted upstream and on metallb itself).

@fedepaol
Copy link
Member

@karampok I think this deserves do be a bug as we did it non - intentionally (the behavior was reverted upstream and on metallb itself).

Also, we might need to backport it at least to 4.19

@karampok karampok changed the title frr-k8s: stop listening for incoming connection in the bgp daemon OCPBUGS-55763 : frr-k8s: stop listening for incoming connection in the bgp daemon May 14, 2025
@karampok karampok changed the title OCPBUGS-55763 : frr-k8s: stop listening for incoming connection in the bgp daemon OCPBUGS-55763 : stop frr from listening for incoming connection in the bgp daemon May 14, 2025
@karampok
Copy link
Author

/jira refresh

@openshift-ci-robot
Copy link
Contributor

@karampok: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

In response to this:

/jira refresh

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.

@karampok
Copy link
Author

The frr-k8s fail with

Summarizing 1 Failure:
  [FAIL] BGPSessionState BGP and BFD Each node manages its statuses [It] IPV4
  /root/dev-scripts/frr/e2etests/tests/bgp_session_status.go:209
Ran 47 of 105 Specs in 3455.224 seconds
FAIL! -- 46 Passed | 1 Failed | 0 Pending | 58 Skipped
--- FAIL: TestE2E (3455.28s)
FAIL

which is known issue

@karampok
Copy link
Author

/jira refresh

@openshift-ci-robot
Copy link
Contributor

@karampok: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

In response to this:

/jira refresh

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.

@karampok
Copy link
Author

/retest frrk8s-e2e

Copy link
Contributor

openshift-ci bot commented May 14, 2025

@karampok: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:

/test 4.20-upgrade-from-stable-4.19-images
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-ipsec-upgrade
/test e2e-aws-ovn-upgrade
/test e2e-aws-ovn-windows
/test e2e-azure-ovn-upgrade
/test e2e-gcp-ovn
/test e2e-gcp-ovn-techpreview
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-metal-ipi-ovn-ipv6-ipsec
/test e2e-ovn-ipsec-step-registry
/test hypershift-e2e-aks
/test images
/test lint
/test unit
/test verify
/test verify-deps

The following commands are available to trigger optional jobs:

/test 4.20-upgrade-from-stable-4.19-e2e-aws-ovn-upgrade
/test 4.20-upgrade-from-stable-4.19-e2e-azure-ovn-upgrade
/test 4.20-upgrade-from-stable-4.19-e2e-gcp-ovn-upgrade
/test e2e-aws-hypershift-ovn-kubevirt
/test e2e-aws-ovn-ipsec-serial
/test e2e-aws-ovn-local-to-shared-gateway-mode-migration
/test e2e-aws-ovn-serial
/test e2e-aws-ovn-shared-to-local-gateway-mode-migration
/test e2e-aws-ovn-single-node
/test e2e-aws-ovn-techpreview-serial
/test e2e-azure-ovn
/test e2e-azure-ovn-dualstack
/test e2e-azure-ovn-manual-oidc
/test e2e-network-mtu-migration-ovn-ipv4
/test e2e-network-mtu-migration-ovn-ipv6
/test e2e-openstack-ovn
/test e2e-ovn-hybrid-step-registry
/test e2e-ovn-step-registry
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-dualstack
/test e2e-vsphere-ovn-dualstack-primaryv6
/test e2e-vsphere-ovn-windows
/test frrk8s-e2e
/test okd-scos-e2e-aws-ovn
/test okd-scos-images
/test qe-perfscale-aws-ovn-medium-cluster-density
/test qe-perfscale-aws-ovn-medium-node-density-cni
/test qe-perfscale-aws-ovn-small-cluster-density
/test qe-perfscale-aws-ovn-small-node-density-cni
/test security

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-cluster-network-operator-master-4.20-upgrade-from-stable-4.19-e2e-aws-ovn-upgrade
pull-ci-openshift-cluster-network-operator-master-4.20-upgrade-from-stable-4.19-e2e-azure-ovn-upgrade
pull-ci-openshift-cluster-network-operator-master-4.20-upgrade-from-stable-4.19-e2e-gcp-ovn-upgrade
pull-ci-openshift-cluster-network-operator-master-4.20-upgrade-from-stable-4.19-images
pull-ci-openshift-cluster-network-operator-master-e2e-aws-hypershift-ovn-kubevirt
pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-hypershift-conformance
pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-ipsec-upgrade
pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-local-to-shared-gateway-mode-migration
pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-serial
pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-shared-to-local-gateway-mode-migration
pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-single-node
pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-upgrade
pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-windows
pull-ci-openshift-cluster-network-operator-master-e2e-azure-ovn
pull-ci-openshift-cluster-network-operator-master-e2e-azure-ovn-upgrade
pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn
pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn-techpreview
pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn-upgrade
pull-ci-openshift-cluster-network-operator-master-e2e-metal-ipi-ovn-ipv6
pull-ci-openshift-cluster-network-operator-master-e2e-metal-ipi-ovn-ipv6-ipsec
pull-ci-openshift-cluster-network-operator-master-e2e-network-mtu-migration-ovn-ipv4
pull-ci-openshift-cluster-network-operator-master-e2e-network-mtu-migration-ovn-ipv6
pull-ci-openshift-cluster-network-operator-master-e2e-openstack-ovn
pull-ci-openshift-cluster-network-operator-master-e2e-ovn-hybrid-step-registry
pull-ci-openshift-cluster-network-operator-master-e2e-ovn-ipsec-step-registry
pull-ci-openshift-cluster-network-operator-master-e2e-ovn-step-registry
pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn
pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn-dualstack
pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn-dualstack-primaryv6
pull-ci-openshift-cluster-network-operator-master-frrk8s-e2e
pull-ci-openshift-cluster-network-operator-master-hypershift-e2e-aks
pull-ci-openshift-cluster-network-operator-master-images
pull-ci-openshift-cluster-network-operator-master-lint
pull-ci-openshift-cluster-network-operator-master-okd-scos-e2e-aws-ovn
pull-ci-openshift-cluster-network-operator-master-security
pull-ci-openshift-cluster-network-operator-master-unit
pull-ci-openshift-cluster-network-operator-master-verify
pull-ci-openshift-cluster-network-operator-master-verify-deps

In response to this:

/retest frrk8s-e2e

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.

@karampok
Copy link
Author

/test frrk8s-e2e

@karampok karampok changed the title OCPBUGS-55763 : stop frr from listening for incoming connection in the bgp daemon OCPBUGS-55763: stop frr from listening for incoming connection in the bgp daemon May 14, 2025
@openshift-ci-robot openshift-ci-robot added jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels May 14, 2025
@openshift-ci-robot
Copy link
Contributor

@karampok: This pull request references Jira Issue OCPBUGS-55763, which is invalid:

  • expected the bug to target the "4.20.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

By design, the bgp daemon running by frr should be the active part in the BGP peering.
That means that it is not listening at port 179 for incoming TCP connection from external peers.
To achieve that we need to modify the params provided by a configmap in the frr pods accordingly.

The documentation part

-p, --bgp_port <port>
Set the BGP protocol’s port number. If set to 0, bgpd will not listen on any BGP port

This PR aligns that behavior.

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.

@karampok
Copy link
Author

/jira refresh

@openshift-ci-robot
Copy link
Contributor

@karampok: This pull request references Jira Issue OCPBUGS-55763, which is invalid:

  • expected the bug to target the "4.20.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

/jira refresh

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.

@karampok
Copy link
Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels May 14, 2025
@openshift-ci-robot
Copy link
Contributor

@karampok: This pull request references Jira Issue OCPBUGS-55763, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.20.0) matches configured target version for branch (4.20.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @evgenLevin

In response to this:

/jira refresh

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.

@openshift-ci openshift-ci bot requested a review from evgenLevin May 14, 2025 14:49
@karampok
Copy link
Author

/retest-required

Copy link
Contributor

openshift-ci bot commented May 15, 2025

@karampok: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn-serial 401f7b4 link false /test e2e-aws-ovn-serial
ci/prow/4.20-upgrade-from-stable-4.19-e2e-aws-ovn-upgrade 401f7b4 link false /test 4.20-upgrade-from-stable-4.19-e2e-aws-ovn-upgrade
ci/prow/e2e-aws-hypershift-ovn-kubevirt 401f7b4 link false /test e2e-aws-hypershift-ovn-kubevirt
ci/prow/e2e-vsphere-ovn-dualstack-primaryv6 401f7b4 link false /test e2e-vsphere-ovn-dualstack-primaryv6
ci/prow/4.20-upgrade-from-stable-4.19-e2e-azure-ovn-upgrade 401f7b4 link false /test 4.20-upgrade-from-stable-4.19-e2e-azure-ovn-upgrade
ci/prow/security 401f7b4 link false /test security
ci/prow/frrk8s-e2e 401f7b4 link false /test frrk8s-e2e

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

@karampok
Copy link
Author

/retest-required

@fedepaol
Copy link
Member

/hold

@fedepaol
Copy link
Member

/lgtm
/approve

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 21, 2025
@fedepaol
Copy link
Member

@karampok please un - hold when we manage to get a green frrk8s run (iiuc, it's failing due to external factors, which should sort out hopefully)

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 21, 2025
Copy link
Contributor

openshift-ci bot commented May 21, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: fedepaol, karampok

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:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants