OCPBUGS-82973: Sync 25-3-2026#128
Conversation
Update the DisableMP field documentation to clearly state that it has no effect and is completely ignored by the implementation. The previous documentation only mentioned deprecation without clearly indicating the field is non-functional. Reported-at: metallb/frr-k8s#387 Signed-off-by: Andreas Karis <[email protected]>
Clarify DisableMP field documentation to indicate it's ignored
This had no impact so far, but is a misconfiguration for an optional field and will cause issues for example when multiple API versions are present and conversion is needed from one to another. Signed-off-by: Andreas Karis <[email protected]>
Fix BGPConfig routers field to be omitempty
This commit fixes the `build` Make target. The target isn't really used anywhere, but can be used for sanity checks for quick builds on the local system without Docker / podman: Instead of only building frr-k8s, also build the other 3 binaries (frr-metrics, frr-status, statuscleaner). Signed-off-by: Andreas Karis <[email protected]>
Fix build make target
This bump is needed as the new logging e2etests require a more up to date version of the metallb/e2etest suite. Signed-off-by: Andreas Karis <[email protected]>
When deployed with helm charts, the container is called 'controller'. Therefore, rename the container from 'frr-k8s' inside `config/` for consistency. Why we need this: one of the logging E2E tests will require consistent container names for the `controller` container, otherwise E2E tests cannot run against both helm and kustomize deployed setups. It's also better to use consistent naming everywhere. Signed-off-by: Andreas Karis <[email protected]>
The cache configuration for the status cleaner was not correct, as the status cleaner watches Pods and FRRNodeStates, but not Secret and FRRConfiguration. Align the cache with the object types that are actually watched by the status cleaner. Signed-off-by: Andreas Karis <[email protected]>
Updates the statuscleaner deployment across all manifests to use proper component labeling and naming: - Change deployment label from "app.kubernetes.io/component: frr-k8s" to "app.kubernetes.io/component: statuscleaner" - Add "app.kubernetes.io/component: statuscleaner" label to pod template - Rename container from "frr-k8s-webhook-server" to "frr-k8s-statuscleaner" This brings the make deploy target in sync with the helm chart configuration and ensures proper component identification for E2E testing. Signed-off-by: Andreas Karis <[email protected]>
In addtion, - make changes to config/ for FRRK8sConfiguration - make changes to helm charts for FRRK8sConfiguration - change default log levels for config/ for testenv Signed-off-by: Andreas Karis <[email protected]>
Signed-off-by: Andreas Karis <[email protected]>
Implements logic for runtime configuration of log levels for operators and for the FRR instances. This allows operators to dynamically adjust logging verbosity without requiring pod restarts or redeployments. Changes include: - New FRRK8sConfiguration controller dedicated to managing controller log levels - FRRConfiguration controller extended to handle FRR instance log levels - Singleton logger in internal/logging - New internal/frr/level.go for FRR log level handling - Update frr-k8s binary (FRRConfiguration controller and FRRState controller) - Update frr status binary (BGPSessionState controller) - Update statuscleaner binary (NodeStateCleaner controller) - Update all binary main functions for dynamic logging via FRRK8sConfiguration controller Signed-off-by: Andreas Karis <[email protected]>
Signed-off-by: Andreas Karis <[email protected]>
Frr-k8s dynamic log level
Remove ununsed vars from e2etest_suite_test.go
This proposal extends the FRRConfiguration CRD to support EVPN configuration, motivated by the OVN-Kubernetes EVPN enhancement for advertising User Defined Networks (UDNs) externally. Assisted-By: Claude Sonnet 4.5 <[email protected]> Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Allow merging neighbor configurations where one neighbor has a BFD profile and the other sets BFD profile to the empty string. Previously, the merge logic would reject this scenario, making it difficult to add BFD configuration to existing BGP peers. The fix updates the BFD profile compatibility check to only fail when both neighbors specify different non-empty BFD profiles. When merging, if the destination neighbor has an empty BFD profile, it now adopts the source's BFD profile value. This fix also refactors and renames mergeNeighbors for better legibility and adds unit testing. Reported-at: metallb/metallb#2904 Reported-at: metallb/frr-k8s#399 Signed-off-by: Andreas Karis <[email protected]>
Add basic EVPN support
It was bumped in v0.0.21 but a few places were missed, including the demo. Signed-off-by: Ihar Hrachyshka <[email protected]>
We test the happy path inside the BFD tests which need a bit of refactoring to make existing code reusable. We test the unhappy path inside the Webhooks tests which we refactor to table driven tests so that they can handle both conflicts with ASN numbers as well as conflicts with BFD profile names. Signed-off-by: Andreas Karis <[email protected]>
Fix BFD profile merging to allow adding BFD to existing neighbors
Bump demo FRR image tag to 10.4.1
gcr.io is no longer available for the kube-rbac-proxy image, we replace it with registry.k8s.io. This fix is temporary (and unblocks CI), the real fix is removing the dependency on kube-rbac-proxy as was suggested a while ago. Signed-off-by: Ori Braunshtein <[email protected]>
TEMPORARY FIX: replace kube-rbac-proxy registry
Comment fields need to start with # -- in order for the comments to show up in README.md. This comment fixes this but it does not add missing comments. Signed-off-by: Andreas Karis <[email protected]>
Add comments to all remaining fields which didn't have them, yet. Signed-off-by: Andreas Karis <[email protected]>
Signed-off-by: Andreas Karis <[email protected]>
Add missing comments in helm docs README.md
We bump go to 1.25, and the relevant toolings that broke because of the bump. Regenerated manifests and code accordingly. This also introduces the toolchain directive to align with metallb, and bumps setup-go action to v6 as it has better support for it. Signed-off-by: Ori Braunshtein <[email protected]> Assisted-by: Cursor
|
/hold cancel |
|
/hold |
|
@oribon: This pull request references Jira Issue OCPBUGS-82973, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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. |
|
/jira refresh The requirements for Jira bugs have changed (Jira issues linked to PRs on main branch need to target different OCP), recalculating validity. |
|
@openshift-bot: This pull request references Jira Issue OCPBUGS-82973, which is valid. 3 validation(s) were run on this bug
DetailsIn response to this:
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. |
|
/hold cancel |
|
/override ci/prow/frrk8s-e2e-metal |
|
/override ci/prow/metallb-e2e-metal |
|
/hold |
|
@fedepaol: Overrode contexts on behalf of fedepaol: ci/prow/metallb-e2e-metal DetailsIn response to this:
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. |
|
@fedepaol: Overrode contexts on behalf of fedepaol: ci/prow/frrk8s-e2e-metal DetailsIn response to this:
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. |
|
/hold cancel |
|
/override ci/prow/frrk8s-e2e-metal |
|
/override ci/prow/metallb-e2e-metal |
|
@fedepaol: Overrode contexts on behalf of fedepaol: ci/prow/frrk8s-e2e-metal DetailsIn response to this:
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. |
|
@fedepaol: Overrode contexts on behalf of fedepaol: ci/prow/metallb-e2e-metal DetailsIn response to this:
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. |
|
@oribon: Jira Issue OCPBUGS-82973: Some pull requests linked via external trackers have merged: The following pull request, linked via external tracker, has not merged: All associated pull requests must be merged or unlinked from the Jira bug in order for it to move to the next state. Once unlinked, request a bug refresh with Jira Issue OCPBUGS-82973 has not been moved to the MODIFIED state. This PR is marked as verified. If the remaining PRs listed above are marked as verified before merging, the issue will automatically be moved to VERIFIED after all of the changes from the PRs are available in an accepted nightly payload. DetailsIn response to this:
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. |
|
@oribon: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. |
Is this a BUG FIX or a FEATURE ?:
What this PR does / why we need it:
Special notes for your reviewer:
Release note: