Skip to content

Commit

Permalink
Add a test plan document
Browse files Browse the repository at this point in the history
Signed-off-by: Federico Paolinelli <[email protected]>
  • Loading branch information
fedepaol committed Jun 30, 2023
1 parent c030b32 commit 0e83fed
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions design/test-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# FRR-K8s testplan

## Summary

This document lists the set of tests that will be implemented.

The baseline infrastructure for testing is the same set of external FRR containers we have in MetalLB, which
are defined for both the default VRF and an extra VRF (vrf red):

- ibgp single hop
- ebgp single hop
- ibgp multi hop
- ebgp multi hop

### Baseline tests

- Each FRR instance connects to all the external containers
- The main router is configured with multiple prefixes, we advertise them to all the neighbours via the "all"
flag
- The main router is configured with multiple prefixes, we advertise only a subset of them explicitly
- The main router is configured with multiple prefixes, we differentiate what we advertise to different neighbors
- Prefixes with communities
- Prefixes with local preferences
- Receiving all the routes
- Receiving only some routes

- Editing the configuration works
- Deleting a given configuration works

### Configuration composition

- One configuration related to one neighbor and one to another (session, advertisement)
- One configuration for the router prefixes, and the other for advertising the prefixes (all)
- One configuration for the router prefixes, and the other for advertising the prefixes (some)
- One configuration where we override the announcement list with all
- One configuration where we override the receiving list with all

### BFD

- The BFD session is established
- The session parameters are propagated

### Node selector

- We apply the configuration to a subset of the nodes
- A general configuration (to advertise), another configuration applied to a subset of the nodes

### Negative tests

Invalid configurations that should be caught by the webhooks:

- Prefixes in the neighbors but not in the router
- prefixes to be associated with local pref but not in the list of advertised ones
- prefixes to be associated with community but not in the list of advertised ones

0 comments on commit 0e83fed

Please sign in to comment.