DNM: test for Grout freestyle configuration - #305
Open
zeeke wants to merge 60 commits into
Open
Conversation
Bumps [github.com/apparentlymart/go-cidr](https://github.com/apparentlymart/go-cidr) from 1.1.0 to 1.1.1. - [Release notes](https://github.com/apparentlymart/go-cidr/releases) - [Commits](apparentlymart/go-cidr@v1.1.0...v1.1.1) --- updated-dependencies: - dependency-name: github.com/apparentlymart/go-cidr dependency-version: 1.1.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/open-policy-agent/cert-controller](https://github.com/open-policy-agent/cert-controller) from 0.13.0 to 0.16.0. - [Release notes](https://github.com/open-policy-agent/cert-controller/releases) - [Commits](open-policy-agent/cert-controller@v0.13.0...v0.16.0) --- updated-dependencies: - dependency-name: github.com/open-policy-agent/cert-controller dependency-version: 0.16.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Allow L2VNIs to operate without a VRF as pure L2 east-west overlays. - Skip VRF name validation and subnet overlap checks for disconnected L2VNIs (those without spec.vrf) - Split createBridge into create + ensureBridgeMaster so disconnected L2VNIs get a standalone bridge with no VRF enslavement - Skip VRF creation in setupVNI when VRF is empty - Remove the VRFName() method; replace its last caller in frr_conversion.go with a direct *l2vni.Spec.VRF dereference - Extract convertL2VNI helper from APItoHostConfig Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ram Lavi <ralavi@redhat.com>
Verify that two pods on a disconnected L2VNI (no VRF) can reach each other over L2. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ram Lavi <ralavi@redhat.com>
Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ram Lavi <ralavi@redhat.com>
Stop forcing VRF on disconnected L2VNIs
Replace the custom "lound" dummy interface with the namespace's built-in loopback interface to carry the VTEP IP address. Instead of creating and deleting a separate dummy device, the underlay now sets lo to UP and assigns/clears IP addresses on it directly. This simplifies the underlay setup, and avoids silly mistakes such as not setting `lo` to up (which is required for FRR's route import for VRFs). Reported-at: openperouter#466 Signed-off-by: Andreas Karis <ak.karis@gmail.com>
Replace lound dummy interface with namespace loopback (lo) for VTEP IP
Align EVPNConfig with RFEs 316 and 341. Rename `EVPNConfig` to `TunnelEndpointConfig` and the field from `evpn` to `tunnelEndpoint`. Replace `VTEPCIDR *string` with `CIDRs []string`. RFE: openperouter#341 RFE: openperouter#316 Signed-off-by: Andreas Karis <ak.karis@gmail.com>
API: Rename `EVPNConfig` to `TunnelEndpointConfig`
The IPFamily field for passthrough LocalNeighborV4/V6 and L3VNI LocalNeighbor is never set by production code. For passthrough, the underlay address family already has a one-to-one mapping to the BGP address family (LocalNeighborV4 -> AF IPv4, LocalNeighborV6 -> AF IPv6), so the neighborenableipfamily template invocation is a) redundant and b) its logic is actually never executed. Remove the neighborenableipfamily template calls from local_passthrough.tmpl and drop the IPFamily field from tests to match production behavior. Adjust testdata accordingly. Fixes openperouter#473 Signed-off-by: Andreas Karis <ak.karis@gmail.com>
Signed-off-by: Andreas Karis <ak.karis@gmail.com>
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: zeeke The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Log the error code and STDOUT on failure. Signed-off-by: Andreas Karis <ak.karis@gmail.com>
Assisted-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Enrique Llorente <ellorent@redhat.com>
…flector enhancement: internal iBGP route reflector on control plane nodes
zeeke
force-pushed
the
ds/grout-freestyle
branch
from
June 11, 2026 16:08
0bf7593 to
b81b860
Compare
Proposes extending OpenPERouter API to support L3VPN over Segment Routing IPv6 (SRv6). The proposal adds ISIS and SRV6 configuration fields to the Underlay CRD and introduces a new L3VPN Custom Resource Definition for managing VPN instances across Kubernetes nodes. Signed-off-by: Andreas Karis <ak.karis@gmail.com>
Member
Author
|
/hold |
zeeke
force-pushed
the
ds/grout-freestyle
branch
from
June 12, 2026 13:38
b81b860 to
3b2d2e7
Compare
This enhancement adds github.com/DPDK/grout as an optional, DPDK-accelerated data plane that runs alongside FRR as a sidecar container. Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
SRV6 enhancement proposal
zeeke
force-pushed
the
ds/grout-freestyle
branch
from
June 15, 2026 10:02
3b2d2e7 to
b86af82
Compare
The check_veths process monitors netlink events and recreates veth pairs when they are deleted. If it is still running when clean.sh destroys the containerlab topology, the namespace teardown fires RTM_DELLINK events that cause check_veths to recreate interfaces that the script is about to clean up. Move the kill to the beginning of clean.sh so the process is stopped before any teardown begins. Signed-off-by: yahlifried <yfriedla@redhat.com>
The test target requires the kind node image to exist. Without this dependency, make test fails on a fresh checkout where the image has not been built yet. Signed-off-by: yahlifried <yfriedla@redhat.com>
Source common.sh and use KIND_COMMAND, CONTAINER_ENGINE, and CONTAINER_ENGINE_CLI instead of literal 'kind' and 'docker' so the dev environment can run with alternative container engines such as Podman. Signed-off-by: yahlifried <yfriedla@redhat.com>
Add an optional systemd wait knob
fix(vrf): add unreachable routes to prevent VRF escape
L2VNIs do not have route targets (exportRTs and importRTs are always nil), so the ValidateRouteTargets call was a harmless no-op. Remove it to avoid confusion. Closes: openperouter#475 Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ram Lavi <ralavi@redhat.com>
…Targets_l2vni fix(validation): remove ValidateRouteTargets from validateL2VNI
Bump to 0.36.2 and go 1.26.4 Signed-off-by: Federico Paolinelli <fpaoline@redhat.com> Assisted-by: Claude <noreply@anthropic.com>
Bump the go version and k8s api version
operator-sdk regenerates the createdAt annotation with the current timestamp on every `make bundle` run, causing spurious diffs and merge conflicts. Restore the committed timestamp after generation so only real content changes produce a diff, and remove the workarounds in the Makefile and CI that were hiding the problem. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-Authored-By: Federico Paolinelli <fpaoline@redhat.com> Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
When an FRR daemon such as zebra crashes in a way that watchfrr cannot recover by itself, the FRR container keeps running but remains in a broken state. Add an HTTP liveness probe to the FRR container that queries the reloader's /healthz endpoint (port 9080) so that Kubernetes detects the persistent failure and restarts the pod, recovering all FRR daemons. Fixes openperouter#454 Signed-off-by: Andreas Karis <ak.karis@gmail.com> Co-authored-by: Federico Paolinelli <fpaoline@redhat.com>
cleanup: stop updating CSV createdAt timestamp
…odules/e2etests/github.com/apparentlymart/go-cidr-1.1.1 build(deps): bump github.com/apparentlymart/go-cidr from 1.1.0 to 1.1.1 in /e2etests
…odules/github.com/open-policy-agent/cert-controller-0.16.0 build(deps): bump github.com/open-policy-agent/cert-controller from 0.13.0 to 0.16.0
Add liveness probe to FRR container to detect unrecoverable daemon failures
Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
When grout datapath is enabled, no L3VNI and L2VNI resources can be admitted, as these scenarios are not supported. Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
zeeke
force-pushed
the
ds/grout-freestyle
branch
2 times, most recently
from
June 17, 2026 21:34
0f13c20 to
53a8fe6
Compare
# Conflicts: # operator/bundle/manifests/openperouter-operator.clusterserviceversion.yaml
zeeke
force-pushed
the
ds/grout-freestyle
branch
from
June 18, 2026 08:12
53a8fe6 to
595a842
Compare
Signed-off-by: Andrea Panattoni <apanatto@redhat.com>
|
PR needs rebase. 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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
do not merge
This PR is intended to create a sandbox version of the perouter where the grout commands are not executed.
This way, we can deploy an openperouter controller/router, apply the Underlay/L2VNI/L3VNI/... resources so that the FRR configuration is applied, then we can manually issue
grcli ...commands to adjust the scenario.The goal is to have an environment to speed up the test/dev cycle.
Operator image is available at the pullspec