test_pim_cbsr.py::PIMCandidateBSRTest

::startup
::init:#68:r1/pimd/vtysh[show ip pim bsr json]
::init:#78:r1/pimd/vtysh[show ip pim candidate-rp json]
::init:#68:r2/pimd/vtysh[show ip pim bsr json]
::init:#78:r2/pimd/vtysh[show ip pim candidate-rp json]
::init:#68:r3/pimd/vtysh[show ip pim bsr json]
::init:#78:r3/pimd/vtysh[show ip pim candidate-rp json]
::bsm_pickup:#84:r3/scapy[r3-lan1/IP/PIM_Hdr/PIM_Bootstrap]
::bsm_pickup:#93:r1/pimd/vtysh[show ip pim bsr json]
::bsm_pickup:#93:r2/pimd/vtysh[show ip pim bsr json]
::test_crp_ap:#106:r1/pimd/vtysh[show ip pim candidate-rp json]
::send_bsm2:#118:r3/scapy[r3-lan1/IP/PIM_Hdr/PIM_Bootstrap]
::shutdown

::startup

passed after 0.92s
('test_pim_cbsr.py', -inf, 'startup')

::init

::init:#68:r1/pimd/vtysh[show ip pim bsr json]

passed after 0.00s, CLI command: show ip pim bsr json
Expected output:
{'state': 'NO_INFO'}
('test_pim_cbsr.py', 68, '#68:r1/pimd/vtysh[show ip pim bsr json]')

::init:#78:r1/pimd/vtysh[show ip pim candidate-rp json]

failed after 8.00s, CLI command: show ip pim candidate-rp json
('test_pim_cbsr.py', 78, '#78:r1/pimd/vtysh[show ip pim candidate-rp json]')
self = <test_pim_cbsr.PIMCandidateBSRTest object at 0x7fd223d114d0>, topo = <topotato.toponom.Network object at 0x7fd223d22f50>, r1 = <Router 1 "r1">, r2 = <Router 2 "r2">
r3 = <Router 3 "r3">

    @topotatofunc
    def init(self, topo, r1, r2, r3):
        for rtr in [r1, r2, r3]:
            yield from AssertVtysh.make(
                rtr,
                "pimd",
                "show ip pim bsr json",
                {
                    "state": "NO_INFO",
                },
                maxwait=8.0,
            )
    
>           yield from AssertVtysh.make(
                rtr, "pimd", "show ip pim candidate-rp json", {}, maxwait=8.0
            )
E           topotato.exceptions.TopotatoCLIUnsuccessfulFail: vtysh return value 2

/home/equinox/python/topotato/test_pim_cbsr.py:78: TopotatoCLIUnsuccessfulFail

::init:#68:r2/pimd/vtysh[show ip pim bsr json]

passed after 0.00s, CLI command: show ip pim bsr json
Expected output:
{'state': 'NO_INFO'}
('test_pim_cbsr.py', 68, '#68:r2/pimd/vtysh[show ip pim bsr json]')

::init:#78:r2/pimd/vtysh[show ip pim candidate-rp json]

failed after 0.00s, CLI command: show ip pim candidate-rp json
('test_pim_cbsr.py', 78, '#78:r2/pimd/vtysh[show ip pim candidate-rp json]')
self = <test_pim_cbsr.PIMCandidateBSRTest object at 0x7fd223d114d0>, topo = <topotato.toponom.Network object at 0x7fd223d22f50>, r1 = <Router 1 "r1">, r2 = <Router 2 "r2">
r3 = <Router 3 "r3">

    @topotatofunc
    def init(self, topo, r1, r2, r3):
        for rtr in [r1, r2, r3]:
            yield from AssertVtysh.make(
                rtr,
                "pimd",
                "show ip pim bsr json",
                {
                    "state": "NO_INFO",
                },
                maxwait=8.0,
            )
    
>           yield from AssertVtysh.make(
                rtr, "pimd", "show ip pim candidate-rp json", {}, maxwait=8.0
            )
E           topotato.exceptions.TopotatoCLIUnsuccessfulFail: vtysh return value 2

/home/equinox/python/topotato/test_pim_cbsr.py:78: TopotatoCLIUnsuccessfulFail

::init:#68:r3/pimd/vtysh[show ip pim bsr json]

passed after 0.00s, CLI command: show ip pim bsr json
Expected output:
{'state': 'NO_INFO'}
('test_pim_cbsr.py', 68, '#68:r3/pimd/vtysh[show ip pim bsr json]')

::init:#78:r3/pimd/vtysh[show ip pim candidate-rp json]

failed after 0.00s, CLI command: show ip pim candidate-rp json
('test_pim_cbsr.py', 78, '#78:r3/pimd/vtysh[show ip pim candidate-rp json]')
self = <test_pim_cbsr.PIMCandidateBSRTest object at 0x7fd223d114d0>, topo = <topotato.toponom.Network object at 0x7fd223d22f50>, r1 = <Router 1 "r1">, r2 = <Router 2 "r2">
r3 = <Router 3 "r3">

    @topotatofunc
    def init(self, topo, r1, r2, r3):
        for rtr in [r1, r2, r3]:
            yield from AssertVtysh.make(
                rtr,
                "pimd",
                "show ip pim bsr json",
                {
                    "state": "NO_INFO",
                },
                maxwait=8.0,
            )
    
