tests: mgmtd: add prologue to bigconf tests

Signed-off-by: Christian Hopps <chopps@labn.net>
This commit is contained in:
Christian Hopps 2023-06-04 17:48:08 -04:00
parent 4285bdadcc
commit ee235c606f
3 changed files with 24 additions and 4 deletions

View File

@ -42,8 +42,10 @@ def tgen(request):
tgen = Topogen(topodef, request.module.__name__) tgen = Topogen(topodef, request.module.__name__)
tgen.start_topology() tgen.start_topology()
prologue = open(f"{CWD}/r1/mgmtd.conf").read()
confpath = f"{tgen.gears['r1'].gearlogdir}/r1-late-big.conf" confpath = f"{tgen.gears['r1'].gearlogdir}/r1-late-big.conf"
start, end = write_big_route_conf("10.0.0.0/8", ROUTE_COUNT, confpath) start, end = write_big_route_conf("10.0.0.0/8", ROUTE_COUNT, confpath, prologue)
ROUTE_RANGE[0] = start ROUTE_RANGE[0] = start
ROUTE_RANGE[1] = end ROUTE_RANGE[1] = end

View File

@ -42,8 +42,10 @@ def tgen(request):
tgen = Topogen(topodef, request.module.__name__) tgen = Topogen(topodef, request.module.__name__)
tgen.start_topology() tgen.start_topology()
prologue = open(f"{CWD}/r1/mgmtd.conf").read()
confpath = f"{tgen.gears['r1'].gearlogdir}/r1-late-big.conf" confpath = f"{tgen.gears['r1'].gearlogdir}/r1-late-big.conf"
start, end = write_big_route_conf("10.0.0.0/8", ROUTE_COUNT, confpath) start, end = write_big_route_conf("10.0.0.0/8", ROUTE_COUNT, confpath, prologue)
ROUTE_RANGE[0] = start ROUTE_RANGE[0] = start
ROUTE_RANGE[1] = end ROUTE_RANGE[1] = end
@ -74,9 +76,23 @@ def test_staticd_latestart(tgen):
assert result is not None, "last route present and should not be" assert result is not None, "last route present and should not be"
step("Starting staticd") step("Starting staticd")
t2 = Timeout(0)
r1.startDaemons(["staticd"]) r1.startDaemons(["staticd"])
result = check_kernel(r1, ROUTE_RANGE[0], retry_timeout=60) result = check_kernel(r1, ROUTE_RANGE[0], retry_timeout=60)
assert result is None, "first route not present and should be" assert result is None, "first route not present and should be"
result = check_kernel(r1, ROUTE_RANGE[1], retry_timeout=60) logging.info("r1: elapsed time for first route %ss", t2.elapsed())
count = 0
ocount = 0
while count < ROUTE_COUNT:
rc, o, e = r1.net.cmd_status("ip -o route | wc -l")
if not rc:
if count > ocount + 100:
ocount = count
logging.info("r1: elapsed time for %d routes %s", count, t2.elapsed())
count = int(o)
result = check_kernel(r1, ROUTE_RANGE[1], retry_timeout=1200)
assert result is None, "last route not present and should be" assert result is None, "last route not present and should be"
logging.info("r1: elapsed time for last route %ss", t2.elapsed())

View File

@ -50,11 +50,13 @@ def get_ip_networks(super_prefix, count):
return tuple(network.subnets(count_log2))[0:count] return tuple(network.subnets(count_log2))[0:count]
def write_big_route_conf(super_prefix, count, confpath): def write_big_route_conf(super_prefix, count, confpath, prologue=""):
start = None start = None
end = None end = None
with open(confpath, "w+", encoding="ascii") as f: with open(confpath, "w+", encoding="ascii") as f:
if prologue:
f.write(prologue + "\n")
for net in get_ip_networks(super_prefix, count): for net in get_ip_networks(super_prefix, count):
end = net end = net
if not start: if not start: