Skip to content

Skip APPL_STATE_DB writes when FIB suppression is disabled

48d0f60
Select commit
Loading
Failed to load commit list.
Open

[swss]:Skip APPL_STATE_DB and pub/sub writes when FIB suppression is disabled #4333

Skip APPL_STATE_DB writes when FIB suppression is disabled
48d0f60
Select commit
Loading
Failed to load commit list.
Azure Pipelines / Azure.sonic-swss failed May 14, 2026 in 5h 21m 23s

Build #20260514.13 had test failures

Details

Tests

  • Failed: 5 (0.05%)
  • Passed: 9,438 (98.86%)
  • Other: 104 (1.09%)
  • Total: 9,547
Code coverage

  • 45061 of 81861 lines covered (55.05%)

Annotations

Check failure on line 12056 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / Azure.sonic-swss

Build log #L12056

Bash exited with code '2'.

Check failure on line 236602 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / Azure.sonic-swss

Build log #L236602

Bash exited with code '101'.

Check failure on line 68 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / Azure.sonic-swss

Build log #L68

Bash exited with code '1'.

Check failure on line 1 in test_InbandIntf[PortChannel5]

See this annotation in the file changed.

@azure-pipelines azure-pipelines / Azure.sonic-swss

test_InbandIntf[PortChannel5]

AssertionError: assert 1 == 0
 +  where 1 = len(('mgmt',))
Raw output
self = <test_inband_intf_mgmt_vrf.TestInbandInterface object at 0x7b0ba1c73280>
intf_name = 'PortChannel5'
dvs = <conftest.DockerVirtualSwitch object at 0x7b0ba1c72d40>, testlog = None

    @pytest.mark.parametrize('intf_name', ['Ethernet4', 'Vlan100', 'PortChannel5', 'Loopback1'])
    def test_InbandIntf(self, intf_name, dvs, testlog):
        self.setup_db(dvs)
    
>       vrf_oid = self.add_mgmt_vrf(dvs)

test_inband_intf_mgmt_vrf.py:121: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <test_inband_intf_mgmt_vrf.TestInbandInterface object at 0x7b0ba1c73280>
dvs = <conftest.DockerVirtualSwitch object at 0x7b0ba1c72d40>

    def add_mgmt_vrf(self, dvs):
        initial_entries = set(self.asic_db.get_keys("ASIC_STATE:SAI_OBJECT_TYPE_VIRTUAL_ROUTER"))
        dvs.runcmd("ip link add mgmt type vrf table 6000")
        dvs.runcmd("ifconfig mgmt up")
        time.sleep(2)
    
        # check application database
        tbl = swsscommon.Table(self.appl_db, 'VRF_TABLE')
        vrf_keys = tbl.getKeys()
>       assert len(vrf_keys) == 0
E       AssertionError: assert 1 == 0
E        +  where 1 = len(('mgmt',))

test_inband_intf_mgmt_vrf.py:24: AssertionError

Check failure on line 1 in test_InbandIntf[Loopback1]

See this annotation in the file changed.

@azure-pipelines azure-pipelines / Azure.sonic-swss

test_InbandIntf[Loopback1]

AssertionError: assert 1 == 0
 +  where 1 = len(('mgmt',))
Raw output
self = <test_inband_intf_mgmt_vrf.TestInbandInterface object at 0x7b0ba1c73310>
intf_name = 'Loopback1'
dvs = <conftest.DockerVirtualSwitch object at 0x7b0ba1c72d40>, testlog = None

    @pytest.mark.parametrize('intf_name', ['Ethernet4', 'Vlan100', 'PortChannel5', 'Loopback1'])
    def test_InbandIntf(self, intf_name, dvs, testlog):
        self.setup_db(dvs)
    
>       vrf_oid = self.add_mgmt_vrf(dvs)

