]> git.puffer.fish Git - mirror/frr.git/commitdiff
tests: Increase time for zebra_seg6local to look for sharp routes
authorDonald Sharp <sharpd@nvidia.com>
Fri, 17 Jun 2022 19:40:36 +0000 (15:40 -0400)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Wed, 29 Jun 2022 15:10:45 +0000 (15:10 +0000)
I have a test failure:
            r1.vtysh_cmd(
                "sharp install seg6local-routes {} nexthop-seg6local dum0 {} 1".format(
                    dest, context
                )
            )
            test_func = partial(
                check,
                r1,
                dest,
                manifest["out"],
            )
            success, result = topotest.run_and_expect(test_func, None, count=5, wait=1)
>           assert result is None, "Failed"
E           AssertionError: Failed
E           assert Generated JSON diff error report:
E
E             > $: d2 has the following element at index 0 which is not present in d1:
E
E              {
E                  "prefix": "1::1/128",
E                  "protocol": "sharp",
E                  "selected": true,...
E

The test output for 1::1/128:
{
  "1::1/128":[
    {
      "prefix":"1::1/128",
      "prefixLen":128,
      "protocol":"sharp",
      "vrfId":0,
      "vrfName":"default",
      "selected":true,
      "destSelected":true,
      "distance":150,
      "metric":0,
      "queued":true,
      "table":254,
      "internalStatus":8,

Notice that it is still queued after 5 seconds.  Under extremely heavy system load
this is not long enough for convergence.  Also the zebra.log shows thread starvation
as well as long running tasks
2022/06/17 15:30:02 ZEBRA: [PHJDC-499N2][EC 100663314] STARVATION: task dplane_incoming_request (55b3ce0fea8b) ran for 6369ms (cpu time 0ms)
2022/06/17 15:30:02 ZEBRA: [T83RR-8SM5G] zebra 8.4-dev starting: vty@2601
2022/06/17 15:30:02 ZEBRA: [YZRX4-ZXG0C][EC 100663315] Thread Starvation: {(thread *)0x55b3ce6c15b0 arg=0x0 timer  r=-6.375     rib_sweep_route() &zrouter.sweeper from zebra/main.c:447} was scheduled to pop greater than 4s ago

Increasing the time to 25 seconds to give it a chance.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit de448ea2e88b01b99c0a2966dbb028f0fb4cfe59)

tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py

index 0da51cc8b251cc346059c6c137417fdcff015d83..d9cca5cd93320f2a14150d3d29f8ea8fde197feb 100755 (executable)
@@ -104,7 +104,7 @@ def test_zebra_seg6local_routes():
             dest,
             manifest["out"],
         )
-        success, result = topotest.run_and_expect(test_func, None, count=5, wait=1)
+        success, result = topotest.run_and_expect(test_func, None, count=25, wait=1)
         assert result is None, "Failed"