>           yield from AssertVtysh.make(
                rtr, "pimd", "show ip pim candidate-rp json", {}, maxwait=8.0
            )
E           topotato.exceptions.TopotatoCLIUnsuccessfulFail: vtysh return value 2

/home/equinox/python/topotato/test_pim_cbsr.py:78: TopotatoCLIUnsuccessfulFail

::bsm_pickup

::bsm_pickup:#84:r3/scapy[r3-lan1/IP/PIM_Hdr/PIM_Bootstrap]

passed after 0.07s, packet: Ether / None > 224.0.0.13 pim / PIM_Hdr / PIM_Bootstrap
###[ Ethernet ]### 
  dst       = 01:00:5e:00:00:0d
  src       = None
  type      = IPv4
###[ IP ]### 
     version   = 4
     ihl       = None
     tos       = 0x0
     len       = None
     id        = 1
     flags     = 
     frag      = 0
     ttl       = 1
     proto     = pim
     chksum    = None
     src       = None
     dst       = 224.0.0.13
     \options   \
###[ PIM Header ]### 
        version   = 2
        type      = Bootstrap
        reserved  = 0
        chksum    = None
###[ PIM Bootstrap ]### 
           fragmenttag= None
           hashmasklen= 24
           priority  = 64
           address   = '10.101.0.3'
           \groups    \

::bsm_pickup:#93:r1/pimd/vtysh[show ip pim bsr json]

passed after 0.00s, CLI command: show ip pim bsr json
Expected output:
{'bsr': '10.101.0.3', 'state': 'ACCEPT_PREFERRED'}
('test_pim_cbsr.py', 93, '#93:r1/pimd/vtysh[show ip pim bsr json]')

::bsm_pickup:#93:r2/pimd/vtysh[show ip pim bsr json]

passed after 0.00s, CLI command: show ip pim bsr json
Expected output:
{'bsr': '10.101.0.3', 'state': 'ACCEPT_PREFERRED'}
('test_pim_cbsr.py', 93, '#93:r2/pimd/vtysh[show ip pim bsr json]')

::test_crp_ap

::test_crp_ap:#106:r1/pimd/vtysh[show ip pim candidate-rp json]

failed after 8.00s, CLI command: show ip pim candidate-rp json
Expected output:
{'address': '10.255.0.1'}
('test_pim_cbsr.py', 106, '#106:r1/pimd/vtysh[show ip pim candidate-rp json]')
self = <test_pim_cbsr.PIMCandidateBSRTest object at 0x7fd223d114d0>, topo = <topotato.toponom.Network object at 0x7fd223d22f50>, r1 = <Router 1 "r1">

    @topotatofunc
    def test_crp_ap(self, topo, r1):
>       yield from AssertVtysh.make(
            r1,
            "pimd",
            "show ip pim candidate-rp json",
            maxwait=8.0,
            compare={
                "address": str(r1.lo_ip4[0].ip),
            },
        )
E       topotato.exceptions.TopotatoCLIUnsuccessfulFail: vtysh return value 2

/home/equinox/python/topotato/test_pim_cbsr.py:106: TopotatoCLIUnsuccessfulFail

::send_bsm2

::send_bsm2:#118:r3/scapy[r3-lan1/IP/PIM_Hdr/PIM_Bootstrap]

passed after 0.05s, packet: Ether / None > 224.0.0.13 pim / PIM_Hdr / PIM_Bootstrap
###[ Ethernet ]### 
  dst       = 01:00:5e:00:00:0d
  src       = None
  type      = IPv4
###[ IP ]### 
     version   = 4
     ihl       = None
     tos       = 0x0
     len       = None
     id        = 1
     flags     = 
     frag      = 0
     ttl       = 1
     proto     = pim
     chksum    = None
     src       = None
     dst       = 224.0.0.13
     \options   \
###[ PIM Header ]### 
        version   = 2
        type      = Bootstrap
        reserved  = 0
        chksum    = None
###[ PIM Bootstrap ]### 
           fragmenttag= None
           hashmasklen= 24
           priority  = 64
           address   = '10.101.0.3'
           \groups    \

::shutdown

passed after 3.10s
('test_pim_cbsr.py', inf, 'shutdown')
net router-r1 r1 10.255.0.1/32 fd00::1/128 r1-lan1 fe:01:00:bc:01:00 10.101.0.1/16 fdbc:1::fc01:ff:febc:100/64 lan-lan1 lan1 10.101.0.0/16 fdbc:1::/64 router-r1:r1-lan1--lan-lan1 router-r2 r2 10.255.0.2/32 fd00::2/128 r2-lan1 fe:02:00:bc:01:00 10.101.0.2/16 fdbc:1::fc02:ff:febc:100/64 router-r2:r2-lan1--lan-lan1 router-r3 r3 10.255.0.3/32 fd00::3/128 r3-lan1 fe:03:00:bc:01:00 10.101.0.3/16 fdbc:1::fc03:ff:febc:100/64 router-r3:r3-lan1--lan-lan1