Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion docs/contributing/ci-and-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ caused a real failure that took hours to attribute:

```yaml
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24
```

Without an explicit subnet, containerlab creates a dual-stack management
Expand All @@ -132,6 +132,17 @@ the route the test's own Router Advertisement installs. Subscriber
originated IPv6 then leaves through management and dies, intermittently,
in a way that looks like a dataplane bug.

The /16 comes from `OSVBNG_LAB_MGMT_PREFIX` so a developer whose
172.20.0.0/16 is already taken by another Docker network can run the
suites on the shared `clab` network unchanged with, say,
`OSVBNG_LAB_MGMT_PREFIX=172.31`. Suites with a private management
network (`network: clab-NN`) stay on their literal 172.20 subnet: they
pin each node's `mgmt-ipv4`, and their bind-mounted RADIUS, Kea and
robot files name those addresses, which containerlab does not expand.
Moving only the subnet puts a node outside its own network and the
deploy hangs; such a suite runs elsewhere, or from a copy with every
address rewritten.

**Take the CPU slot from the environment.**

```yaml
Expand Down
2 changes: 1 addition & 1 deletion tests/01-smoke/01-smoke.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-smoke
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/02-smoke-ha/02-smoke-ha.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-smoke-ha
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/03-ipoe-local/03-ipoe-local.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ipoe-local
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/04-pppoe-local/04-pppoe-local.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-pppoe-local
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/08-cgnat-ipoe-pba/08-cgnat-ipoe-pba.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-cgnat-ipoe-pba
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/09-cgnat-ipoe-det/09-cgnat-ipoe-det.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-cgnat-ipoe-det
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/10-cgnat-pppoe-pba/10-cgnat-pppoe-pba.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-cgnat-pppoe-pba
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/11-cgnat-pppoe-det/11-cgnat-pppoe-det.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-cgnat-pppoe-det
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/12-cgnat-ha-ipoe-pba/12-cgnat-ha-ipoe-pba.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-cgnat-ha-ipoe-pba
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/13-cgnat-ha-pppoe-pba/13-cgnat-ha-pppoe-pba.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-cgnat-ha-pppoe-pba
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/14-ha-failover-ipoe/14-ha-failover-ipoe.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ha-failover-ipoe
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/15-ha-failover-pppoe/15-ha-failover-pppoe.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ha-failover-pppoe
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ha-failover-radius-ipoe
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ha-tracker-promotion-ipoe
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/18-ipoe-linux-client/18-ipoe-linux-client.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ipoe-linux-client
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ipoe-linux-client-cake
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/20-routing-policy/20-routing-policy.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-routing-policy
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/21-cli-openapi/21-cli-openapi.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-cli-openapi
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/22-mss-clamp/22-mss-clamp.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-mss-clamp
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/24-vrf-lite/24-vrf-lite.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-vrf-lite
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/25-l3vpn/25-l3vpn.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-l3vpn
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/26-dhcpv6-ldra/26-dhcpv6-ldra.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-dhcpv6-ldra
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/27-api-pagination/27-api-pagination.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-api-pagination
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/28-northbound-api-tls/28-northbound-api-tls.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-northbound-api-tls
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/30-l2tp-lns/30-l2tp-lns.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-l2tp-lns
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/31-l2tp-lac/31-l2tp-lac.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-l2tp-lac
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/32-ipoe-opdb-restore/32-ipoe-opdb-restore.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ipoe-opdb-restore
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/33-pppoe-opdb-restore/33-pppoe-opdb-restore.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-pppoe-opdb-restore
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-cgnat-restart-idempotent
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ipoe-family-disabled
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ha-graceful-ipoe
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/51-ipoe-hqos-svlan/51-ipoe-hqos-svlan.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-ipoe-hqos-svlan
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
2 changes: 1 addition & 1 deletion tests/52-pppoe-hqos-svlan/52-pppoe-hqos-svlan.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ name: osvbng-pppoe-hqos-svlan
# dual-stack network whose static v6 default route on eth0 competes
# with the test RA route and breaks subscriber-originated IPv6.
mgmt:
ipv4-subnet: 172.20.20.0/24
ipv4-subnet: ${OSVBNG_LAB_MGMT_PREFIX:=172.20}.20.0/24

topology:
nodes:
Expand Down
9 changes: 7 additions & 2 deletions tests/common.robot
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@ Library Collections
*** Variables ***
# preserve-env carries the CI runner's per-slot core assignment through
# sudo so containerlab can expand it in the topologies; unset locally,
# where the ${VAR:=auto} defaults select the auto layout.
${CLAB_BIN} sudo --preserve-env=OSVBNG_LAB_WORKER_CORES,OSVBNG_LAB_CP_CORES containerlab
# where the ${VAR:=auto} defaults select the auto layout. The management
# prefix rides the same way: topologies on the shared clab network sit
# under ${OSVBNG_LAB_MGMT_PREFIX:=172.20}, so a box where 172.20.0.0/16
# is taken by another Docker network runs those suites with the prefix
# moved, not with edited topologies. Suites with a private management
# network pin node addresses in bind-mounted configs and keep 172.20.
${CLAB_BIN} sudo --preserve-env=OSVBNG_LAB_WORKER_CORES,OSVBNG_LAB_CP_CORES,OSVBNG_LAB_MGMT_PREFIX containerlab
${runtime} docker
${OSVBNG_API_PORT} 8080
# 300 x 1s keeps the same 5-minute budget as the previous 60 x 5s but
Expand Down
Loading