Skip to content

Commit

Permalink
Fix fail reporting and test running
Browse files Browse the repository at this point in the history
  • Loading branch information
jmwanderer committed Jun 15, 2024
1 parent 9b8f195 commit fadd459
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 13 deletions.
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
.PHONY: test

test:
python -m unittest tests.py
PYTHONPATH=. python -m unittest mnet/tests.py
python3 -m unittest tests.py
PYTHONPATH=. python3 -m unittest mnet/tests.py


large_test: test
python -m unittest large_tests.py
python3 -m unittest large_tests.py

27 changes: 19 additions & 8 deletions mnet/frr_topo.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,20 +201,28 @@ class FrrRouter(MNetNodeWrap):
def __init__(self, name: str, default_ip: str):
super().__init__(name, default_ip)
self.no_frr = False
self.vtysh = None
self.daemons = None
self.ospf = None

def configure(self, vtysh: str, daemons: str, ospf: str) -> None:
self.vtysh = vtysh
self.daemons = daemons
self.ospf = ospf


def write_configs(self) -> None:
# Get frr config and save to frr config directory
cfg_dir = FrrRouter.CFG_DIR.format(node=self.name)
log_dir = FrrRouter.LOG_DIR.format(node=self.name)

try:
uinfo = pwd.getpwnam("frr")
except KeyError:
# Suport this for running without mininet / FRR
# Suport this for running without mininet / FRR
if self.no_frr:
print("Warning: not running FRR")
self.no_frr = True
return

uinfo = pwd.getpwnam("frr")

if not os.path.exists(cfg_dir):
# sudo install -m 775 -o frr -g frrvty -d {cfg_dir}
print(f"create {cfg_dir}")
Expand All @@ -229,17 +237,20 @@ def configure(self, vtysh: str, daemons: str, ospf: str) -> None:
os.chown(log_dir, uinfo.pw_uid, uinfo.pw_gid)

self.write_cfg_file(
f"{cfg_dir}/vtysh.conf", vtysh, uinfo.pw_uid, uinfo.pw_gid
f"{cfg_dir}/vtysh.conf", self.vtysh, uinfo.pw_uid, uinfo.pw_gid
)
self.write_cfg_file(
f"{cfg_dir}/daemons", daemons, uinfo.pw_uid, uinfo.pw_gid
f"{cfg_dir}/daemons", self.daemons, uinfo.pw_uid, uinfo.pw_gid
)
self.write_cfg_file(
f"{cfg_dir}/frr.conf", ospf, uinfo.pw_uid, uinfo.pw_gid
f"{cfg_dir}/frr.conf", self.ospf, uinfo.pw_uid, uinfo.pw_gid
)

def start(self, net: mininet.net.Mininet) -> None:
super().start(net)
if self.node is None:
self.no_frr = True
self.write_configs()
# Start frr daemons
print(f"start router {self.name}")
self.sendCmd(f"/usr/lib/frr/frrinit.sh start '{self.name}'")
Expand Down
4 changes: 2 additions & 2 deletions mnet/pmonitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ def set_can_run(db, address: str, can_run):

def get_status_count(db):
c = db.cursor()
q = c.execute("SELECT COUNT(*) FROM targets WHERE responded = TRUE")
q = c.execute("SELECT COUNT(*) FROM targets WHERE stable = TRUE AND responded = TRUE")
good_targets = q.fetchone()[0]
q = c.execute("SELECT COUNT(*) FROM targets WHERE total_count > 0")
q = c.execute("SELECT COUNT(*) FROM targets WHERE stable = TRUE AND total_count > 0")
total_targets = q.fetchone()[0]
return good_targets, total_targets

Expand Down

0 comments on commit fadd459

Please sign in to comment.