Skip to content

Commit

Permalink
examples: add mutest example
Browse files Browse the repository at this point in the history
  • Loading branch information
choppsv1 committed Apr 13, 2024
1 parent 314bf21 commit 3eec2bd
Show file tree
Hide file tree
Showing 11 changed files with 125 additions and 0 deletions.
48 changes: 48 additions & 0 deletions examples/mutest/munet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
version: 1

topology:
networks-autonumber: true
networks:
- name: net1
- name: net2
- name: net3
nodes:
- name: r1
kind: frr
connections: ["net1", "net2"]
- name: r2
kind: frr
connections: ["net1", "net3"]
- name: r3
kind: frr
connections: ["net2", "net3"]

kinds:
- name: frr
cap-add:
- SYS_ADMIN
- AUDIT_WRITE
cmd: |
chown frr:frr -R /var/run/frr
chown frr:frr -R /var/log/frr
/usr/lib/frr/frrinit.sh start
tail -F /var/log/frr/frr.log
# cleanup-cmd: |
# /usr/lib/frr/frrinit.sh stop
volumes:
- "./%NAME%/etc.frr:/etc/frr"
- "%RUNDIR%/var.log.frr:/var/log/frr"
- "%RUNDIR%/var.run.frr:/var/run/frr"

cli:
commands:
- name: ""
exec: "vtysh -c '{}'"
format: "[ROUTER ...] COMMAND"
help: "execute vtysh COMMAND on the router[s]"
kinds: ["frr"]
- name: "vtysh"
exec: "/usr/bin/vtysh"
format: "vtysh ROUTER [ROUTER ...]"
new-window: true
kinds: ["frr"]
35 changes: 35 additions & 0 deletions examples/mutest/mutest_ospf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# -*- coding: utf-8 eval: (blacken-mode 1) -*-
# SPDX-License-Identifier: GPL-2.0-or-later
#
# April 12 2024, Christian Hopps <chopps@labn.net>
#
# Copyright (c) 2024, LabN Consulting, L.L.C.
"""Example mutest."""
from munet.mutest.userapi import match_step
from munet.mutest.userapi import section
from munet.mutest.userapi import wait_step


section("Test to verify OSPF neighbors are up.")

wait_step(
"r1",
"vtysh -c 'show module'",
match="ospfd daemon",
desc="OSPF loaded",
)

match_step(
"r1",
"vtysh -c 'show run'",
match="router ospf",
desc="OSPF configured",
)

wait_step(
"r1",
"vtysh -c 'show ip ospf neigh'",
match="(.*Full){2,}",
timeout=15,
desc="Verify 2 Full neighbors on router r1",
)
1 change: 1 addition & 0 deletions examples/mutest/r1/etc.frr/daemons
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ospfd=1
12 changes: 12 additions & 0 deletions examples/mutest/r1/etc.frr/frr.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
log file /var/log/frr/frr.log
interface eth0
ip address 10.0.1.1/24
ip ospf dead-interval 5
ip ospf hello-interval 1
interface eth1
ip address 10.0.2.1/24
ip ospf dead-interval 5
ip ospf hello-interval 1
router ospf
ospf router-id 172.16.0.1
network 10.0.0.0/16 area 0.0.0.0
1 change: 1 addition & 0 deletions examples/mutest/r1/etc.frr/vtysh.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
service integrated-vtysh-config
1 change: 1 addition & 0 deletions examples/mutest/r2/etc.frr/daemons
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ospfd=1
12 changes: 12 additions & 0 deletions examples/mutest/r2/etc.frr/frr.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
log file /var/log/frr/frr.log
interface eth0
ip address 10.0.1.2/24
ip ospf dead-interval 5
ip ospf hello-interval 1
interface eth1
ip address 10.0.3.2/24
ip ospf dead-interval 5
ip ospf hello-interval 1
router ospf
ospf router-id 172.16.0.2
network 10.0.0.0/16 area 0.0.0.0
1 change: 1 addition & 0 deletions examples/mutest/r2/etc.frr/vtysh.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
service integrated-vtysh-config
1 change: 1 addition & 0 deletions examples/mutest/r3/etc.frr/daemons
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ospfd=1
12 changes: 12 additions & 0 deletions examples/mutest/r3/etc.frr/frr.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
log file /var/log/frr/frr.log
interface eth0
ip address 10.0.2.3/24
ip ospf dead-interval 5
ip ospf hello-interval 1
interface eth1
ip address 10.0.3.3/24
ip ospf dead-interval 5
ip ospf hello-interval 1
router ospf
ospf router-id 172.16.0.3
network 10.0.0.0/16 area 0.0.0.0
1 change: 1 addition & 0 deletions examples/mutest/r3/etc.frr/vtysh.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
service integrated-vtysh-config

0 comments on commit 3eec2bd

Please sign in to comment.