test_inband_intf_mgmt_vrf.py:121: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <test_inband_intf_mgmt_vrf.TestInbandInterface object at 0x7b0ba1c73310>
dvs = <conftest.DockerVirtualSwitch object at 0x7b0ba1c72d40>

    def add_mgmt_vrf(self, dvs):
        initial_entries = set(self.asic_db.get_keys("ASIC_STATE:SAI_OBJECT_TYPE_VIRTUAL_ROUTER"))
        dvs.runcmd("ip link add mgmt type vrf table 6000")
        dvs.runcmd("ifconfig mgmt up")
        time.sleep(2)
    
        # check application database
        tbl = swsscommon.Table(self.appl_db, 'VRF_TABLE')
        vrf_keys = tbl.getKeys()
>       assert len(vrf_keys) == 0
E       AssertionError: assert 1 == 0
E        +  where 1 = len(('mgmt',))

test_inband_intf_mgmt_vrf.py:24: AssertionError

Check failure on line 1 in test_offload[disabled]

See this annotation in the file changed.

@azure-pipelines azure-pipelines / Azure.sonic-swss

test_offload[disabled]

AssertionError: Failed to configure route
assert 2 == 0
Raw output
self = <test_route.TestFpmSyncResponse object at 0x7978627c1a80>
suppress_state = 'disabled', setup = None
dvs = <conftest.DockerVirtualSwitch object at 0x7978627c0970>

    @pytest.mark.parametrize("suppress_state", ["enabled", "disabled"])
    def test_offload(self, suppress_state, setup, dvs):
        route = "1.1.1.0/24"
    
        # configure suppress-fib-pending
        rc, _ = dvs.runcmd(f"config suppress-fib-pending {suppress_state}")
        assert rc == 0, "Failed to configure suppress-fib-pending"
    
        # Container restart is used here as a quick substitute for a full config
        # reload or device reboot, which is the only supported way to apply
        # suppress-fib-pending config changes. This is intentionally unsupported
        # in production but sufficient for DVS unit test purposes.
        dvs.stop_fpmsyncd()
        dvs.stop_swss()
        dvs.start_swss()
        dvs.start_fpmsyncd()
        time.sleep(5)
    
        try:
            rc, _ = dvs.runcmd("bash -c 'kill -SIGSTOP $(pidof orchagent)'")
            assert rc == 0, "Failed to suspend orchagent"
    
            rc, _ = dvs.runcmd(f"ip route add {route} via 10.0.0.1 proto bgp")
>           assert rc == 0, "Failed to configure route"
E           AssertionError: Failed to configure route
E           assert 2 == 0

test_route.py:1103: AssertionError

Check failure on line 1 in test_offload[enabled]

See this annotation in the file changed.

@azure-pipelines azure-pipelines / Azure.sonic-swss

test_offload[enabled]

AssertionError: Failed to configure route
assert 2 == 0
Raw output
self = <test_route.TestFpmSyncResponse object at 0x7978627c1b40>
suppress_state = 'enabled', setup = None
dvs = <conftest.DockerVirtualSwitch object at 0x7978627c0970>

    @pytest.mark.parametrize("suppress_state", ["enabled", "disabled"])
    def test_offload(self, suppress_state, setup, dvs):
        route = "1.1.1.0/24"
    
        # configure suppress-fib-pending
        rc, _ = dvs.runcmd(f"config suppress-fib-pending {suppress_state}")
        assert rc == 0, "Failed to configure suppress-fib-pending"
    
        # Container restart is used here as a quick substitute for a full config
        # reload or device reboot, which is the only supported way to apply
        # suppress-fib-pending config changes. This is intentionally unsupported
        # in production but sufficient for DVS unit test purposes.
        dvs.stop_fpmsyncd()
        dvs.stop_swss()
        dvs.start_swss()
        dvs.start_fpmsyncd()
        time.sleep(5)
    
        try:
            rc, _ = dvs.runcmd("bash -c 'kill -SIGSTOP $(pidof orchagent)'")
            assert rc == 0, "Failed to suspend orchagent"
    
            rc, _ = dvs.runcmd(f"ip route add {route} via 10.0.0.1 proto bgp")
>           assert rc == 0, "Failed to configure route"
E           AssertionError: Failed to configure route
E           assert 2 == 0

test_route.py:1103: AssertionError