diff --git a/suzieq/cli/sqcmds/DevconfigCmd.py b/suzieq/cli/sqcmds/DevconfigCmd.py index 1d726a6855..f1f959614a 100644 --- a/suzieq/cli/sqcmds/DevconfigCmd.py +++ b/suzieq/cli/sqcmds/DevconfigCmd.py @@ -1,10 +1,12 @@ -from nubia import command +from nubia import command, argument from suzieq.cli.sqcmds.command import SqTableCommand from suzieq.sqobjects.devconfig import DevconfigObj @command("devconfig", help="Act on device data") +@argument("section", + description="show device config only for this regex match") class DevconfigCmd(SqTableCommand): """Device configurations""" @@ -19,6 +21,7 @@ def __init__( format: str = "", # pylint: disable=redefined-builtin query_str: str = " ", columns: str = "default", + section: str = '', ) -> None: super().__init__( engine=engine, @@ -33,10 +36,12 @@ def __init__( sqobj=DevconfigObj, ) + self.lvars['section'] = section + @command("show", help="Show device information") def show(self): """Show device config info """ if not self.format or (self.format == 'text'): - self.format = 'devconfig' + self.format = 'markdown' return super().show() diff --git a/suzieq/config/schema/devconfig.avsc b/suzieq/config/schema/devconfig.avsc index 17209e1e00..3a44bebc81 100644 --- a/suzieq/config/schema/devconfig.avsc +++ b/suzieq/config/schema/devconfig.avsc @@ -14,7 +14,7 @@ { "name": "config", "type": "string", - "display": 1, + "display": 2, "description": "The running config" }, { @@ -42,7 +42,7 @@ { "name": "timestamp", "type": "timestamp", - "display": 2, + "display": 3, "description": "Unix epach When this record was created, in ms" }, { diff --git a/suzieq/engines/pandas/devconfig.py b/suzieq/engines/pandas/devconfig.py index a1f9300142..05a2dd1b98 100644 --- a/suzieq/engines/pandas/devconfig.py +++ b/suzieq/engines/pandas/devconfig.py @@ -1,3 +1,7 @@ +from typing import List + +from ciscoconfparse import CiscoConfParse + from suzieq.engines.pandas.engineobj import SqPandasEngine @@ -8,3 +12,52 @@ class DevconfigObj(SqPandasEngine): def table_name(): '''Table name''' return 'devconfig' + + def get(self, **kwargs): + '''Retrieve the devconfig table info''' + + section = kwargs.pop('section', None) + columns = kwargs.pop('columns', ['default']) + query_str = kwargs.pop('query_str', '') + + df = super().get(columns=columns, **kwargs) + if df.empty or 'error' in df.columns: + return df + + if not section: + if query_str: + df = df.query(query_str).reset_index(drop=True) + return df + + devdf = self._get_table_sqobj('device') \ + .get(columns=['namespace', 'hostname', 'os'], **kwargs) + + if devdf.empty or 'error' in devdf.columns: + return df + + drop_indices: List[int] = [] + for index, row in enumerate(df.itertuples()): + os = devdf.loc[(devdf['hostname'] == row.hostname) & + (devdf['namespace'] == row.namespace), + 'os'].values[0] + if os.startswith('junos') or os == 'panos': + os = 'junos' + elif os == 'nxos': + os = 'nxos' + else: + os = 'ios' + + parsed_conf = CiscoConfParse(row.config.split('\n'), syntax=os) + conf = '\n'.join(parsed_conf.find_all_children(section)) + if not conf: + drop_indices.append(index) + else: + df.loc[index, 'config'] = conf + + if drop_indices: + df = df.drop(index=drop_indices) + + if query_str: + df = df.query(query_str).reset_index(drop=True) + + return df diff --git a/suzieq/restServer/query.py b/suzieq/restServer/query.py index 5c805f04f1..b004ba3030 100755 --- a/suzieq/restServer/query.py +++ b/suzieq/restServer/query.py @@ -381,6 +381,7 @@ def query_devconfig(verb: CommonVerbs, request: Request, view: ViewValues = "latest", namespace: List[str] = Query(None), columns: List[str] = Query(default=["default"]), + section: str = Query(None), query_str: str = None, what: str = None, count: str = None, reverse: str = None, diff --git a/suzieq/sqobjects/devconfig.py b/suzieq/sqobjects/devconfig.py index ab8257d1f4..1ddb0ee9ed 100644 --- a/suzieq/sqobjects/devconfig.py +++ b/suzieq/sqobjects/devconfig.py @@ -8,7 +8,7 @@ class DevconfigObj(SqObject): def __init__(self, **kwargs): super().__init__(table='devconfig', **kwargs) self._valid_get_args = ['namespace', 'hostname', 'columns', - 'query_str'] + 'query_str', 'section'] def unique(self, **kwargs) -> pd.DataFrame: return pd.DataFrame( diff --git a/tests/integration/sqcmds/common-samples/describe.yml b/tests/integration/sqcmds/common-samples/describe.yml index 6acc453630..be6f1672fd 100644 --- a/tests/integration/sqcmds/common-samples/describe.yml +++ b/tests/integration/sqcmds/common-samples/describe.yml @@ -138,14 +138,14 @@ tests: marks: devconfig describe output: '[{"name": "active", "type": "boolean", "key": "", "display": "", "description": "If this entry is active or deleted"}, {"name": "config", "type": "string", "key": - "", "display": 1, "description": "The running config"}, {"name": "deviceSession", + "", "display": 2, "description": "The running config"}, {"name": "deviceSession", "type": "timestamp", "key": "", "display": "", "description": "Device boot session id"}, {"name": "hostname", "type": "string", "key": 1, "display": 1, "description": "Hostname associated with this record"}, {"name": "namespace", "type": "string", "key": 0, "display": 0, "description": "Namespace associated with this record"}, {"name": "sqvers", "type": "string", "key": "", "display": "", "description": "Schema version, not selectable"}, {"name": "timestamp", "type": "timestamp", - "key": "", "display": 2, "description": "Unix epach When this record was created, + "key": "", "display": 3, "description": "Unix epach When this record was created, in ms"}]' - command: device describe --format=json data-directory: tests/data/parquet diff --git a/tests/integration/sqcmds/cumulus-samples/devconfig.yml b/tests/integration/sqcmds/cumulus-samples/devconfig.yml index cd14b4b2e1..3f3242530b 100644 --- a/tests/integration/sqcmds/cumulus-samples/devconfig.yml +++ b/tests/integration/sqcmds/cumulus-samples/devconfig.yml @@ -3,13 +3,13 @@ tests: - command: devconfig show --format=json --namespace='ospf-single dual-evpn ospf-ibgp' data-directory: tests/data/parquet/ marks: devconfig show cumulus - output: '[{"namespace": "ospf-ibgp", "config": "# hostname\nspine02\n# interfaces\nauto - all\n\niface lo inet loopback\n\n# Management interface\n\niface eth0 inet dhcp\n vrf - mgmt\n\niface mgmt\n address 127.0.0.1/8\n vrf-table auto\n\n# downlinks\niface - swp1\n mtu 9216\niface swp2\n mtu 9216\niface swp3\n mtu 9216\niface - swp4\n mtu 9216\niface swp5\n mtu 9216\niface swp6\n mtu 9216\n\nBuilding - configuration...\n\nCurrent configuration:\n!\nfrr version 7.4+cl4.2.1u1\nfrr - defaults datacenter\nhostname spine02\nservice integrated-vtysh-config\n!\ninterface + output: '[{"namespace": "ospf-ibgp", "hostname": "spine02", "config": "# hostname\nspine02\n# + interfaces\nauto all\n\niface lo inet loopback\n\n# Management interface\n\niface + eth0 inet dhcp\n vrf mgmt\n\niface mgmt\n address 127.0.0.1/8\n vrf-table + auto\n\n# downlinks\niface swp1\n mtu 9216\niface swp2\n mtu 9216\niface + swp3\n mtu 9216\niface swp4\n mtu 9216\niface swp5\n mtu 9216\niface + swp6\n mtu 9216\n\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr + version 7.4+cl4.2.1u1\nfrr defaults datacenter\nhostname spine02\nservice integrated-vtysh-config\n!\ninterface lo\n ip address 10.0.0.21/32\n ip ospf area 0\n!\ninterface swp1\n ip address 10.0.0.21/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface swp2\n ip address 10.0.0.21/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface @@ -27,10 +27,10 @@ tests: ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.21\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver - 192.168.123.1 # vrf mgmt", "hostname": "spine02", "timestamp": 1622008051074}, - {"namespace": "ospf-ibgp", "config": "# hostname\ninternet\n# interfaces\nauto - lo\niface lo inet loopback\n\nauto eth0\niface eth0 inet dhcp\n\nauto swp1\niface - swp1\n\nauto swp2\niface swp2\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr + 192.168.123.1 # vrf mgmt", "timestamp": 1622008051074}, {"namespace": "ospf-ibgp", + "hostname": "internet", "config": "# hostname\ninternet\n# interfaces\nauto lo\niface + lo inet loopback\n\nauto eth0\niface eth0 inet dhcp\n\nauto swp1\niface swp1\n\nauto + swp2\niface swp2\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr version 7.4+cl4.2.1u1\nfrr defaults datacenter\nhostname internet\nlog syslog informational\nservice integrated-vtysh-config\n!\ninterface lo\n ip address 10.0.0.253/32\n ip address 172.16.253.1/32\n!\ninterface swp1\n ip address 169.254.127.0/31\n!\ninterface @@ -41,9 +41,9 @@ tests: ipv4 unicast\n redistribute connected route-map LOOPBACKS\n neighbor ISL activate\n neighbor ISL default-originate\n exit-address-family\n!\nroute-map LOOPBACKS permit 10\n match interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver - 192.168.123.1", "hostname": "internet", "timestamp": 1622008051293}, {"namespace": - "ospf-ibgp", "config": "# hostname\nleaf01\n# interfaces\nauto all\n\niface lo - inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip 10.0.0.11\n clagd-vxlan-anycast-ip + 192.168.123.1", "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", "hostname": + "leaf01", "config": "# hostname\nleaf01\n# interfaces\nauto all\n\niface lo inet + loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip 10.0.0.11\n clagd-vxlan-anycast-ip 10.0.0.112\n\niface mgmt\n address 127.0.0.1/8\n vrf-table auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n# uplinks\niface swp1\n mtu 9216\n\niface swp2\n mtu 9216\n\n# uplinks\niface swp3\n mtu 9000\n post-up ip link set promisc on dev @@ -82,19 +82,19 @@ tests: RR\n !\n address-family ipv4 unicast\n maximum-paths ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.11\n passive-interface lo\n!\nline vty\n!\nend\n# - ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "hostname": "leaf01", - "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", "config": "# hostname\nexit01\n# - interfaces\nauto all\n\niface lo inet loopback\n\taddress 10.0.0.101/32\n\tvxlan-local-tunnelip - 10.0.0.101\n\niface eth0 inet dhcp\n\tvrf mgmt\n\niface evpn-vrf\n\taddress 10.0.0.101/32\n\tvrf-table - auto\n\niface mgmt\n\taddress 127.0.0.1/8\n\tvrf-table auto\n\niface internet-vrf\n\taddress - 10.0.0.101/32\n\tvrf-table auto\n\niface bridge\n\tbridge-vlan-aware yes\n\tbridge-vids - 4001\n\tbridge-ports vxlan4001\n\niface vlan4001\n mtu 9216\n\tvlan-id - 4001\n\tvlan-raw-device bridge\n\tvrf evpn-vrf\n\niface swp1\n mtu 9216\n\niface - swp2\n mtu 9216\n\niface swp5\n\niface swp5.2\n\niface swp5.3\n\tvrf evpn-vrf\n\niface - swp5.4\n\tvrf internet-vrf\n\niface swp6\n\tvrf internet-vrf\n\niface vxlan4001\n mtu - 9216\n\tvxlan-id 104001\n\tbridge-learning off\n\tbridge-access 4001\n\nBuilding - configuration...\n\nCurrent configuration:\n!\nfrr version 7.4+cl4.2.1u1\nfrr - defaults datacenter\nhostname exit01\nservice integrated-vtysh-config\n!\nvrf + ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "timestamp": + 1622008051293}, {"namespace": "ospf-ibgp", "hostname": "exit01", "config": "# + hostname\nexit01\n# interfaces\nauto all\n\niface lo inet loopback\n\taddress + 10.0.0.101/32\n\tvxlan-local-tunnelip 10.0.0.101\n\niface eth0 inet dhcp\n\tvrf + mgmt\n\niface evpn-vrf\n\taddress 10.0.0.101/32\n\tvrf-table auto\n\niface mgmt\n\taddress + 127.0.0.1/8\n\tvrf-table auto\n\niface internet-vrf\n\taddress 10.0.0.101/32\n\tvrf-table + auto\n\niface bridge\n\tbridge-vlan-aware yes\n\tbridge-vids 4001\n\tbridge-ports + vxlan4001\n\niface vlan4001\n mtu 9216\n\tvlan-id 4001\n\tvlan-raw-device + bridge\n\tvrf evpn-vrf\n\niface swp1\n mtu 9216\n\niface swp2\n mtu 9216\n\niface + swp5\n\niface swp5.2\n\niface swp5.3\n\tvrf evpn-vrf\n\niface swp5.4\n\tvrf internet-vrf\n\niface + swp6\n\tvrf internet-vrf\n\niface vxlan4001\n mtu 9216\n\tvxlan-id 104001\n\tbridge-learning + off\n\tbridge-access 4001\n\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr + version 7.4+cl4.2.1u1\nfrr defaults datacenter\nhostname exit01\nservice integrated-vtysh-config\n!\nvrf evpn-vrf\n vni 104001\n exit-vrf\n!\ninterface swp1\n ip address 10.0.0.101/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface swp2\n ip address 10.0.0.101/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface @@ -117,19 +117,19 @@ tests: neighbor swp5.4 interface peer-group EDGE\n neighbor swp6 interface peer-group EDGE\n !\n address-family ipv4 unicast\n neighbor EDGE activate\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.101\n passive-interface lo\n!\nline vty\n!\nend\n# - ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "hostname": "exit01", - "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "config": "# hostname\nexit02\n# - interfaces\nauto all\n\niface lo inet loopback\n\taddress 10.0.0.102/32\n\tvxlan-local-tunnelip - 10.0.0.102\n\niface eth0 inet dhcp\n\tvrf mgmt\n\niface evpn-vrf\n\taddress 10.0.0.102/32\n\tvrf-table - auto\n\niface mgmt\n\taddress 127.0.0.1/8\n\tvrf-table auto\n\niface internet-vrf\n\taddress - 10.0.0.102/32\n\tvrf-table auto\n\niface bridge\n\tbridge-vlan-aware yes\n\tbridge-vids - 4001\n\tbridge-ports vxlan4001\n\niface vlan4001\n mtu 9216\n\tvlan-id - 4001\n\tvlan-raw-device bridge\n\tvrf evpn-vrf\n\niface swp1\n mtu 9216\n\niface - swp2\n mtu 9216\n\niface swp5\n\niface swp5.2\n\niface swp5.3\n\tvrf evpn-vrf\n\niface - swp5.4\n\tvrf internet-vrf\n\niface swp6\n\tvrf internet-vrf\n\niface vxlan4001\n mtu - 9216\n\tvxlan-id 104001\n\tbridge-learning off\n\tbridge-access 4001\n\nBuilding - configuration...\n\nCurrent configuration:\n!\nfrr version 7.4+cl4.2.1u1\nfrr - defaults datacenter\nhostname exit02\nservice integrated-vtysh-config\n!\nvrf + ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "timestamp": + 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "exit02", "config": "# + hostname\nexit02\n# interfaces\nauto all\n\niface lo inet loopback\n\taddress + 10.0.0.102/32\n\tvxlan-local-tunnelip 10.0.0.102\n\niface eth0 inet dhcp\n\tvrf + mgmt\n\niface evpn-vrf\n\taddress 10.0.0.102/32\n\tvrf-table auto\n\niface mgmt\n\taddress + 127.0.0.1/8\n\tvrf-table auto\n\niface internet-vrf\n\taddress 10.0.0.102/32\n\tvrf-table + auto\n\niface bridge\n\tbridge-vlan-aware yes\n\tbridge-vids 4001\n\tbridge-ports + vxlan4001\n\niface vlan4001\n mtu 9216\n\tvlan-id 4001\n\tvlan-raw-device + bridge\n\tvrf evpn-vrf\n\niface swp1\n mtu 9216\n\niface swp2\n mtu 9216\n\niface + swp5\n\niface swp5.2\n\niface swp5.3\n\tvrf evpn-vrf\n\niface swp5.4\n\tvrf internet-vrf\n\niface + swp6\n\tvrf internet-vrf\n\niface vxlan4001\n mtu 9216\n\tvxlan-id 104001\n\tbridge-learning + off\n\tbridge-access 4001\n\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr + version 7.4+cl4.2.1u1\nfrr defaults datacenter\nhostname exit02\nservice integrated-vtysh-config\n!\nvrf evpn-vrf\n vni 104001\n exit-vrf\n!\ninterface swp1\n ip address 10.0.0.102/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface swp2\n ip address 10.0.0.102/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface @@ -153,36 +153,36 @@ tests: neighbor swp5.4 interface peer-group EDGE\n neighbor swp6 interface peer-group EDGE\n !\n address-family ipv4 unicast\n neighbor EDGE activate\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.102\n passive-interface lo\n!\nline vty\n!\nend\n# - ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "hostname": "exit02", - "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "config": "# hostname\nleaf02\n# - interfaces\nauto all\n\niface lo inet loopback\n address 10.0.0.12/32\n vxlan-local-tunnelip - 10.0.0.12\n clagd-vxlan-anycast-ip 10.0.0.112\n\n\niface mgmt\n address 127.0.0.1/8\n vrf-table - auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n\n# uplinks\niface swp1\n mtu 9216\n \niface - swp2\n mtu 9216\n\n# uplinks\niface swp3\n mtu 9000\n post-up ip link set promisc - on dev swp3\n \n\niface swp4\n mtu 9000\n post-up ip link set promisc on dev - swp4\n\niface peerlink\n mtu 9000\n bond-slaves swp3 swp4\n\niface peerlink.4094\n address - 169.254.1.2/30\n clagd-peer-ip 169.254.1.1\n clagd-backup-ip 10.0.0.11\n clagd-sys-mac - 44:39:39:ff:40:94\n clagd-priority 200\n\n# bridge to hosts\niface swp5\n mtu - 9000\n post-up ip link set promisc on dev swp5\n\niface swp6\n mtu 9000\n post-up - ip link set promisc on dev swp6\n\niface bond01\n mtu 9000\n bond-slaves swp5\n bridge-access - 13\n clag-id 1\n\niface bond02\n mtu 9000\n bond-slaves swp6\n bridge-access - 24\n clag-id 2\n\n# Define the bridge for STP\niface bridge\n bridge-vlan-aware - yes\n # bridge-ports includes all ports related to VxLAN and CLAG.\n # does - not include the Peerlink.4094 subinterface\n bridge-ports bond01 bond02 peerlink - vni13 vni24 vxlan4001\n bridge-vids 13 24\n\n# VxLAN Tunnel for Server1-Server3 - (Vlan 13)\niface vni13\n mtu 9000\n vxlan-id 13\n bridge-access 13\n bridge-learning - off\n\n#VxLAN Tunnel for Server2-Server4 (Vlan 24)\niface vni24\n mtu 9000\n vxlan-id - 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress on\n\niface - vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning off\n bridge-access - 4001\n\niface evpn-vrf\n vrf-table auto\n\n#Tenant SVIs - anycast GW\n\niface - vlan13\n mtu 9000\n address 172.16.1.12/24\n address-virtual 44:39:39:ff:00:13 - 172.16.1.1/24\n vlan-id 13\n vlan-raw-device bridge\n vrf evpn-vrf\n\niface - vlan24\n mtu 9000\n address 172.16.2.12/24\n address-virtual 44:39:39:ff:00:24 - 172.16.2.1/24\n vlan-id 24\n vlan-raw-device bridge\n vrf evpn-vrf\n\n#L3 - VLAN interface per tenant (for L3 VNI)\n\niface vlan4001\n mtu 9216\n hwaddress - 44:39:39:ff:40:94\n vlan-id 4001\n vlan-raw-device bridge\n vrf evpn-vrf\n\nBuilding - configuration...\n\nCurrent configuration:\n!\nfrr version 7.4+cl4.2.1u1\nfrr - defaults datacenter\nhostname leaf02\nservice integrated-vtysh-config\n!\nvrf + ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "timestamp": + 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "leaf02", "config": "# + hostname\nleaf02\n# interfaces\nauto all\n\niface lo inet loopback\n address + 10.0.0.12/32\n vxlan-local-tunnelip 10.0.0.12\n clagd-vxlan-anycast-ip 10.0.0.112\n\n\niface + mgmt\n address 127.0.0.1/8\n vrf-table auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n\n# + uplinks\niface swp1\n mtu 9216\n \niface swp2\n mtu 9216\n\n# uplinks\niface + swp3\n mtu 9000\n post-up ip link set promisc on dev swp3\n \n\niface swp4\n mtu + 9000\n post-up ip link set promisc on dev swp4\n\niface peerlink\n mtu 9000\n bond-slaves + swp3 swp4\n\niface peerlink.4094\n address 169.254.1.2/30\n clagd-peer-ip 169.254.1.1\n clagd-backup-ip + 10.0.0.11\n clagd-sys-mac 44:39:39:ff:40:94\n clagd-priority 200\n\n# bridge + to hosts\niface swp5\n mtu 9000\n post-up ip link set promisc on dev swp5\n\niface + swp6\n mtu 9000\n post-up ip link set promisc on dev swp6\n\niface bond01\n mtu + 9000\n bond-slaves swp5\n bridge-access 13\n clag-id 1\n\niface bond02\n mtu + 9000\n bond-slaves swp6\n bridge-access 24\n clag-id 2\n\n# Define the bridge + for STP\niface bridge\n bridge-vlan-aware yes\n # bridge-ports includes all + ports related to VxLAN and CLAG.\n # does not include the Peerlink.4094 subinterface\n bridge-ports + bond01 bond02 peerlink vni13 vni24 vxlan4001\n bridge-vids 13 24\n\n# VxLAN Tunnel + for Server1-Server3 (Vlan 13)\niface vni13\n mtu 9000\n vxlan-id 13\n bridge-access + 13\n bridge-learning off\n\n#VxLAN Tunnel for Server2-Server4 (Vlan 24)\niface + vni24\n mtu 9000\n vxlan-id 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress + on\n\niface vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning + off\n bridge-access 4001\n\niface evpn-vrf\n vrf-table auto\n\n#Tenant SVIs + - anycast GW\n\niface vlan13\n mtu 9000\n address 172.16.1.12/24\n address-virtual + 44:39:39:ff:00:13 172.16.1.1/24\n vlan-id 13\n vlan-raw-device bridge\n vrf + evpn-vrf\n\niface vlan24\n mtu 9000\n address 172.16.2.12/24\n address-virtual + 44:39:39:ff:00:24 172.16.2.1/24\n vlan-id 24\n vlan-raw-device bridge\n vrf + evpn-vrf\n\n#L3 VLAN interface per tenant (for L3 VNI)\n\niface vlan4001\n mtu + 9216\n hwaddress 44:39:39:ff:40:94\n vlan-id 4001\n vlan-raw-device bridge\n vrf + evpn-vrf\n\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr version + 7.4+cl4.2.1u1\nfrr defaults datacenter\nhostname leaf02\nservice integrated-vtysh-config\n!\nvrf evpn-vrf\n vni 104001\n exit-vrf\n!\ninterface lo\n ip address 10.0.0.12/32\n ip ospf area 0\n!\ninterface swp1\n ip address 10.0.0.12/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface swp2\n ip address 10.0.0.12/32\n @@ -194,36 +194,36 @@ tests: RR\n !\n address-family ipv4 unicast\n maximum-paths ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.12\n passive-interface lo\n!\nline vty\n!\nend\n# - ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "hostname": "leaf02", - "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "config": "# hostname\nleaf03\n# - interfaces\nauto all\n\niface lo inet loopback\n address 10.0.0.13/32\n vxlan-local-tunnelip - 10.0.0.13\n clagd-vxlan-anycast-ip 10.0.0.134\n\niface mgmt\n address 127.0.0.1/8\n vrf-table - auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n# uplinks\niface swp1\n mtu 9216\n\niface - swp2\n mtu 9216\n\n# uplinks\niface swp3\n mtu 9000\n post-up ip link set promisc - on dev swp3\n\niface swp4\n mtu 9000\n post-up ip link set promisc on dev swp4\n\niface - peerlink\n mtu 9000\n bond-slaves swp3 swp4\n\niface peerlink.4094\n address - 169.254.1.1/30\n clagd-peer-ip 169.254.1.2\n clagd-backup-ip 10.0.0.14\n clagd-sys-mac - 44:39:39:ff:40:95\n clagd-priority 100\n\n# bridge to hosts\niface swp5\n post-up - ip link set promisc on dev swp5\n mtu 9000\n\niface swp6\n post-up ip link set - promisc on dev swp6\n mtu 9000\n\niface bond01\n mtu 9000\n bond-slaves swp5\n bridge-access - 13\n clag-id 1\n\niface bond02\n mtu 9000\n bond-slaves swp6\n bridge-access - 24\n clag-id 2\n\n# Define the bridge for STP\niface bridge\n bridge-vlan-aware - yes\n # bridge-ports includes all ports related to VxLAN and CLAG.\n # does - not include the Peerlink.4094 subinterface\n bridge-ports bond01 bond02 peerlink - vni13 vni24 vxlan4001\n bridge-vids 13 24\n\n# VxLAN Tunnel for Server1-Server3 - (Vlan 13)\niface vni13\n mtu 9000\n vxlan-id 13\n bridge-access 13\n bridge-learning - off\n\n#VxLAN Tunnel for Server2-Server4 (Vlan 24)\niface vni24\n mtu 9000\n vxlan-id - 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress on\n\niface - vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning off\n bridge-access - 4001\n\niface evpn-vrf\n vrf-table auto\n\n#Tenant SVIs - anycast GW\n\niface - vlan13\n mtu 9000\n address 172.16.1.13/24\n address-virtual 44:39:39:ff:00:13 - 172.16.1.1/24\n vlan-id 13\n vlan-raw-device bridge\n vrf evpn-vrf\n\niface - vlan24\n mtu 9000\n address 172.16.2.13/24\n address-virtual 44:39:39:ff:00:24 - 172.16.2.1/24\n vlan-id 24\n vlan-raw-device bridge\n vrf evpn-vrf\n\n#L3 - VLAN interface per tenant (for L3 VNI)\n\niface vlan4001\n mtu 9216\n hwaddress - 44:39:39:ff:40:95\n vlan-id 4001\n vlan-raw-device bridge\n vrf evpn-vrf\n\nBuilding - configuration...\n\nCurrent configuration:\n!\nfrr version 7.4+cl4.2.1u1\nfrr - defaults datacenter\nhostname leaf03\nservice integrated-vtysh-config\n!\nvrf + ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "timestamp": + 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "leaf03", "config": "# + hostname\nleaf03\n# interfaces\nauto all\n\niface lo inet loopback\n address + 10.0.0.13/32\n vxlan-local-tunnelip 10.0.0.13\n clagd-vxlan-anycast-ip 10.0.0.134\n\niface + mgmt\n address 127.0.0.1/8\n vrf-table auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n# + uplinks\niface swp1\n mtu 9216\n\niface swp2\n mtu 9216\n\n# uplinks\niface + swp3\n mtu 9000\n post-up ip link set promisc on dev swp3\n\niface swp4\n mtu + 9000\n post-up ip link set promisc on dev swp4\n\niface peerlink\n mtu 9000\n bond-slaves + swp3 swp4\n\niface peerlink.4094\n address 169.254.1.1/30\n clagd-peer-ip 169.254.1.2\n clagd-backup-ip + 10.0.0.14\n clagd-sys-mac 44:39:39:ff:40:95\n clagd-priority 100\n\n# bridge + to hosts\niface swp5\n post-up ip link set promisc on dev swp5\n mtu 9000\n\niface + swp6\n post-up ip link set promisc on dev swp6\n mtu 9000\n\niface bond01\n mtu + 9000\n bond-slaves swp5\n bridge-access 13\n clag-id 1\n\niface bond02\n mtu + 9000\n bond-slaves swp6\n bridge-access 24\n clag-id 2\n\n# Define the bridge + for STP\niface bridge\n bridge-vlan-aware yes\n # bridge-ports includes all + ports related to VxLAN and CLAG.\n # does not include the Peerlink.4094 subinterface\n bridge-ports + bond01 bond02 peerlink vni13 vni24 vxlan4001\n bridge-vids 13 24\n\n# VxLAN Tunnel + for Server1-Server3 (Vlan 13)\niface vni13\n mtu 9000\n vxlan-id 13\n bridge-access + 13\n bridge-learning off\n\n#VxLAN Tunnel for Server2-Server4 (Vlan 24)\niface + vni24\n mtu 9000\n vxlan-id 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress + on\n\niface vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning + off\n bridge-access 4001\n\niface evpn-vrf\n vrf-table auto\n\n#Tenant SVIs + - anycast GW\n\niface vlan13\n mtu 9000\n address 172.16.1.13/24\n address-virtual + 44:39:39:ff:00:13 172.16.1.1/24\n vlan-id 13\n vlan-raw-device bridge\n vrf + evpn-vrf\n\niface vlan24\n mtu 9000\n address 172.16.2.13/24\n address-virtual + 44:39:39:ff:00:24 172.16.2.1/24\n vlan-id 24\n vlan-raw-device bridge\n vrf + evpn-vrf\n\n#L3 VLAN interface per tenant (for L3 VNI)\n\niface vlan4001\n mtu + 9216\n hwaddress 44:39:39:ff:40:95\n vlan-id 4001\n vlan-raw-device bridge\n vrf + evpn-vrf\n\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr version + 7.4+cl4.2.1u1\nfrr defaults datacenter\nhostname leaf03\nservice integrated-vtysh-config\n!\nvrf evpn-vrf\n vni 104001\n exit-vrf\n!\ninterface lo\n ip address 10.0.0.13/32\n ip ospf area 0\n!\ninterface swp1\n ip address 10.0.0.13/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface swp2\n ip address 10.0.0.13/32\n @@ -235,36 +235,36 @@ tests: RR\n !\n address-family ipv4 unicast\n maximum-paths ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.13\n passive-interface lo\n!\nline vty\n!\nend\n# - ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "hostname": "leaf03", - "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", "config": "# hostname\nleaf04\n# - interfaces\nauto all\n\niface lo inet loopback\n address 10.0.0.14/32\n vxlan-local-tunnelip - 10.0.0.14\n clagd-vxlan-anycast-ip 10.0.0.134\n\n\niface mgmt\n address 127.0.0.1/8\n vrf-table - auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n\n# uplinks\niface swp1\n mtu 9216\n \niface - swp2\n mtu 9216\n\n# uplinks\niface swp3\n mtu 9000\n post-up ip link set promisc - on dev swp3\n \n\niface swp4\n mtu 9000\n post-up ip link set promisc on dev - swp4\n\niface peerlink\n mtu 9000\n bond-slaves swp3 swp4\n\niface peerlink.4094\n address - 169.254.1.2/30\n clagd-peer-ip 169.254.1.1\n clagd-backup-ip 10.0.0.13\n clagd-sys-mac - 44:39:39:ff:40:95\n clagd-priority 200\n\n# bridge to hosts\niface swp5\n mtu - 9000\n post-up ip link set promisc on dev swp5\n\niface swp6\n mtu 9000\n post-up - ip link set promisc on dev swp6\n\niface bond01\n mtu 9000\n bond-slaves swp5\n bridge-access - 13\n clag-id 1\n\niface bond02\n mtu 9000\n bond-slaves swp6\n bridge-access - 24\n clag-id 2\n\n# Define the bridge for STP\niface bridge\n bridge-vlan-aware - yes\n # bridge-ports includes all ports related to VxLAN and CLAG.\n # does - not include the Peerlink.4094 subinterface\n bridge-ports bond01 bond02 peerlink - vni13 vni24 vxlan4001\n bridge-vids 13 24\n\n# VxLAN Tunnel for Server1-Server3 - (Vlan 13)\niface vni13\n mtu 9000\n vxlan-id 13\n bridge-access 13\n bridge-learning - off\n\n#VxLAN Tunnel for Server2-Server4 (Vlan 24)\niface vni24\n mtu 9000\n vxlan-id - 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress on\n\niface - vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning off\n bridge-access - 4001\n\niface evpn-vrf\n vrf-table auto\n\n#Tenant SVIs - anycast GW\n\niface - vlan13\n mtu 9000\n address 172.16.1.14/24\n address-virtual 44:39:39:ff:00:13 - 172.16.1.1/24\n vlan-id 13\n vlan-raw-device bridge\n vrf evpn-vrf\n\niface - vlan24\n mtu 9000\n address 172.16.2.14/24\n address-virtual 44:39:39:ff:00:24 - 172.16.2.1/24\n vlan-id 24\n vlan-raw-device bridge\n vrf evpn-vrf\n\n#L3 - VLAN interface per tenant (for L3 VNI)\n\niface vlan4001\n mtu 9216\n hwaddress - 44:39:39:ff:40:95\n vlan-id 4001\n vlan-raw-device bridge\n vrf evpn-vrf\n\nBuilding - configuration...\n\nCurrent configuration:\n!\nfrr version 7.4+cl4.2.1u1\nfrr - defaults datacenter\nhostname leaf04\nservice integrated-vtysh-config\n!\nvrf + ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "timestamp": + 1622008051479}, {"namespace": "ospf-ibgp", "hostname": "leaf04", "config": "# + hostname\nleaf04\n# interfaces\nauto all\n\niface lo inet loopback\n address + 10.0.0.14/32\n vxlan-local-tunnelip 10.0.0.14\n clagd-vxlan-anycast-ip 10.0.0.134\n\n\niface + mgmt\n address 127.0.0.1/8\n vrf-table auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n\n# + uplinks\niface swp1\n mtu 9216\n \niface swp2\n mtu 9216\n\n# uplinks\niface + swp3\n mtu 9000\n post-up ip link set promisc on dev swp3\n \n\niface swp4\n mtu + 9000\n post-up ip link set promisc on dev swp4\n\niface peerlink\n mtu 9000\n bond-slaves + swp3 swp4\n\niface peerlink.4094\n address 169.254.1.2/30\n clagd-peer-ip 169.254.1.1\n clagd-backup-ip + 10.0.0.13\n clagd-sys-mac 44:39:39:ff:40:95\n clagd-priority 200\n\n# bridge + to hosts\niface swp5\n mtu 9000\n post-up ip link set promisc on dev swp5\n\niface + swp6\n mtu 9000\n post-up ip link set promisc on dev swp6\n\niface bond01\n mtu + 9000\n bond-slaves swp5\n bridge-access 13\n clag-id 1\n\niface bond02\n mtu + 9000\n bond-slaves swp6\n bridge-access 24\n clag-id 2\n\n# Define the bridge + for STP\niface bridge\n bridge-vlan-aware yes\n # bridge-ports includes all + ports related to VxLAN and CLAG.\n # does not include the Peerlink.4094 subinterface\n bridge-ports + bond01 bond02 peerlink vni13 vni24 vxlan4001\n bridge-vids 13 24\n\n# VxLAN Tunnel + for Server1-Server3 (Vlan 13)\niface vni13\n mtu 9000\n vxlan-id 13\n bridge-access + 13\n bridge-learning off\n\n#VxLAN Tunnel for Server2-Server4 (Vlan 24)\niface + vni24\n mtu 9000\n vxlan-id 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress + on\n\niface vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning + off\n bridge-access 4001\n\niface evpn-vrf\n vrf-table auto\n\n#Tenant SVIs + - anycast GW\n\niface vlan13\n mtu 9000\n address 172.16.1.14/24\n address-virtual + 44:39:39:ff:00:13 172.16.1.1/24\n vlan-id 13\n vlan-raw-device bridge\n vrf + evpn-vrf\n\niface vlan24\n mtu 9000\n address 172.16.2.14/24\n address-virtual + 44:39:39:ff:00:24 172.16.2.1/24\n vlan-id 24\n vlan-raw-device bridge\n vrf + evpn-vrf\n\n#L3 VLAN interface per tenant (for L3 VNI)\n\niface vlan4001\n mtu + 9216\n hwaddress 44:39:39:ff:40:95\n vlan-id 4001\n vlan-raw-device bridge\n vrf + evpn-vrf\n\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr version + 7.4+cl4.2.1u1\nfrr defaults datacenter\nhostname leaf04\nservice integrated-vtysh-config\n!\nvrf evpn-vrf\n vni 104001\n exit-vrf\n!\ninterface lo\n ip address 10.0.0.14/32\n ip ospf area 0\n!\ninterface swp1\n ip address 10.0.0.14/32\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface swp2\n ip address 10.0.0.14/32\n @@ -276,10 +276,10 @@ tests: RR\n !\n address-family ipv4 unicast\n maximum-paths ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.14\n passive-interface lo\n!\nline vty\n!\nend\n# - ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "hostname": "leaf04", - "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", "config": "# hostname\nspine01\n# - interfaces\nauto all\n\niface lo inet loopback\n\n# Management interface\n\niface - eth0 inet dhcp\n vrf mgmt\n\niface mgmt\n address 127.0.0.1/8\n vrf-table + ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "timestamp": + 1622008051479}, {"namespace": "ospf-ibgp", "hostname": "spine01", "config": "# + hostname\nspine01\n# interfaces\nauto all\n\niface lo inet loopback\n\n# Management + interface\n\niface eth0 inet dhcp\n vrf mgmt\n\niface mgmt\n address 127.0.0.1/8\n vrf-table auto\n\n# downlinks\niface swp1\n mtu 9216\niface swp2\n mtu 9216\niface swp3\n mtu 9216\niface swp4\n mtu 9216\niface swp5\n mtu 9216\niface swp6\n mtu 9216\n\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr @@ -302,12 +302,13 @@ tests: !\n address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.22\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 192.168.123.1 - # vrf mgmt", "hostname": "spine01", "timestamp": 1622008051479}]' -- command: devconfig show --hostname=leaf01 --format=json --namespace='ospf-single dual-evpn ospf-ibgp' + # vrf mgmt", "timestamp": 1622008051479}]' +- command: devconfig show --hostname=leaf01 --format=json --namespace='ospf-single + dual-evpn ospf-ibgp' data-directory: tests/data/parquet/ marks: devconfig show cumulus - output: '[{"namespace": "ospf-ibgp", "config": "# hostname\nleaf01\n# interfaces\nauto - all\n\niface lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip + output: '[{"namespace": "ospf-ibgp", "hostname": "leaf01", "config": "# hostname\nleaf01\n# + interfaces\nauto all\n\niface lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip 10.0.0.11\n clagd-vxlan-anycast-ip 10.0.0.112\n\niface mgmt\n address 127.0.0.1/8\n vrf-table auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n# uplinks\niface swp1\n mtu 9216\n\niface swp2\n mtu 9216\n\n# uplinks\niface swp3\n mtu 9000\n post-up ip link set promisc @@ -346,13 +347,14 @@ tests: RR\n !\n address-family ipv4 unicast\n maximum-paths ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.11\n passive-interface lo\n!\nline vty\n!\nend\n# - ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "hostname": "leaf01", - "timestamp": 1622008051293}]' -- command: devconfig show --hostname='leaf01 spine01' --format=json --namespace='ospf-single dual-evpn ospf-ibgp' + ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "timestamp": + 1622008051293}]' +- command: devconfig show --hostname='leaf01 spine01' --format=json --namespace='ospf-single + dual-evpn ospf-ibgp' data-directory: tests/data/parquet/ marks: devconfig show cumulus - output: '[{"namespace": "ospf-ibgp", "config": "# hostname\nleaf01\n# interfaces\nauto - all\n\niface lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip + output: '[{"namespace": "ospf-ibgp", "hostname": "leaf01", "config": "# hostname\nleaf01\n# + interfaces\nauto all\n\niface lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip 10.0.0.11\n clagd-vxlan-anycast-ip 10.0.0.112\n\niface mgmt\n address 127.0.0.1/8\n vrf-table auto\n\niface eth0 inet dhcp\n vrf mgmt\n\n# uplinks\niface swp1\n mtu 9216\n\niface swp2\n mtu 9216\n\n# uplinks\niface swp3\n mtu 9000\n post-up ip link set promisc @@ -391,10 +393,10 @@ tests: RR\n !\n address-family ipv4 unicast\n maximum-paths ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.11\n passive-interface lo\n!\nline vty\n!\nend\n# - ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "hostname": "leaf01", - "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", "config": "# hostname\nspine01\n# - interfaces\nauto all\n\niface lo inet loopback\n\n# Management interface\n\niface - eth0 inet dhcp\n vrf mgmt\n\niface mgmt\n address 127.0.0.1/8\n vrf-table + ports.conf\n# resolv.conf\nnameserver 192.168.123.1 # vrf mgmt", "timestamp": + 1622008051293}, {"namespace": "ospf-ibgp", "hostname": "spine01", "config": "# + hostname\nspine01\n# interfaces\nauto all\n\niface lo inet loopback\n\n# Management + interface\n\niface eth0 inet dhcp\n vrf mgmt\n\niface mgmt\n address 127.0.0.1/8\n vrf-table auto\n\n# downlinks\niface swp1\n mtu 9216\niface swp2\n mtu 9216\niface swp3\n mtu 9216\niface swp4\n mtu 9216\niface swp5\n mtu 9216\niface swp6\n mtu 9216\n\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr @@ -417,9 +419,9 @@ tests: !\n address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.22\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 192.168.123.1 - # vrf mgmt", "hostname": "spine01", "timestamp": 1622008051479}]' -- command: devconfig show --hostname='leaf01 spine01' --query-str='config.str.contains("10.0.0.21")' --namespace='ospf-single dual-evpn ospf-ibgp' - --format=json + # vrf mgmt", "timestamp": 1622008051479}]' +- command: devconfig show --hostname='leaf01 spine01' --query-str='config.str.contains("10.0.0.21")' + --namespace='ospf-single dual-evpn ospf-ibgp' --format=json data-directory: tests/data/parquet/ marks: devconfig show cumulus output: '[]' @@ -427,12 +429,274 @@ tests: data-directory: tests/data/parquet/ marks: devconfig summarize cumulus output: '{"ospf-ibgp": {"deviceCnt": 9}}' -- command: devconfig summarize --hostname='leaf01 spine01' --format=json --namespace='ospf-single dual-evpn ospf-ibgp' +- command: devconfig summarize --hostname='leaf01 spine01' --format=json --namespace='ospf-single + dual-evpn ospf-ibgp' data-directory: tests/data/parquet/ marks: devconfig summarize cumulus output: '{"ospf-ibgp": {"deviceCnt": 2}}' -- command: devconfig unique --columns=config --format=json --namespace='ospf-single dual-evpn ospf-ibgp' +- command: devconfig unique --columns=config --format=json --namespace='ospf-single + dual-evpn ospf-ibgp' data-directory: tests/data/parquet/ error: error: '[{"error": "Unique not supported for Device Config"}]' marks: devconfig unique cumulus +- command: devconfig show --format=json --namespace=ospf-ibgp --section='^iface swp1$' + data-directory: tests/data/parquet/ + marks: devconfig show cumulus + output: '[{"namespace": "ospf-ibgp", "hostname": "spine02", "config": "iface swp1\n mtu + 9216", "timestamp": 1622008051074}, {"namespace": "ospf-ibgp", "hostname": "internet", + "config": "iface swp1", "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", + "hostname": "leaf01", "config": "iface swp1\n mtu 9216", "timestamp": 1622008051293}, + {"namespace": "ospf-ibgp", "hostname": "exit01", "config": "iface swp1\n mtu + 9216", "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "exit02", + "config": "iface swp1\n mtu 9216", "timestamp": 1622008051294}, {"namespace": + "ospf-ibgp", "hostname": "leaf02", "config": "iface swp1\n mtu 9216\n ", "timestamp": + 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "leaf03", "config": "iface + swp1\n mtu 9216", "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", "hostname": + "leaf04", "config": "iface swp1\n mtu 9216\n ", "timestamp": 1622008051479}, + {"namespace": "ospf-ibgp", "hostname": "spine01", "config": "iface swp1\n mtu + 9216", "timestamp": 1622008051479}]' +- command: devconfig show --format=json --namespace=ospf-ibgp --section='iface' + data-directory: tests/data/parquet/ + marks: devconfig show cumulus + output: '[{"namespace": "ospf-ibgp", "hostname": "spine02", "config": "iface lo + inet loopback\niface eth0 inet dhcp\n vrf mgmt\niface mgmt\n address 127.0.0.1/8\n vrf-table + auto\niface swp1\n mtu 9216\niface swp2\n mtu 9216\niface swp3\n mtu + 9216\niface swp4\n mtu 9216\niface swp5\n mtu 9216\niface swp6\n mtu + 9216", "timestamp": 1622008051074}, {"namespace": "ospf-ibgp", "hostname": "internet", + "config": "iface lo inet loopback\niface eth0 inet dhcp\niface swp1\niface swp2", + "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", "hostname": "leaf01", + "config": "iface lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip + 10.0.0.11\n clagd-vxlan-anycast-ip 10.0.0.112\niface mgmt\n address 127.0.0.1/8\n vrf-table + auto\niface eth0 inet dhcp\n vrf mgmt\niface swp1\n mtu 9216\niface swp2\n mtu + 9216\niface swp3\n mtu 9000\n post-up ip link set promisc on dev swp3\niface + swp4\n mtu 9000\n post-up ip link set promisc on dev swp4\niface peerlink\n mtu + 9000\n bond-slaves swp3 swp4\niface peerlink.4094\n address 169.254.1.1/30\n clagd-peer-ip + 169.254.1.2\n clagd-backup-ip 10.0.0.12\n clagd-sys-mac 44:39:39:ff:40:94\n clagd-priority + 100\niface swp5\n post-up ip link set promisc on dev swp5\n mtu 9000\niface + swp6\n post-up ip link set promisc on dev swp6\n mtu 9000\niface bond01\n mtu + 9000\n bond-slaves swp5\n bridge-access 13\n clag-id 1\niface bond02\n mtu + 9000\n bond-slaves swp6\n bridge-access 24\n clag-id 2\niface bridge\n bridge-vlan-aware + yes\n # bridge-ports includes all ports related to VxLAN and CLAG.\n # does + not include the Peerlink.4094 subinterface\n bridge-ports bond01 bond02 peerlink + vni13 vni24 vxlan4001\n bridge-vids 13 24\niface vni13\n mtu 9000\n vxlan-id + 13\n bridge-access 13\n bridge-learning off\niface vni24\n mtu 9000\n vxlan-id + 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress on\niface + vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning off\n bridge-access + 4001\niface evpn-vrf\n vrf-table auto\niface vlan13\n mtu 9000\n address + 172.16.1.11/24\n address-virtual 44:39:39:ff:00:13 172.16.1.1/24\n vlan-id + 13\n vlan-raw-device bridge\n vrf evpn-vrf\niface vlan24\n mtu 9000\n address + 172.16.2.11/24\n address-virtual 44:39:39:ff:00:24 172.16.2.1/24\n vlan-id + 24\n vlan-raw-device bridge\n vrf evpn-vrf\niface vlan4001\n mtu 9216\n hwaddress + 44:39:39:ff:40:94\n vlan-id 4001\n vlan-raw-device bridge\n vrf evpn-vrf", + "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", "hostname": "exit01", + "config": "iface lo inet loopback\n\taddress 10.0.0.101/32\n\tvxlan-local-tunnelip + 10.0.0.101\niface eth0 inet dhcp\n\tvrf mgmt\niface evpn-vrf\n\taddress 10.0.0.101/32\n\tvrf-table + auto\niface mgmt\n\taddress 127.0.0.1/8\n\tvrf-table auto\niface internet-vrf\n\taddress + 10.0.0.101/32\n\tvrf-table auto\niface bridge\n\tbridge-vlan-aware yes\n\tbridge-vids + 4001\n\tbridge-ports vxlan4001\niface vlan4001\n mtu 9216\n\tvlan-id 4001\n\tvlan-raw-device + bridge\n\tvrf evpn-vrf\niface swp1\n mtu 9216\niface swp2\n mtu 9216\niface + swp5\niface swp5.2\niface swp5.3\n\tvrf evpn-vrf\niface swp5.4\n\tvrf internet-vrf\niface + swp6\n\tvrf internet-vrf\niface vxlan4001\n mtu 9216\n\tvxlan-id 104001\n\tbridge-learning + off\n\tbridge-access 4001", "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", + "hostname": "exit02", "config": "iface lo inet loopback\n\taddress 10.0.0.102/32\n\tvxlan-local-tunnelip + 10.0.0.102\niface eth0 inet dhcp\n\tvrf mgmt\niface evpn-vrf\n\taddress 10.0.0.102/32\n\tvrf-table + auto\niface mgmt\n\taddress 127.0.0.1/8\n\tvrf-table auto\niface internet-vrf\n\taddress + 10.0.0.102/32\n\tvrf-table auto\niface bridge\n\tbridge-vlan-aware yes\n\tbridge-vids + 4001\n\tbridge-ports vxlan4001\niface vlan4001\n mtu 9216\n\tvlan-id 4001\n\tvlan-raw-device + bridge\n\tvrf evpn-vrf\niface swp1\n mtu 9216\niface swp2\n mtu 9216\niface + swp5\niface swp5.2\niface swp5.3\n\tvrf evpn-vrf\niface swp5.4\n\tvrf internet-vrf\niface + swp6\n\tvrf internet-vrf\niface vxlan4001\n mtu 9216\n\tvxlan-id 104001\n\tbridge-learning + off\n\tbridge-access 4001", "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", + "hostname": "leaf02", "config": "iface lo inet loopback\n address 10.0.0.12/32\n vxlan-local-tunnelip + 10.0.0.12\n clagd-vxlan-anycast-ip 10.0.0.112\niface mgmt\n address 127.0.0.1/8\n vrf-table + auto\niface eth0 inet dhcp\n vrf mgmt\niface swp1\n mtu 9216\n \niface swp2\n mtu + 9216\niface swp3\n mtu 9000\n post-up ip link set promisc on dev swp3\n \niface + swp4\n mtu 9000\n post-up ip link set promisc on dev swp4\niface peerlink\n mtu + 9000\n bond-slaves swp3 swp4\niface peerlink.4094\n address 169.254.1.2/30\n clagd-peer-ip + 169.254.1.1\n clagd-backup-ip 10.0.0.11\n clagd-sys-mac 44:39:39:ff:40:94\n clagd-priority + 200\niface swp5\n mtu 9000\n post-up ip link set promisc on dev swp5\niface + swp6\n mtu 9000\n post-up ip link set promisc on dev swp6\niface bond01\n mtu + 9000\n bond-slaves swp5\n bridge-access 13\n clag-id 1\niface bond02\n mtu + 9000\n bond-slaves swp6\n bridge-access 24\n clag-id 2\niface bridge\n bridge-vlan-aware + yes\n # bridge-ports includes all ports related to VxLAN and CLAG.\n # does + not include the Peerlink.4094 subinterface\n bridge-ports bond01 bond02 peerlink + vni13 vni24 vxlan4001\n bridge-vids 13 24\niface vni13\n mtu 9000\n vxlan-id + 13\n bridge-access 13\n bridge-learning off\niface vni24\n mtu 9000\n vxlan-id + 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress on\niface + vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning off\n bridge-access + 4001\niface evpn-vrf\n vrf-table auto\niface vlan13\n mtu 9000\n address + 172.16.1.12/24\n address-virtual 44:39:39:ff:00:13 172.16.1.1/24\n vlan-id + 13\n vlan-raw-device bridge\n vrf evpn-vrf\niface vlan24\n mtu 9000\n address + 172.16.2.12/24\n address-virtual 44:39:39:ff:00:24 172.16.2.1/24\n vlan-id + 24\n vlan-raw-device bridge\n vrf evpn-vrf\niface vlan4001\n mtu 9216\n hwaddress + 44:39:39:ff:40:94\n vlan-id 4001\n vlan-raw-device bridge\n vrf evpn-vrf", + "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "leaf03", + "config": "iface lo inet loopback\n address 10.0.0.13/32\n vxlan-local-tunnelip + 10.0.0.13\n clagd-vxlan-anycast-ip 10.0.0.134\niface mgmt\n address 127.0.0.1/8\n vrf-table + auto\niface eth0 inet dhcp\n vrf mgmt\niface swp1\n mtu 9216\niface swp2\n mtu + 9216\niface swp3\n mtu 9000\n post-up ip link set promisc on dev swp3\niface + swp4\n mtu 9000\n post-up ip link set promisc on dev swp4\niface peerlink\n mtu + 9000\n bond-slaves swp3 swp4\niface peerlink.4094\n address 169.254.1.1/30\n clagd-peer-ip + 169.254.1.2\n clagd-backup-ip 10.0.0.14\n clagd-sys-mac 44:39:39:ff:40:95\n clagd-priority + 100\niface swp5\n post-up ip link set promisc on dev swp5\n mtu 9000\niface + swp6\n post-up ip link set promisc on dev swp6\n mtu 9000\niface bond01\n mtu + 9000\n bond-slaves swp5\n bridge-access 13\n clag-id 1\niface bond02\n mtu + 9000\n bond-slaves swp6\n bridge-access 24\n clag-id 2\niface bridge\n bridge-vlan-aware + yes\n # bridge-ports includes all ports related to VxLAN and CLAG.\n # does + not include the Peerlink.4094 subinterface\n bridge-ports bond01 bond02 peerlink + vni13 vni24 vxlan4001\n bridge-vids 13 24\niface vni13\n mtu 9000\n vxlan-id + 13\n bridge-access 13\n bridge-learning off\niface vni24\n mtu 9000\n vxlan-id + 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress on\niface + vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning off\n bridge-access + 4001\niface evpn-vrf\n vrf-table auto\niface vlan13\n mtu 9000\n address + 172.16.1.13/24\n address-virtual 44:39:39:ff:00:13 172.16.1.1/24\n vlan-id + 13\n vlan-raw-device bridge\n vrf evpn-vrf\niface vlan24\n mtu 9000\n address + 172.16.2.13/24\n address-virtual 44:39:39:ff:00:24 172.16.2.1/24\n vlan-id + 24\n vlan-raw-device bridge\n vrf evpn-vrf\niface vlan4001\n mtu 9216\n hwaddress + 44:39:39:ff:40:95\n vlan-id 4001\n vlan-raw-device bridge\n vrf evpn-vrf", + "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", "hostname": "leaf04", + "config": "iface lo inet loopback\n address 10.0.0.14/32\n vxlan-local-tunnelip + 10.0.0.14\n clagd-vxlan-anycast-ip 10.0.0.134\niface mgmt\n address 127.0.0.1/8\n vrf-table + auto\niface eth0 inet dhcp\n vrf mgmt\niface swp1\n mtu 9216\n \niface swp2\n mtu + 9216\niface swp3\n mtu 9000\n post-up ip link set promisc on dev swp3\n \niface + swp4\n mtu 9000\n post-up ip link set promisc on dev swp4\niface peerlink\n mtu + 9000\n bond-slaves swp3 swp4\niface peerlink.4094\n address 169.254.1.2/30\n clagd-peer-ip + 169.254.1.1\n clagd-backup-ip 10.0.0.13\n clagd-sys-mac 44:39:39:ff:40:95\n clagd-priority + 200\niface swp5\n mtu 9000\n post-up ip link set promisc on dev swp5\niface + swp6\n mtu 9000\n post-up ip link set promisc on dev swp6\niface bond01\n mtu + 9000\n bond-slaves swp5\n bridge-access 13\n clag-id 1\niface bond02\n mtu + 9000\n bond-slaves swp6\n bridge-access 24\n clag-id 2\niface bridge\n bridge-vlan-aware + yes\n # bridge-ports includes all ports related to VxLAN and CLAG.\n # does + not include the Peerlink.4094 subinterface\n bridge-ports bond01 bond02 peerlink + vni13 vni24 vxlan4001\n bridge-vids 13 24\niface vni13\n mtu 9000\n vxlan-id + 13\n bridge-access 13\n bridge-learning off\niface vni24\n mtu 9000\n vxlan-id + 24\n bridge-access 24\n bridge-learning off\n bridge-arp-nd-suppress on\niface + vxlan4001\n mtu 9216\n vxlan-id 104001\n bridge-learning off\n bridge-access + 4001\niface evpn-vrf\n vrf-table auto\niface vlan13\n mtu 9000\n address + 172.16.1.14/24\n address-virtual 44:39:39:ff:00:13 172.16.1.1/24\n vlan-id + 13\n vlan-raw-device bridge\n vrf evpn-vrf\niface vlan24\n mtu 9000\n address + 172.16.2.14/24\n address-virtual 44:39:39:ff:00:24 172.16.2.1/24\n vlan-id + 24\n vlan-raw-device bridge\n vrf evpn-vrf\niface vlan4001\n mtu 9216\n hwaddress + 44:39:39:ff:40:95\n vlan-id 4001\n vlan-raw-device bridge\n vrf evpn-vrf", + "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", "hostname": "spine01", + "config": "iface lo inet loopback\niface eth0 inet dhcp\n vrf mgmt\niface mgmt\n address + 127.0.0.1/8\n vrf-table auto\niface swp1\n mtu 9216\niface swp2\n mtu + 9216\niface swp3\n mtu 9216\niface swp4\n mtu 9216\niface swp5\n mtu + 9216\niface swp6\n mtu 9216", "timestamp": 1622008051479}]' +- command: devconfig show --format=json --namespace=ospf-ibgp --section='ip ospf network + point-to-point' + data-directory: tests/data/parquet/ + marks: devconfig show cumulus + output: '[{"namespace": "ospf-ibgp", "hostname": "spine02", "config": " ip ospf + network point-to-point\n ip ospf network point-to-point\n ip ospf network point-to-point\n + ip ospf network point-to-point\n ip ospf network point-to-point\n ip ospf network + point-to-point", "timestamp": 1622008051074}, {"namespace": "ospf-ibgp", "hostname": + "leaf01", "config": " ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", "hostname": "exit01", + "config": " ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "exit02", + "config": " ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "leaf02", + "config": " ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "leaf03", + "config": " ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", "hostname": "leaf04", + "config": " ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", "hostname": "spine01", + "config": " ip ospf network point-to-point\n ip ospf network point-to-point\n + ip ospf network point-to-point\n ip ospf network point-to-point\n ip ospf network + point-to-point\n ip ospf network point-to-point", "timestamp": 1622008051479}]' +- command: devconfig show --format=json --namespace=ospf-ibgp --section='router bgp' + data-directory: tests/data/parquet/ + marks: devconfig show cumulus + output: '[{"namespace": "ospf-ibgp", "hostname": "spine02", "config": "router bgp + 65000\n bgp router-id 10.0.0.21\n no bgp default ipv4-unicast\n bgp bestpath as-path + multipath-relax\n neighbor RR peer-group\n neighbor RR remote-as internal\n neighbor + RR bfd\n neighbor RR advertisement-interval 0\n neighbor RR timers 3 10\n neighbor + RR timers connect 5\n neighbor swp1 interface peer-group RR\n neighbor swp2 interface + peer-group RR\n neighbor swp3 interface peer-group RR\n neighbor swp4 interface + peer-group RR\n neighbor swp6 interface peer-group RR\n !\n address-family ipv4 + unicast\n neighbor RR activate\n neighbor RR route-reflector-client\n maximum-paths + ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n neighbor + RR route-reflector-client\n exit-address-family", "timestamp": 1622008051074}, + {"namespace": "ospf-ibgp", "hostname": "internet", "config": "router bgp 25253\n + bgp router-id 10.0.0.253\n no bgp default ipv4-unicast\n bgp bestpath as-path + multipath-relax\n neighbor ISL peer-group\n neighbor ISL remote-as external\n + neighbor ISL bfd\n neighbor swp1 interface peer-group ISL\n neighbor swp2 interface + peer-group ISL\n !\n address-family ipv4 unicast\n redistribute connected route-map + LOOPBACKS\n neighbor ISL activate\n neighbor ISL default-originate\n exit-address-family", + "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", "hostname": "leaf01", + "config": "router bgp 65000\n bgp router-id 10.0.0.11\n no bgp default ipv4-unicast\n + bgp bestpath as-path multipath-relax\n neighbor RR peer-group\n neighbor RR remote-as + internal\n neighbor RR bfd\n neighbor RR advertisement-interval 0\n neighbor RR + timers 3 10\n neighbor RR timers connect 5\n neighbor swp1 interface peer-group + RR\n neighbor swp2 interface peer-group RR\n !\n address-family ipv4 unicast\n maximum-paths + ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n + exit-address-family", "timestamp": 1622008051293}, {"namespace": "ospf-ibgp", + "hostname": "exit01", "config": "router bgp 65000\n bgp router-id 10.0.0.101\n + no bgp default ipv4-unicast\n neighbor RR peer-group\n neighbor RR remote-as internal\n + neighbor RR bfd\n neighbor RR timers connect 5\n neighbor swp1 interface peer-group + RR\n neighbor swp2 interface peer-group RR\n neighbor swp5.2 interface remote-as + external\n !\n address-family ipv4 unicast\n redistribute ospf\n neighbor RR + activate\n neighbor swp5.2 activate\n maximum-paths ibgp 16\n exit-address-family\n + !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family\nrouter + bgp 65000 vrf evpn-vrf\n bgp router-id 10.0.0.101\n no bgp default ipv4-unicast\n + neighbor swp5.3 interface remote-as external\n !\n address-family ipv4 unicast\n aggregate-address + 172.16.1.0/24 summary-only\n aggregate-address 172.16.2.0/24 summary-only\n neighbor + swp5.3 activate\n exit-address-family\n !\n address-family l2vpn evpn\n advertise + ipv4 unicast\n exit-address-family\nrouter bgp 65001 vrf internet-vrf\n bgp router-id + 10.0.0.101\n no bgp default ipv4-unicast\n neighbor EDGE peer-group\n neighbor + EDGE remote-as external\n neighbor EDGE bfd\n neighbor swp5.4 interface peer-group + EDGE\n neighbor swp6 interface peer-group EDGE\n !\n address-family ipv4 unicast\n neighbor + EDGE activate\n exit-address-family", "timestamp": 1622008051294}, {"namespace": + "ospf-ibgp", "hostname": "exit02", "config": "router bgp 65000\n bgp router-id + 10.0.0.102\n no bgp default ipv4-unicast\n neighbor RR peer-group\n neighbor RR + remote-as internal\n neighbor RR bfd\n neighbor RR advertisement-interval 0\n + neighbor RR timers 3 10\n neighbor RR timers connect 5\n neighbor swp1 interface + peer-group RR\n neighbor swp2 interface peer-group RR\n neighbor swp5.2 interface + remote-as external\n !\n address-family ipv4 unicast\n redistribute ospf\n neighbor + RR activate\n neighbor swp5.2 activate\n maximum-paths ibgp 16\n exit-address-family\n + !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family\nrouter + bgp 65000 vrf evpn-vrf\n bgp router-id 10.0.0.102\n no bgp default ipv4-unicast\n + neighbor swp5.3 interface remote-as external\n !\n address-family ipv4 unicast\n aggregate-address + 172.16.1.0/24 summary-only\n aggregate-address 172.16.2.0/24 summary-only\n neighbor + swp5.3 activate\n exit-address-family\n !\n address-family l2vpn evpn\n advertise + ipv4 unicast\n exit-address-family\nrouter bgp 65001 vrf internet-vrf\n bgp router-id + 10.0.0.102\n no bgp default ipv4-unicast\n neighbor EDGE peer-group\n neighbor + EDGE remote-as external\n neighbor EDGE bfd\n neighbor swp5.4 interface peer-group + EDGE\n neighbor swp6 interface peer-group EDGE\n !\n address-family ipv4 unicast\n neighbor + EDGE activate\n exit-address-family", "timestamp": 1622008051294}, {"namespace": + "ospf-ibgp", "hostname": "leaf02", "config": "router bgp 65000\n bgp router-id + 10.0.0.12\n no bgp default ipv4-unicast\n bgp bestpath as-path multipath-relax\n + neighbor RR peer-group\n neighbor RR remote-as internal\n neighbor RR bfd\n neighbor + RR advertisement-interval 0\n neighbor RR timers 3 10\n neighbor RR timers connect + 5\n neighbor swp1 interface peer-group RR\n neighbor swp2 interface peer-group + RR\n !\n address-family ipv4 unicast\n maximum-paths ibgp 16\n exit-address-family\n + !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family", + "timestamp": 1622008051294}, {"namespace": "ospf-ibgp", "hostname": "leaf03", + "config": "router bgp 65000\n bgp router-id 10.0.0.13\n no bgp default ipv4-unicast\n + bgp bestpath as-path multipath-relax\n neighbor RR peer-group\n neighbor RR remote-as + internal\n neighbor RR bfd\n neighbor RR advertisement-interval 0\n neighbor RR + timers 3 10\n neighbor RR timers connect 5\n neighbor swp1 interface peer-group + RR\n neighbor swp2 interface peer-group RR\n !\n address-family ipv4 unicast\n maximum-paths + ibgp 16\n exit-address-family\n !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n + exit-address-family", "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", + "hostname": "leaf04", "config": "router bgp 65000\n bgp router-id 10.0.0.14\n + no bgp default ipv4-unicast\n bgp bestpath as-path multipath-relax\n neighbor + RR peer-group\n neighbor RR remote-as internal\n neighbor RR bfd\n neighbor RR + advertisement-interval 0\n neighbor RR timers 3 10\n neighbor RR timers connect + 5\n neighbor swp1 interface peer-group RR\n neighbor swp2 interface peer-group + RR\n !\n address-family ipv4 unicast\n maximum-paths ibgp 16\n exit-address-family\n + !\n address-family l2vpn evpn\n neighbor RR activate\n advertise-all-vni\n exit-address-family", + "timestamp": 1622008051479}, {"namespace": "ospf-ibgp", "hostname": "spine01", + "config": "router bgp 65000\n bgp router-id 10.0.0.22\n no bgp default ipv4-unicast\n + bgp bestpath as-path multipath-relax\n neighbor RR peer-group\n neighbor RR remote-as + internal\n neighbor RR bfd\n neighbor RR advertisement-interval 0\n neighbor RR + timers 3 10\n neighbor RR timers connect 5\n neighbor swp1 interface peer-group + RR\n neighbor swp2 interface peer-group RR\n neighbor swp3 interface peer-group + RR\n neighbor swp4 interface peer-group RR\n neighbor swp5 interface peer-group + RR\n neighbor swp6 interface peer-group RR\n !\n address-family ipv4 unicast\n neighbor + RR activate\n neighbor RR route-reflector-client\n maximum-paths ibgp 16\n exit-address-family\n + !\n address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n + exit-address-family", "timestamp": 1622008051479}]' diff --git a/tests/integration/sqcmds/eos-samples/devconfig.yml b/tests/integration/sqcmds/eos-samples/devconfig.yml index b5d5181114..2ea69fb396 100644 --- a/tests/integration/sqcmds/eos-samples/devconfig.yml +++ b/tests/integration/sqcmds/eos-samples/devconfig.yml @@ -3,8 +3,8 @@ tests: - command: devconfig show --format=json --namespace=eos data-directory: tests/data/parquet/ marks: devconfig show eos - output: '[{"namespace": "eos", "config": "! Command: show running-config\n! device: - leaf02 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + output: '[{"namespace": "eos", "hostname": "leaf02", "config": "! Command: show + running-config\n! device: leaf02 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname leaf02\n!\nspanning-tree mode mstp\nno spanning-tree vlan-id 4094\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\nvlan 10,30\n!\nvlan 4094\n trunk group @@ -46,10 +46,10 @@ tests: evpn 64520:999\n maximum-paths 4\n redistribute connected route-map ADV_SVIS\n!\nrouter ospf 1\n router-id 10.0.0.12\n passive-interface Loopback0\n passive-interface Loopback1\n max-lsa 12000\n log-adjacency-changes detail\n!\nmanagement api - http-commands\n no shutdown\n!\nend", "hostname": "leaf02", "timestamp": 1623025174534}, - {"namespace": "eos", "config": "! Command: show running-config\n! device: exit02 - (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp - default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname + http-commands\n no shutdown\n!\nend", "timestamp": 1623025174534}, {"namespace": + "eos", "hostname": "exit02", "config": "! Command: show running-config\n! device: + exit02 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname exit02\n!\nspanning-tree mode mstp\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\nvrf instance evpn-vrf\n!\nvrf instance internet-vrf\n!\ninterface Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip ospf network @@ -89,8 +89,8 @@ tests: bfd\n neighbor 169.254.253.10 peer group FW\n neighbor 169.254.253.10 remote-as 65533\n neighbor 169.254.253.10 local-as 65522 no-prepend replace-as\n!\nrouter ospf 1\n router-id 10.0.0.32\n passive-interface Loopback0\n max-lsa 12000\n log-adjacency-changes - detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "hostname": - "exit02", "timestamp": 1623025174536}, {"namespace": "eos", "config": "! Command: + detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "timestamp": + 1623025174536}, {"namespace": "eos", "hostname": "leaf03", "config": "! Command: show running-config\n! device: leaf03 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname leaf03\n!\nspanning-tree mode mstp\nno spanning-tree vlan-id 4094\n!\naaa authorization @@ -133,10 +133,10 @@ tests: evpn 64520:999\n maximum-paths 4\n redistribute connected route-map ADV_SVIS\n!\nrouter ospf 1\n router-id 10.0.0.13\n passive-interface Loopback0\n passive-interface Loopback1\n max-lsa 12000\n log-adjacency-changes detail\n!\nmanagement api - http-commands\n no shutdown\n!\nend", "hostname": "leaf03", "timestamp": 1623025174538}, - {"namespace": "eos", "config": "! Command: show running-config\n! device: leaf01 - (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp - default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname + http-commands\n no shutdown\n!\nend", "timestamp": 1623025174538}, {"namespace": + "eos", "hostname": "leaf01", "config": "! Command: show running-config\n! device: + leaf01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname leaf01\n!\nspanning-tree mode mstp\nno spanning-tree vlan-id 4094\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\nvlan 10,30\n!\nvlan 4094\n trunk group peertrunk\n!\nvrf instance evpn-vrf\n!\ninterface Port-Channel1\n switchport @@ -177,10 +177,10 @@ tests: evpn 64520:999\n maximum-paths 4\n redistribute connected route-map ADV_SVIS\n!\nrouter ospf 1\n router-id 10.0.0.11\n passive-interface Loopback0\n passive-interface Loopback1\n max-lsa 12000\n log-adjacency-changes detail\n!\nmanagement api - http-commands\n no shutdown\n!\nend", "hostname": "leaf01", "timestamp": 1623025174541}, - {"namespace": "eos", "config": "! Command: show running-config\n! device: leaf04 - (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp - default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname + http-commands\n no shutdown\n!\nend", "timestamp": 1623025174541}, {"namespace": + "eos", "hostname": "leaf04", "config": "! Command: show running-config\n! device: + leaf04 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname leaf04\n!\nspanning-tree mode mstp\nno spanning-tree vlan-id 4094\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\nvlan 20,30\n!\nvlan 4094\n trunk group peertrunk\n!\nvrf instance evpn-vrf\n!\ninterface Port-Channel1\n switchport @@ -221,10 +221,10 @@ tests: evpn 64520:999\n maximum-paths 4\n redistribute connected route-map ADV_SVIS\n!\nrouter ospf 1\n router-id 10.0.0.14\n passive-interface Loopback0\n passive-interface Loopback1\n max-lsa 12000\n log-adjacency-changes detail\n!\nmanagement api - http-commands\n no shutdown\n!\nend", "hostname": "leaf04", "timestamp": 1623025174543}, - {"namespace": "eos", "config": "! Command: show running-config\n! device: exit01 - (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp - default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname + http-commands\n no shutdown\n!\nend", "timestamp": 1623025174543}, {"namespace": + "eos", "hostname": "exit01", "config": "! Command: show running-config\n! device: + exit01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname exit01\n!\nspanning-tree mode mstp\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\nvrf instance evpn-vrf\n!\nvrf instance internet-vrf\n!\ninterface Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip ospf neighbor @@ -263,8 +263,8 @@ tests: 169.254.254.10 peer group FW\n neighbor 169.254.254.10 remote-as 65533\n neighbor 169.254.254.10 local-as 65522 no-prepend replace-as\n!\nrouter ospf 1\n router-id 10.0.0.31\n passive-interface Loopback0\n max-lsa 12000\n log-adjacency-changes - detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "hostname": - "exit01", "timestamp": 1623025174545}, {"namespace": "eos", "config": "! Command: + detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "timestamp": + 1623025174545}, {"namespace": "eos", "hostname": "spine01", "config": "! Command: show running-config\n! device: spine01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname spine01\n!\nspanning-tree mode mstp\n!\naaa authorization exec default local\n!\nno @@ -295,8 +295,8 @@ tests: 10.0.0.12 activate\n neighbor 10.0.0.13 activate\n neighbor 10.0.0.14 activate\n neighbor 10.0.0.31 activate\n neighbor 10.0.0.32 activate\n!\nrouter ospf 1\n router-id 10.0.0.21\n passive-interface Loopback0\n max-lsa 12000\n log-adjacency-changes - detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "hostname": - "spine01", "timestamp": 1623025174548}, {"namespace": "eos", "config": "! Command: + detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "timestamp": + 1623025174548}, {"namespace": "eos", "hostname": "spine02", "config": "! Command: show running-config\n! device: spine02 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname spine02\n!\nspanning-tree mode mstp\n!\naaa authorization exec default local\n!\nno @@ -327,8 +327,8 @@ tests: 10.0.0.12 activate\n neighbor 10.0.0.13 activate\n neighbor 10.0.0.14 activate\n neighbor 10.0.0.31 activate\n neighbor 10.0.0.32 activate\n!\nrouter ospf 1\n router-id 10.0.0.22\n passive-interface Loopback0\n max-lsa 12000\n log-adjacency-changes - detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "hostname": - "spine02", "timestamp": 1623025174550}, {"namespace": "eos", "config": "## Last + detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "timestamp": + 1623025174550}, {"namespace": "eos", "hostname": "dcedge01", "config": "## Last commit: 2021-06-05 22:12:07 UTC by vagrant\nversion 20191212.201431_builder.r1074901;\nsystem {\n host-name dcedge01;\n root-authentication {\n }\n login {\n user vagrant {\n uid 2000;\n class super-user;\n authentication @@ -1170,12 +1170,12 @@ tests: 65522;\n }\n neighbor 169.254.127.3 {\n peer-as 65522;\n }\n }\n }\n lldp {\n interface all;\n }\n igmp-snooping {\n vlan default;\n }\n}\nvlans {\n default {\n vlan-id 1;\n }\n}", - "hostname": "dcedge01", "timestamp": 1623025176891}]' + "timestamp": 1623025176891}]' - command: devconfig show --hostname=leaf01 --format=json --namespace=eos data-directory: tests/data/parquet/ marks: devconfig show eos - output: '[{"namespace": "eos", "config": "! Command: show running-config\n! device: - leaf01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + output: '[{"namespace": "eos", "hostname": "leaf01", "config": "! Command: show + running-config\n! device: leaf01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname leaf01\n!\nspanning-tree mode mstp\nno spanning-tree vlan-id 4094\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\nvlan 10,30\n!\nvlan 4094\n trunk group @@ -1217,12 +1217,12 @@ tests: evpn 64520:999\n maximum-paths 4\n redistribute connected route-map ADV_SVIS\n!\nrouter ospf 1\n router-id 10.0.0.11\n passive-interface Loopback0\n passive-interface Loopback1\n max-lsa 12000\n log-adjacency-changes detail\n!\nmanagement api - http-commands\n no shutdown\n!\nend", "hostname": "leaf01", "timestamp": 1623025174541}]' + http-commands\n no shutdown\n!\nend", "timestamp": 1623025174541}]' - command: devconfig show --hostname='leaf01 spine01' --format=json --namespace=eos data-directory: tests/data/parquet/ marks: devconfig show eos - output: '[{"namespace": "eos", "config": "! Command: show running-config\n! device: - leaf01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + output: '[{"namespace": "eos", "hostname": "leaf01", "config": "! Command: show + running-config\n! device: leaf01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname leaf01\n!\nspanning-tree mode mstp\nno spanning-tree vlan-id 4094\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\nvlan 10,30\n!\nvlan 4094\n trunk group @@ -1264,10 +1264,10 @@ tests: evpn 64520:999\n maximum-paths 4\n redistribute connected route-map ADV_SVIS\n!\nrouter ospf 1\n router-id 10.0.0.11\n passive-interface Loopback0\n passive-interface Loopback1\n max-lsa 12000\n log-adjacency-changes detail\n!\nmanagement api - http-commands\n no shutdown\n!\nend", "hostname": "leaf01", "timestamp": 1623025174541}, - {"namespace": "eos", "config": "! Command: show running-config\n! device: spine01 - (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp - default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname + http-commands\n no shutdown\n!\nend", "timestamp": 1623025174541}, {"namespace": + "eos", "hostname": "spine01", "config": "! Command: show running-config\n! device: + spine01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname spine01\n!\nspanning-tree mode mstp\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\ninterface Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip ospf network point-to-point\n ip ospf area 0.0.0.0\n!\ninterface @@ -1296,13 +1296,14 @@ tests: 10.0.0.12 activate\n neighbor 10.0.0.13 activate\n neighbor 10.0.0.14 activate\n neighbor 10.0.0.31 activate\n neighbor 10.0.0.32 activate\n!\nrouter ospf 1\n router-id 10.0.0.21\n passive-interface Loopback0\n max-lsa 12000\n log-adjacency-changes - detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "hostname": - "spine01", "timestamp": 1623025174548}]' -- command: devconfig show --hostname='leaf01 spine01' --query-str='config.str.contains("10.0.0.21")' --format=json --namespace=eos + detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "timestamp": + 1623025174548}]' +- command: devconfig show --hostname='leaf01 spine01' --query-str='config.str.contains("10.0.0.21")' + --format=json --namespace=eos data-directory: tests/data/parquet/ marks: devconfig show eos - output: '[{"namespace": "eos", "config": "! Command: show running-config\n! device: - leaf01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + output: '[{"namespace": "eos", "hostname": "leaf01", "config": "! Command: show + running-config\n! device: leaf01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname leaf01\n!\nspanning-tree mode mstp\nno spanning-tree vlan-id 4094\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\nvlan 10,30\n!\nvlan 4094\n trunk group @@ -1344,10 +1345,10 @@ tests: evpn 64520:999\n maximum-paths 4\n redistribute connected route-map ADV_SVIS\n!\nrouter ospf 1\n router-id 10.0.0.11\n passive-interface Loopback0\n passive-interface Loopback1\n max-lsa 12000\n log-adjacency-changes detail\n!\nmanagement api - http-commands\n no shutdown\n!\nend", "hostname": "leaf01", "timestamp": 1623025174541}, - {"namespace": "eos", "config": "! Command: show running-config\n! device: spine01 - (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver qsfp - default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname + http-commands\n no shutdown\n!\nend", "timestamp": 1623025174541}, {"namespace": + "eos", "hostname": "spine01", "config": "! Command: show running-config\n! device: + spine01 (vEOS, EOS-4.23.5M)\n!\n! boot system flash:/vEOS-lab.swi\n!\ntransceiver + qsfp default-mode 4x10G\n!\nservice routing protocols model multi-agent\n!\nhostname spine01\n!\nspanning-tree mode mstp\n!\naaa authorization exec default local\n!\nno aaa root\n!\n!\ninterface Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip ospf network point-to-point\n ip ospf area 0.0.0.0\n!\ninterface @@ -1376,8 +1377,8 @@ tests: 10.0.0.12 activate\n neighbor 10.0.0.13 activate\n neighbor 10.0.0.14 activate\n neighbor 10.0.0.31 activate\n neighbor 10.0.0.32 activate\n!\nrouter ospf 1\n router-id 10.0.0.21\n passive-interface Loopback0\n max-lsa 12000\n log-adjacency-changes - detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "hostname": - "spine01", "timestamp": 1623025174548}]' + detail\n!\nmanagement api http-commands\n no shutdown\n!\nend", "timestamp": + 1623025174548}]' - command: devconfig summarize --format=json --namespace=eos data-directory: tests/data/parquet/ marks: devconfig summarize eos @@ -1391,3 +1392,223 @@ tests: error: error: '[{"error": "Unique not supported for Device Config"}]' marks: devconfig unique eos +- command: devconfig show --format=json --namespace=eos --section='^interface Ethernet1$' + data-directory: tests/data/parquet/ + marks: devconfig show nxos + output: '[{"namespace": "eos", "hostname": "leaf02", "config": "interface Ethernet1\n no + switchport\n ip address unnumbered Loopback0\n ip ospf network point-to-point\n ip + ospf area 0.0.0.0", "timestamp": 1623025174534}, {"namespace": "eos", "hostname": + "exit02", "config": "interface Ethernet1\n no switchport\n ip address unnumbered + Loopback0\n ip ospf network point-to-point\n ip ospf area 0.0.0.0", "timestamp": + 1623025174536}, {"namespace": "eos", "hostname": "leaf03", "config": "interface + Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip ospf network + point-to-point\n ip ospf area 0.0.0.0", "timestamp": 1623025174538}, {"namespace": + "eos", "hostname": "leaf01", "config": "interface Ethernet1\n no switchport\n ip + address unnumbered Loopback0\n ip ospf network point-to-point\n ip ospf area + 0.0.0.0", "timestamp": 1623025174541}, {"namespace": "eos", "hostname": "leaf04", + "config": "interface Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip + ospf network point-to-point\n ip ospf area 0.0.0.0", "timestamp": 1623025174543}, + {"namespace": "eos", "hostname": "exit01", "config": "interface Ethernet1\n no + switchport\n ip address unnumbered Loopback0\n ip ospf neighbor bfd\n ip + ospf network point-to-point\n ip ospf area 0.0.0.0", "timestamp": 1623025174545}, + {"namespace": "eos", "hostname": "spine01", "config": "interface Ethernet1\n no + switchport\n ip address unnumbered Loopback0\n ip ospf network point-to-point\n ip + ospf area 0.0.0.0", "timestamp": 1623025174548}, {"namespace": "eos", "hostname": + "spine02", "config": "interface Ethernet1\n no switchport\n ip address unnumbered + Loopback0\n ip ospf network point-to-point\n ip ospf area 0.0.0.0", "timestamp": + 1623025174550}]' +- command: devconfig show --format=json --namespace=eos --section='interface Ethernet' + data-directory: tests/data/parquet/ + marks: devconfig show nxos + output: '[{"namespace": "eos", "hostname": "leaf02", "config": "interface Ethernet1\n no + switchport\n ip address unnumbered Loopback0\n ip ospf network point-to-point\n ip + ospf area 0.0.0.0\ninterface Ethernet2\n no switchport\n ip address unnumbered + Loopback0\n ip ospf network point-to-point\n ip ospf area 0.0.0.0\ninterface + Ethernet3\n channel-group 3 mode active\ninterface Ethernet4\n channel-group + 4 mode active\ninterface Ethernet5\n channel-group 1 mode active\ninterface + Ethernet6\n channel-group 1 mode active", "timestamp": 1623025174534}, {"namespace": + "eos", "hostname": "exit02", "config": "interface Ethernet1\n no switchport\n ip + address unnumbered Loopback0\n ip ospf network point-to-point\n ip ospf area + 0.0.0.0\ninterface Ethernet2\n no switchport\n ip address unnumbered Loopback0\n ip + ospf network point-to-point\n ip ospf area 0.0.0.0\ninterface Ethernet3\n no + switchport\ninterface Ethernet3.2\n encapsulation dot1q vlan 2\n ip address + 169.254.253.1/30\ninterface Ethernet3.3\n encapsulation dot1q vlan 3\n vrf + evpn-vrf\n ip address 169.254.253.5/30\ninterface Ethernet3.4\n encapsulation + dot1q vlan 4\n vrf internet-vrf\n ip address 169.254.253.9/30\ninterface Ethernet4\n no + switchport\n vrf internet-vrf\n ip address 169.254.127.3/31", "timestamp": + 1623025174536}, {"namespace": "eos", "hostname": "leaf03", "config": "interface + Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip ospf network + point-to-point\n ip ospf area 0.0.0.0\ninterface Ethernet2\n no switchport\n ip + address unnumbered Loopback0\n ip ospf network point-to-point\n ip ospf area + 0.0.0.0\ninterface Ethernet3\n channel-group 3 mode active\ninterface Ethernet4\n channel-group + 4 mode active\ninterface Ethernet5\n channel-group 1 mode active\ninterface + Ethernet6\n channel-group 1 mode active", "timestamp": 1623025174538}, {"namespace": + "eos", "hostname": "leaf01", "config": "interface Ethernet1\n no switchport\n ip + address unnumbered Loopback0\n ip ospf network point-to-point\n ip ospf area + 0.0.0.0\ninterface Ethernet2\n no switchport\n ip address unnumbered Loopback0\n ip + ospf network point-to-point\n ip ospf area 0.0.0.0\ninterface Ethernet3\n channel-group + 3 mode active\ninterface Ethernet4\n channel-group 4 mode active\ninterface + Ethernet5\n channel-group 1 mode active\ninterface Ethernet6\n channel-group + 1 mode active", "timestamp": 1623025174541}, {"namespace": "eos", "hostname": + "leaf04", "config": "interface Ethernet1\n no switchport\n ip address unnumbered + Loopback0\n ip ospf network point-to-point\n ip ospf area 0.0.0.0\ninterface + Ethernet2\n no switchport\n ip address unnumbered Loopback0\n ip ospf network + point-to-point\n ip ospf area 0.0.0.0\ninterface Ethernet3\n channel-group + 3 mode active\ninterface Ethernet4\n channel-group 4 mode active\ninterface + Ethernet5\n channel-group 1 mode active\ninterface Ethernet6\n channel-group + 1 mode active", "timestamp": 1623025174543}, {"namespace": "eos", "hostname": + "exit01", "config": "interface Ethernet1\n no switchport\n ip address unnumbered + Loopback0\n ip ospf neighbor bfd\n ip ospf network point-to-point\n ip ospf + area 0.0.0.0\ninterface Ethernet2\n no switchport\n ip address unnumbered + Loopback0\n ip ospf network point-to-point\n ip ospf area 0.0.0.0\ninterface + Ethernet3\n no switchport\ninterface Ethernet3.2\n encapsulation dot1q vlan + 2\n ip address 169.254.254.1/30\ninterface Ethernet3.3\n encapsulation dot1q + vlan 3\n vrf evpn-vrf\n ip address 169.254.254.5/30\ninterface Ethernet3.4\n encapsulation + dot1q vlan 4\n vrf internet-vrf\n ip address 169.254.254.9/30\ninterface Ethernet4\n no + switchport\n vrf internet-vrf\n ip address 169.254.127.1/31", "timestamp": + 1623025174545}, {"namespace": "eos", "hostname": "spine01", "config": "interface + Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip ospf network + point-to-point\n ip ospf area 0.0.0.0\ninterface Ethernet2\n no switchport\n ip + address unnumbered Loopback0\n ip ospf network point-to-point\n ip ospf area + 0.0.0.0\ninterface Ethernet3\n no switchport\n ip address unnumbered Loopback0\n ip + ospf network point-to-point\n ip ospf area 0.0.0.0\ninterface Ethernet4\n no + switchport\n ip address unnumbered Loopback0\n ip ospf network point-to-point\n ip + ospf area 0.0.0.0\ninterface Ethernet5\n no switchport\n ip address unnumbered + Loopback0\n ip ospf neighbor bfd\n ip ospf network point-to-point\n ip ospf + area 0.0.0.0\ninterface Ethernet6\n no switchport\n ip address unnumbered + Loopback0\n ip ospf neighbor bfd\n ip ospf network point-to-point\n ip ospf + area 0.0.0.0", "timestamp": 1623025174548}, {"namespace": "eos", "hostname": "spine02", + "config": "interface Ethernet1\n no switchport\n ip address unnumbered Loopback0\n ip + ospf network point-to-point\n ip ospf area 0.0.0.0\ninterface Ethernet2\n no + switchport\n ip address unnumbered Loopback0\n ip ospf network point-to-point\n ip + ospf area 0.0.0.0\ninterface Ethernet3\n no switchport\n ip address unnumbered + Loopback0\n ip ospf network point-to-point\n ip ospf area 0.0.0.0\ninterface + Ethernet4\n no switchport\n ip address unnumbered Loopback0\n ip ospf network + point-to-point\n ip ospf area 0.0.0.0\ninterface Ethernet5\n no switchport\n ip + address unnumbered Loopback0\n ip ospf neighbor bfd\n ip ospf network point-to-point\n ip + ospf area 0.0.0.0\ninterface Ethernet6\n no switchport\n ip address unnumbered + Loopback0\n ip ospf neighbor bfd\n ip ospf network point-to-point\n ip ospf + area 0.0.0.0", "timestamp": 1623025174550}]' +- command: devconfig show --format=json --namespace=eos --section='ip ospf network + point-to-point' + data-directory: tests/data/parquet/ + marks: devconfig show nxos + output: '[{"namespace": "eos", "hostname": "leaf02", "config": " ip ospf network + point-to-point\n ip ospf network point-to-point", "timestamp": 1623025174534}, + {"namespace": "eos", "hostname": "exit02", "config": " ip ospf network point-to-point\n ip + ospf network point-to-point", "timestamp": 1623025174536}, {"namespace": "eos", + "hostname": "leaf03", "config": " ip ospf network point-to-point\n ip ospf + network point-to-point", "timestamp": 1623025174538}, {"namespace": "eos", "hostname": + "leaf01", "config": " ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1623025174541}, {"namespace": "eos", "hostname": "leaf04", "config": + " ip ospf network point-to-point\n ip ospf network point-to-point", "timestamp": + 1623025174543}, {"namespace": "eos", "hostname": "exit01", "config": " ip ospf + network point-to-point\n ip ospf network point-to-point", "timestamp": 1623025174545}, + {"namespace": "eos", "hostname": "spine01", "config": " ip ospf network point-to-point\n ip + ospf network point-to-point\n ip ospf network point-to-point\n ip ospf network + point-to-point\n ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1623025174548}, {"namespace": "eos", "hostname": "spine02", "config": + " ip ospf network point-to-point\n ip ospf network point-to-point\n ip ospf + network point-to-point\n ip ospf network point-to-point\n ip ospf network + point-to-point\n ip ospf network point-to-point", "timestamp": 1623025174550}]' +- command: devconfig show --format=json --namespace=eos --section='router bgp' + data-directory: tests/data/parquet/ + marks: devconfig show eos + output: '[{"namespace": "eos", "hostname": "leaf02", "config": "router bgp 64520\n router-id + 10.0.0.12\n no bgp default ipv4-unicast\n neighbor RR peer group\n neighbor + RR remote-as 64520\n neighbor RR send-community extended\n neighbor RR maximum-routes + 12000\n neighbor 10.0.0.21 peer group RR\n neighbor 10.0.0.22 peer group RR\n !\n vlan + 10\n rd 10.0.0.12:10\n route-target export auto\n route-target + import auto 64520\n redistribute learned\n vlan 30\n rd 10.0.0.12:30\n route-target + export auto\n route-target import auto 64520\n redistribute learned\n address-family + evpn\n neighbor 10.0.0.21 activate\n neighbor 10.0.0.22 activate\n vrf + evpn-vrf\n rd 10.0.0.12:999\n route-target import evpn 64520:999\n route-target + export evpn 64520:999\n maximum-paths 4\n redistribute connected route-map + ADV_SVIS", "timestamp": 1623025174534}, {"namespace": "eos", "hostname": "exit02", + "config": "router bgp 64520\n router-id 10.0.0.32\n no bgp default ipv4-unicast\n neighbor + FW peer group\n neighbor FW maximum-routes 12000\n neighbor RR peer group\n neighbor + RR remote-as 64520\n neighbor RR send-community extended\n neighbor RR maximum-routes + 12000\n neighbor 10.0.0.21 peer group RR\n neighbor 10.0.0.22 peer group RR\n neighbor + 169.254.253.2 peer group FW\n neighbor 169.254.253.2 remote-as 65533\n neighbor + 169.254.253.2 local-as 65520 no-prepend replace-as\n !\n address-family evpn\n neighbor + 10.0.0.21 activate\n neighbor 10.0.0.22 activate\n address-family ipv4\n neighbor + FW activate\n vrf evpn-vrf\n rd 10.0.0.32:999\n route-target import + evpn 64520:999\n route-target export evpn 64520:999\n neighbor 169.254.253.6 + peer group FW\n neighbor 169.254.253.6 remote-as 65533\n neighbor 169.254.253.6 + local-as 65521 no-prepend replace-as\n aggregate-address 172.16.1.0/24 summary-only + attribute-map LOWER_AGGRT_PREF\n aggregate-address 172.16.2.0/24 summary-only + attribute-map LOWER_AGGRT_PREF\n aggregate-address 172.16.3.0/24 summary-only + attribute-map LOWER_AGGRT_PREF\n vrf internet-vrf\n neighbor 169.254.127.2 + peer group FW\n neighbor 169.254.127.2 remote-as 65534\n neighbor 169.254.127.2 + local-as 65522 no-prepend replace-as\n neighbor 169.254.127.2 bfd\n neighbor + 169.254.253.10 peer group FW\n neighbor 169.254.253.10 remote-as 65533\n neighbor + 169.254.253.10 local-as 65522 no-prepend replace-as", "timestamp": 1623025174536}, + {"namespace": "eos", "hostname": "leaf03", "config": "router bgp 64520\n router-id + 10.0.0.13\n no bgp default ipv4-unicast\n neighbor RR peer group\n neighbor + RR remote-as 64520\n neighbor RR send-community extended\n neighbor RR maximum-routes + 12000\n neighbor 10.0.0.21 peer group RR\n neighbor 10.0.0.22 peer group RR\n !\n vlan + 20\n rd 10.0.0.13:20\n route-target export auto\n route-target + import auto 64520\n redistribute learned\n vlan 30\n rd 10.0.0.13:30\n route-target + export auto\n route-target import auto 64520\n redistribute learned\n address-family + evpn\n neighbor 10.0.0.21 activate\n neighbor 10.0.0.22 activate\n vrf + evpn-vrf\n rd 10.0.0.13:999\n route-target import evpn 64520:999\n route-target + export evpn 64520:999\n maximum-paths 4\n redistribute connected route-map + ADV_SVIS", "timestamp": 1623025174538}, {"namespace": "eos", "hostname": "leaf01", + "config": "router bgp 64520\n router-id 10.0.0.11\n no bgp default ipv4-unicast\n neighbor + RR peer group\n neighbor RR remote-as 64520\n neighbor RR send-community extended\n neighbor + RR maximum-routes 12000\n neighbor 10.0.0.21 peer group RR\n neighbor 10.0.0.22 + peer group RR\n !\n vlan 10\n rd 10.0.0.11:10\n route-target export + auto\n route-target import auto 64520\n redistribute learned\n vlan + 30\n rd 10.0.0.11:30\n route-target export auto\n route-target + import auto 64520\n redistribute learned\n address-family evpn\n neighbor + 10.0.0.21 activate\n neighbor 10.0.0.22 activate\n vrf evpn-vrf\n rd + 10.0.0.11:999\n route-target import evpn 64520:999\n route-target export + evpn 64520:999\n maximum-paths 4\n redistribute connected route-map + ADV_SVIS", "timestamp": 1623025174541}, {"namespace": "eos", "hostname": "leaf04", + "config": "router bgp 64520\n router-id 10.0.0.14\n no bgp default ipv4-unicast\n neighbor + RR peer group\n neighbor RR remote-as 64520\n neighbor RR send-community extended\n neighbor + RR maximum-routes 12000\n neighbor 10.0.0.21 peer group RR\n neighbor 10.0.0.22 + peer group RR\n !\n vlan 20\n rd 10.0.0.14:20\n route-target export + auto\n route-target import auto 64520\n redistribute learned\n vlan + 30\n rd 10.0.0.14:30\n route-target export auto\n route-target + import auto 64520\n redistribute learned\n address-family evpn\n neighbor + 10.0.0.21 activate\n neighbor 10.0.0.22 activate\n vrf evpn-vrf\n rd + 10.0.0.14:999\n route-target import evpn 64520:999\n route-target export + evpn 64520:999\n maximum-paths 4\n redistribute connected route-map + ADV_SVIS", "timestamp": 1623025174543}, {"namespace": "eos", "hostname": "exit01", + "config": "router bgp 64520\n router-id 10.0.0.31\n no bgp default ipv4-unicast\n neighbor + FW peer group\n neighbor FW maximum-routes 12000\n neighbor RR peer group\n neighbor + RR remote-as 64520\n neighbor RR send-community extended\n neighbor RR maximum-routes + 12000\n neighbor 10.0.0.21 peer group RR\n neighbor 10.0.0.22 peer group RR\n neighbor + 169.254.254.2 peer group FW\n neighbor 169.254.254.2 remote-as 65533\n neighbor + 169.254.254.2 local-as 65520 no-prepend replace-as\n !\n address-family evpn\n neighbor + 10.0.0.21 activate\n neighbor 10.0.0.22 activate\n address-family ipv4\n neighbor + FW activate\n vrf evpn-vrf\n rd 10.0.0.31:999\n route-target import + evpn 64520:999\n route-target export evpn 64520:999\n neighbor 169.254.254.6 + peer group FW\n neighbor 169.254.254.6 remote-as 65533\n neighbor 169.254.254.6 + local-as 65521 no-prepend replace-as\n aggregate-address 172.16.1.0/24 summary-only\n aggregate-address + 172.16.2.0/24 summary-only\n aggregate-address 172.16.3.0/24 summary-only\n vrf + internet-vrf\n neighbor 169.254.127.0 peer group FW\n neighbor 169.254.127.0 + remote-as 65534\n neighbor 169.254.127.0 local-as 65522 no-prepend replace-as\n neighbor + 169.254.127.0 bfd\n neighbor 169.254.254.10 peer group FW\n neighbor + 169.254.254.10 remote-as 65533\n neighbor 169.254.254.10 local-as 65522 no-prepend + replace-as", "timestamp": 1623025174545}, {"namespace": "eos", "hostname": "spine01", + "config": "router bgp 64520\n router-id 10.0.0.21\n no bgp default ipv4-unicast\n neighbor + RR peer group\n neighbor RR remote-as 64520\n neighbor RR route-reflector-client\n neighbor + RR send-community extended\n neighbor RR maximum-routes 12000\n neighbor 10.0.0.11 + peer group RR\n neighbor 10.0.0.12 peer group RR\n neighbor 10.0.0.13 peer + group RR\n neighbor 10.0.0.14 peer group RR\n neighbor 10.0.0.31 peer group + RR\n neighbor 10.0.0.32 peer group RR\n !\n address-family evpn\n neighbor + 10.0.0.11 activate\n neighbor 10.0.0.12 activate\n neighbor 10.0.0.13 + activate\n neighbor 10.0.0.14 activate\n neighbor 10.0.0.31 activate\n neighbor + 10.0.0.32 activate", "timestamp": 1623025174548}, {"namespace": "eos", "hostname": + "spine02", "config": "router bgp 64520\n router-id 10.0.0.22\n no bgp default + ipv4-unicast\n neighbor RR peer group\n neighbor RR remote-as 64520\n neighbor + RR route-reflector-client\n neighbor RR send-community extended\n neighbor + RR maximum-routes 12000\n neighbor 10.0.0.11 peer group RR\n neighbor 10.0.0.12 + peer group RR\n neighbor 10.0.0.13 peer group RR\n neighbor 10.0.0.14 peer + group RR\n neighbor 10.0.0.31 peer group RR\n neighbor 10.0.0.32 peer group + RR\n !\n address-family evpn\n neighbor 10.0.0.11 activate\n neighbor + 10.0.0.12 activate\n neighbor 10.0.0.13 activate\n neighbor 10.0.0.14 + activate\n neighbor 10.0.0.31 activate\n neighbor 10.0.0.32 activate", + "timestamp": 1623025174550}]' diff --git a/tests/integration/sqcmds/nxos-samples/devconfig.yml b/tests/integration/sqcmds/nxos-samples/devconfig.yml index 79728b63cb..756366c8ae 100644 --- a/tests/integration/sqcmds/nxos-samples/devconfig.yml +++ b/tests/integration/sqcmds/nxos-samples/devconfig.yml @@ -3,10 +3,10 @@ tests: - command: devconfig show --format=json --namespace=nxos data-directory: tests/data/parquet/ marks: devconfig show nxos - output: '[{"namespace": "nxos", "config": "## Last commit: 2021-05-22 19:12:54 UTC - by vagrant\nversion 20191212.201431_builder.r1074901;\nsystem {\n host-name - dcedge01;\n root-authentication {\n }\n login {\n user vagrant - {\n uid 2000;\n class super-user;\n authentication + output: '[{"namespace": "nxos", "hostname": "dcedge01", "config": "## Last commit: + 2021-05-22 19:12:54 UTC by vagrant\nversion 20191212.201431_builder.r1074901;\nsystem + {\n host-name dcedge01;\n root-authentication {\n }\n login {\n user + vagrant {\n uid 2000;\n class super-user;\n authentication {\n }\n }\n }\n services {\n ssh {\n root-login allow;\n }\n netconf {\n ssh;\n }\n rest {\n http {\n port 8080;\n }\n enable-explorer;\n }\n }\n syslog @@ -842,8 +842,8 @@ tests: 169.254.127.1 {\n peer-as 65522;\n }\n neighbor 169.254.127.3 {\n peer-as 65522;\n }\n }\n }\n lldp {\n interface all;\n }\n igmp-snooping {\n vlan default;\n }\n}\nvlans - {\n default {\n vlan-id 1;\n }\n}", "hostname": "dcedge01", "timestamp": - 1622031362170}, {"namespace": "nxos", "config": "\n!Command: show running-config + {\n default {\n vlan-id 1;\n }\n}", "timestamp": 1622031362170}, + {"namespace": "nxos", "hostname": "leaf03", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:59:17 2021\n\nversion 9.3(4) Bios:version \nhostname leaf03\nvdc leaf03 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource @@ -917,8 +917,8 @@ tests: extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths - ibgp 4\n\nlogging server dns-refresh-interval 0\n\n", "hostname": "leaf03", "timestamp": - 1622031362698}, {"namespace": "nxos", "config": "\n!Command: show running-config + ibgp 4\n\nlogging server dns-refresh-interval 0\n\n", "timestamp": 1622031362698}, + {"namespace": "nxos", "hostname": "leaf04", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 12:00:19 2021\n\nversion 9.3(4) Bios:version \nhostname leaf04\nvdc leaf04 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource @@ -992,8 +992,8 @@ tests: extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths - ibgp 4\n\n\n", "hostname": "leaf04", "timestamp": 1622031362708}, {"namespace": - "nxos", "config": "\n!Command: show running-config exclude security\n!Running + ibgp 4\n\n\n", "timestamp": 1622031362708}, {"namespace": "nxos", "hostname": + "leaf01", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:59:05 2021\n\nversion 9.3(4) Bios:version \nhostname leaf01\nvdc leaf01 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource port-channel minimum 0 maximum 511\n limit-resource @@ -1066,8 +1066,8 @@ tests: extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths - ibgp 4\n\n\n", "hostname": "leaf01", "timestamp": 1622031362773}, {"namespace": - "nxos", "config": "\n!Command: show running-config exclude security\n!Running + ibgp 4\n\n\n", "timestamp": 1622031362773}, {"namespace": "nxos", "hostname": + "spine02", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:59:55 2021\n\nversion 9.3(4) Bios:version \nhostname spine02\nvdc spine02 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource port-channel minimum 0 maximum 511\n limit-resource @@ -1120,7 +1120,7 @@ tests: bgp 64520\n log-neighbor-changes\n address-family l2vpn evpn\n retain route-target all\n neighbor 10.0.0.0/24\n remote-as 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community extended\n route-reflector-client\n\n\n", - "hostname": "spine02", "timestamp": 1622031362791}, {"namespace": "nxos", "config": + "timestamp": 1622031362791}, {"namespace": "nxos", "hostname": "spine01", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:59:46 2021\n\nversion 9.3(4) Bios:version \nhostname spine01\nvdc spine01 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource @@ -1174,7 +1174,7 @@ tests: bgp 64520\n log-neighbor-changes\n address-family l2vpn evpn\n retain route-target all\n neighbor 10.0.0.0/24\n remote-as 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community extended\n route-reflector-client\n\n\n", - "hostname": "spine01", "timestamp": 1622031362803}, {"namespace": "nxos", "config": + "timestamp": 1622031362803}, {"namespace": "nxos", "hostname": "exit01", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:56:34 2021\n\nversion 9.3(4) Bios:version \nhostname exit01\nvdc exit01 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf @@ -1246,8 +1246,8 @@ tests: internet-vrf\n neighbor 169.254.127.0\n inherit peer FIREWALL\n remote-as 65534\n local-as 65522 no-prepend replace-as\n address-family ipv4 unicast\n neighbor 169.254.254.10\n inherit peer FIREWALL\n remote-as 65533\n local-as - 65522 no-prepend replace-as\n address-family ipv4 unicast\n\n\n", "hostname": - "exit01", "timestamp": 1622031362813}, {"namespace": "nxos", "config": "\n!Command: + 65522 no-prepend replace-as\n address-family ipv4 unicast\n\n\n", "timestamp": + 1622031362813}, {"namespace": "nxos", "hostname": "exit02", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:59:16 2021\n\nversion 9.3(4) Bios:version \nhostname exit02\nvdc exit02 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum @@ -1319,8 +1319,8 @@ tests: internet-vrf\n neighbor 169.254.127.2\n inherit peer FIREWALL\n remote-as 65534\n local-as 65522 no-prepend replace-as\n address-family ipv4 unicast\n neighbor 169.254.253.10\n inherit peer FIREWALL\n remote-as 65533\n local-as - 65522 no-prepend replace-as\n address-family ipv4 unicast\n\n\n", "hostname": - "exit02", "timestamp": 1622031362822}, {"namespace": "nxos", "config": "\n!Command: + 65522 no-prepend replace-as\n address-family ipv4 unicast\n\n\n", "timestamp": + 1622031362822}, {"namespace": "nxos", "hostname": "leaf02", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:59:35 2021\n\nversion 9.3(4) Bios:version \nhostname leaf02\nvdc leaf02 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum @@ -1394,31 +1394,31 @@ tests: extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths - ibgp 4\n\n\n", "hostname": "leaf02", "timestamp": 1622031362822}]' + ibgp 4\n\n\n", "timestamp": 1622031362822}]' - command: devconfig show --hostname=leaf01 --format=json --namespace=nxos data-directory: tests/data/parquet/ marks: devconfig show nxos - output: '[{"namespace": "nxos", "config": "\n!Command: show running-config exclude - security\n!Running configuration last done at: Wed May 26 11:59:05 2021\n\nversion - 9.3(4) Bios:version \nhostname leaf01\nvdc leaf01 id 1\n limit-resource vlan - minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource - port-channel minimum 0 maximum 511\n limit-resource u4route-mem minimum 128 maximum - 128\n limit-resource u6route-mem minimum 96 maximum 96\n limit-resource m4route-mem - minimum 58 maximum 58\n limit-resource m6route-mem minimum 8 maximum 8\n\nfeature - privilege\ncfs eth distribute\nnv overlay evpn\nfeature ospf\nfeature bgp\nfeature - pim\nfeature fabric forwarding\nfeature interface-vlan\nfeature vn-segment-vlan-based\nfeature - lacp\nfeature vpc\nfeature lldp\nfeature nv overlay\n\nip domain-lookup\nip name-server - 10.255.4.1 use-vrf management\nrmon event 1 description FATAL(1) owner PMON@FATAL\nrmon - event 2 description CRITICAL(2) owner PMON@CRITICAL\nrmon event 3 description - ERROR(3) owner PMON@ERROR\nrmon event 4 description WARNING(4) owner PMON@WARNING\nrmon - event 5 description INFORMATION(5) owner PMON@INFO\n\nfabric forwarding anycast-gateway-mac - 0000.0011.1210\nvlan 1,10,30,999,3960\nvlan 10\n vn-segment 10\nvlan 30\n vn-segment - 30\nvlan 999\n vn-segment 999\n\nip prefix-list ATTACHED_SVIS seq 10 permit 172.16.0.0/16 - ge 24 \nroute-map ADV_SVIS permit 10\n match ip address prefix-list ATTACHED_SVIS - \nvrf context evpn-vrf\n vni 999\nvrf context management\n ip route 0.0.0.0/0 - 10.255.4.1\nhardware access-list tcam region vpc-convergence 0\nhardware access-list - tcam region arp-ether 256\nvpc domain 12\n peer-switch\n peer-keepalive destination - 10.255.4.185 source 10.255.4.184\n peer-gateway\n layer3 peer-router\n auto-recovery\n ipv6 + output: '[{"namespace": "nxos", "hostname": "leaf01", "config": "\n!Command: show + running-config exclude security\n!Running configuration last done at: Wed May + 26 11:59:05 2021\n\nversion 9.3(4) Bios:version \nhostname leaf01\nvdc leaf01 + id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum + 2 maximum 4096\n limit-resource port-channel minimum 0 maximum 511\n limit-resource + u4route-mem minimum 128 maximum 128\n limit-resource u6route-mem minimum 96 maximum + 96\n limit-resource m4route-mem minimum 58 maximum 58\n limit-resource m6route-mem + minimum 8 maximum 8\n\nfeature privilege\ncfs eth distribute\nnv overlay evpn\nfeature + ospf\nfeature bgp\nfeature pim\nfeature fabric forwarding\nfeature interface-vlan\nfeature + vn-segment-vlan-based\nfeature lacp\nfeature vpc\nfeature lldp\nfeature nv overlay\n\nip + domain-lookup\nip name-server 10.255.4.1 use-vrf management\nrmon event 1 description + FATAL(1) owner PMON@FATAL\nrmon event 2 description CRITICAL(2) owner PMON@CRITICAL\nrmon + event 3 description ERROR(3) owner PMON@ERROR\nrmon event 4 description WARNING(4) + owner PMON@WARNING\nrmon event 5 description INFORMATION(5) owner PMON@INFO\n\nfabric + forwarding anycast-gateway-mac 0000.0011.1210\nvlan 1,10,30,999,3960\nvlan 10\n vn-segment + 10\nvlan 30\n vn-segment 30\nvlan 999\n vn-segment 999\n\nip prefix-list ATTACHED_SVIS + seq 10 permit 172.16.0.0/16 ge 24 \nroute-map ADV_SVIS permit 10\n match ip address + prefix-list ATTACHED_SVIS \nvrf context evpn-vrf\n vni 999\nvrf context management\n ip + route 0.0.0.0/0 10.255.4.1\nhardware access-list tcam region vpc-convergence 0\nhardware + access-list tcam region arp-ether 256\nvpc domain 12\n peer-switch\n peer-keepalive + destination 10.255.4.185 source 10.255.4.184\n peer-gateway\n layer3 peer-router\n auto-recovery\n ipv6 nd synchronize\n ip arp synchronize\n\n\ninterface Vlan1\n no ip redirects\n no ipv6 redirects\n\ninterface Vlan10\n no shutdown\n mtu 9000\n vrf member evpn-vrf\n no ip redirects\n ip address 172.16.1.254/24\n no ipv6 redirects\n fabric forwarding @@ -1472,31 +1472,31 @@ tests: extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths - ibgp 4\n\n\n", "hostname": "leaf01", "timestamp": 1622031362773}]' + ibgp 4\n\n\n", "timestamp": 1622031362773}]' - command: devconfig show --hostname='leaf01 spine01' --format=json --namespace=nxos data-directory: tests/data/parquet/ marks: devconfig show nxos - output: '[{"namespace": "nxos", "config": "\n!Command: show running-config exclude - security\n!Running configuration last done at: Wed May 26 11:59:05 2021\n\nversion - 9.3(4) Bios:version \nhostname leaf01\nvdc leaf01 id 1\n limit-resource vlan - minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource - port-channel minimum 0 maximum 511\n limit-resource u4route-mem minimum 128 maximum - 128\n limit-resource u6route-mem minimum 96 maximum 96\n limit-resource m4route-mem - minimum 58 maximum 58\n limit-resource m6route-mem minimum 8 maximum 8\n\nfeature - privilege\ncfs eth distribute\nnv overlay evpn\nfeature ospf\nfeature bgp\nfeature - pim\nfeature fabric forwarding\nfeature interface-vlan\nfeature vn-segment-vlan-based\nfeature - lacp\nfeature vpc\nfeature lldp\nfeature nv overlay\n\nip domain-lookup\nip name-server - 10.255.4.1 use-vrf management\nrmon event 1 description FATAL(1) owner PMON@FATAL\nrmon - event 2 description CRITICAL(2) owner PMON@CRITICAL\nrmon event 3 description - ERROR(3) owner PMON@ERROR\nrmon event 4 description WARNING(4) owner PMON@WARNING\nrmon - event 5 description INFORMATION(5) owner PMON@INFO\n\nfabric forwarding anycast-gateway-mac - 0000.0011.1210\nvlan 1,10,30,999,3960\nvlan 10\n vn-segment 10\nvlan 30\n vn-segment - 30\nvlan 999\n vn-segment 999\n\nip prefix-list ATTACHED_SVIS seq 10 permit 172.16.0.0/16 - ge 24 \nroute-map ADV_SVIS permit 10\n match ip address prefix-list ATTACHED_SVIS - \nvrf context evpn-vrf\n vni 999\nvrf context management\n ip route 0.0.0.0/0 - 10.255.4.1\nhardware access-list tcam region vpc-convergence 0\nhardware access-list - tcam region arp-ether 256\nvpc domain 12\n peer-switch\n peer-keepalive destination - 10.255.4.185 source 10.255.4.184\n peer-gateway\n layer3 peer-router\n auto-recovery\n ipv6 + output: '[{"namespace": "nxos", "hostname": "leaf01", "config": "\n!Command: show + running-config exclude security\n!Running configuration last done at: Wed May + 26 11:59:05 2021\n\nversion 9.3(4) Bios:version \nhostname leaf01\nvdc leaf01 + id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum + 2 maximum 4096\n limit-resource port-channel minimum 0 maximum 511\n limit-resource + u4route-mem minimum 128 maximum 128\n limit-resource u6route-mem minimum 96 maximum + 96\n limit-resource m4route-mem minimum 58 maximum 58\n limit-resource m6route-mem + minimum 8 maximum 8\n\nfeature privilege\ncfs eth distribute\nnv overlay evpn\nfeature + ospf\nfeature bgp\nfeature pim\nfeature fabric forwarding\nfeature interface-vlan\nfeature + vn-segment-vlan-based\nfeature lacp\nfeature vpc\nfeature lldp\nfeature nv overlay\n\nip + domain-lookup\nip name-server 10.255.4.1 use-vrf management\nrmon event 1 description + FATAL(1) owner PMON@FATAL\nrmon event 2 description CRITICAL(2) owner PMON@CRITICAL\nrmon + event 3 description ERROR(3) owner PMON@ERROR\nrmon event 4 description WARNING(4) + owner PMON@WARNING\nrmon event 5 description INFORMATION(5) owner PMON@INFO\n\nfabric + forwarding anycast-gateway-mac 0000.0011.1210\nvlan 1,10,30,999,3960\nvlan 10\n vn-segment + 10\nvlan 30\n vn-segment 30\nvlan 999\n vn-segment 999\n\nip prefix-list ATTACHED_SVIS + seq 10 permit 172.16.0.0/16 ge 24 \nroute-map ADV_SVIS permit 10\n match ip address + prefix-list ATTACHED_SVIS \nvrf context evpn-vrf\n vni 999\nvrf context management\n ip + route 0.0.0.0/0 10.255.4.1\nhardware access-list tcam region vpc-convergence 0\nhardware + access-list tcam region arp-ether 256\nvpc domain 12\n peer-switch\n peer-keepalive + destination 10.255.4.185 source 10.255.4.184\n peer-gateway\n layer3 peer-router\n auto-recovery\n ipv6 nd synchronize\n ip arp synchronize\n\n\ninterface Vlan1\n no ip redirects\n no ipv6 redirects\n\ninterface Vlan10\n no shutdown\n mtu 9000\n vrf member evpn-vrf\n no ip redirects\n ip address 172.16.1.254/24\n no ipv6 redirects\n fabric forwarding @@ -1550,8 +1550,8 @@ tests: extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths - ibgp 4\n\n\n", "hostname": "leaf01", "timestamp": 1622031362773}, {"namespace": - "nxos", "config": "\n!Command: show running-config exclude security\n!Running + ibgp 4\n\n\n", "timestamp": 1622031362773}, {"namespace": "nxos", "hostname": + "spine01", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:59:46 2021\n\nversion 9.3(4) Bios:version \nhostname spine01\nvdc spine01 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource port-channel minimum 0 maximum 511\n limit-resource @@ -1604,32 +1604,32 @@ tests: bgp 64520\n log-neighbor-changes\n address-family l2vpn evpn\n retain route-target all\n neighbor 10.0.0.0/24\n remote-as 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community extended\n route-reflector-client\n\n\n", - "hostname": "spine01", "timestamp": 1622031362803}]' + "timestamp": 1622031362803}]' - command: devconfig show --hostname='leaf01 spine01' --query-str='config.str.contains("10.0.0.21")' --format=json --namespace=nxos data-directory: tests/data/parquet/ marks: devconfig show nxos - output: '[{"namespace": "nxos", "config": "\n!Command: show running-config exclude - security\n!Running configuration last done at: Wed May 26 11:59:05 2021\n\nversion - 9.3(4) Bios:version \nhostname leaf01\nvdc leaf01 id 1\n limit-resource vlan - minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource - port-channel minimum 0 maximum 511\n limit-resource u4route-mem minimum 128 maximum - 128\n limit-resource u6route-mem minimum 96 maximum 96\n limit-resource m4route-mem - minimum 58 maximum 58\n limit-resource m6route-mem minimum 8 maximum 8\n\nfeature - privilege\ncfs eth distribute\nnv overlay evpn\nfeature ospf\nfeature bgp\nfeature - pim\nfeature fabric forwarding\nfeature interface-vlan\nfeature vn-segment-vlan-based\nfeature - lacp\nfeature vpc\nfeature lldp\nfeature nv overlay\n\nip domain-lookup\nip name-server - 10.255.4.1 use-vrf management\nrmon event 1 description FATAL(1) owner PMON@FATAL\nrmon - event 2 description CRITICAL(2) owner PMON@CRITICAL\nrmon event 3 description - ERROR(3) owner PMON@ERROR\nrmon event 4 description WARNING(4) owner PMON@WARNING\nrmon - event 5 description INFORMATION(5) owner PMON@INFO\n\nfabric forwarding anycast-gateway-mac - 0000.0011.1210\nvlan 1,10,30,999,3960\nvlan 10\n vn-segment 10\nvlan 30\n vn-segment - 30\nvlan 999\n vn-segment 999\n\nip prefix-list ATTACHED_SVIS seq 10 permit 172.16.0.0/16 - ge 24 \nroute-map ADV_SVIS permit 10\n match ip address prefix-list ATTACHED_SVIS - \nvrf context evpn-vrf\n vni 999\nvrf context management\n ip route 0.0.0.0/0 - 10.255.4.1\nhardware access-list tcam region vpc-convergence 0\nhardware access-list - tcam region arp-ether 256\nvpc domain 12\n peer-switch\n peer-keepalive destination - 10.255.4.185 source 10.255.4.184\n peer-gateway\n layer3 peer-router\n auto-recovery\n ipv6 + output: '[{"namespace": "nxos", "hostname": "leaf01", "config": "\n!Command: show + running-config exclude security\n!Running configuration last done at: Wed May + 26 11:59:05 2021\n\nversion 9.3(4) Bios:version \nhostname leaf01\nvdc leaf01 + id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum + 2 maximum 4096\n limit-resource port-channel minimum 0 maximum 511\n limit-resource + u4route-mem minimum 128 maximum 128\n limit-resource u6route-mem minimum 96 maximum + 96\n limit-resource m4route-mem minimum 58 maximum 58\n limit-resource m6route-mem + minimum 8 maximum 8\n\nfeature privilege\ncfs eth distribute\nnv overlay evpn\nfeature + ospf\nfeature bgp\nfeature pim\nfeature fabric forwarding\nfeature interface-vlan\nfeature + vn-segment-vlan-based\nfeature lacp\nfeature vpc\nfeature lldp\nfeature nv overlay\n\nip + domain-lookup\nip name-server 10.255.4.1 use-vrf management\nrmon event 1 description + FATAL(1) owner PMON@FATAL\nrmon event 2 description CRITICAL(2) owner PMON@CRITICAL\nrmon + event 3 description ERROR(3) owner PMON@ERROR\nrmon event 4 description WARNING(4) + owner PMON@WARNING\nrmon event 5 description INFORMATION(5) owner PMON@INFO\n\nfabric + forwarding anycast-gateway-mac 0000.0011.1210\nvlan 1,10,30,999,3960\nvlan 10\n vn-segment + 10\nvlan 30\n vn-segment 30\nvlan 999\n vn-segment 999\n\nip prefix-list ATTACHED_SVIS + seq 10 permit 172.16.0.0/16 ge 24 \nroute-map ADV_SVIS permit 10\n match ip address + prefix-list ATTACHED_SVIS \nvrf context evpn-vrf\n vni 999\nvrf context management\n ip + route 0.0.0.0/0 10.255.4.1\nhardware access-list tcam region vpc-convergence 0\nhardware + access-list tcam region arp-ether 256\nvpc domain 12\n peer-switch\n peer-keepalive + destination 10.255.4.185 source 10.255.4.184\n peer-gateway\n layer3 peer-router\n auto-recovery\n ipv6 nd synchronize\n ip arp synchronize\n\n\ninterface Vlan1\n no ip redirects\n no ipv6 redirects\n\ninterface Vlan10\n no shutdown\n mtu 9000\n vrf member evpn-vrf\n no ip redirects\n ip address 172.16.1.254/24\n no ipv6 redirects\n fabric forwarding @@ -1683,8 +1683,8 @@ tests: extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths - ibgp 4\n\n\n", "hostname": "leaf01", "timestamp": 1622031362773}, {"namespace": - "nxos", "config": "\n!Command: show running-config exclude security\n!Running + ibgp 4\n\n\n", "timestamp": 1622031362773}, {"namespace": "nxos", "hostname": + "spine01", "config": "\n!Command: show running-config exclude security\n!Running configuration last done at: Wed May 26 11:59:46 2021\n\nversion 9.3(4) Bios:version \nhostname spine01\nvdc spine01 id 1\n limit-resource vlan minimum 16 maximum 4094\n limit-resource vrf minimum 2 maximum 4096\n limit-resource port-channel minimum 0 maximum 511\n limit-resource @@ -1737,7 +1737,7 @@ tests: bgp 64520\n log-neighbor-changes\n address-family l2vpn evpn\n retain route-target all\n neighbor 10.0.0.0/24\n remote-as 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community extended\n route-reflector-client\n\n\n", - "hostname": "spine01", "timestamp": 1622031362803}]' + "timestamp": 1622031362803}]' - command: devconfig summarize --format=json --namespace=nxos data-directory: tests/data/parquet/ marks: devconfig summarize nxos @@ -1751,3 +1751,172 @@ tests: error: error: '[{"error": "Unique not supported for Device Config"}]' marks: devconfig unique nxos +- command: devconfig show --format=json --namespace=nxos --section='^interface Ethernet1/1$' + data-directory: tests/data/parquet/ + marks: devconfig show nxos + output: '[{"namespace": "nxos", "hostname": "leaf03", "config": "interface Ethernet1/1\n no + switchport\n mtu 9216\n medium p2p\n ip unnumbered loopback0\n ip ospf network + point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no shutdown", "timestamp": + 1622031362698}, {"namespace": "nxos", "hostname": "leaf04", "config": "interface + Ethernet1/1\n no switchport\n mtu 9216\n medium p2p\n ip unnumbered loopback0\n ip + ospf network point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no shutdown", + "timestamp": 1622031362708}, {"namespace": "nxos", "hostname": "leaf01", "config": + "interface Ethernet1/1\n no switchport\n mtu 9216\n medium p2p\n ip unnumbered + loopback0\n ip ospf network point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no + shutdown", "timestamp": 1622031362773}, {"namespace": "nxos", "hostname": "spine02", + "config": "interface Ethernet1/1\n no switchport\n mtu 9216\n medium p2p\n ip + unnumbered loopback0\n ip ospf network point-to-point\n ip router ospf UNDERLAY + area 0.0.0.0\n no shutdown", "timestamp": 1622031362791}, {"namespace": "nxos", + "hostname": "spine01", "config": "interface Ethernet1/1\n no switchport\n mtu + 9216\n medium p2p\n ip unnumbered loopback0\n ip ospf network point-to-point\n ip + router ospf UNDERLAY area 0.0.0.0\n no shutdown", "timestamp": 1622031362803}, + {"namespace": "nxos", "hostname": "exit01", "config": "interface Ethernet1/1\n no + switchport\n mtu 9216\n medium p2p\n ip unnumbered loopback0\n ip ospf network + point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no shutdown", "timestamp": + 1622031362813}, {"namespace": "nxos", "hostname": "exit02", "config": "interface + Ethernet1/1\n no switchport\n mtu 9216\n medium p2p\n ip unnumbered loopback0\n ip + ospf network point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no shutdown", + "timestamp": 1622031362822}, {"namespace": "nxos", "hostname": "leaf02", "config": + "interface Ethernet1/1\n no switchport\n mtu 9216\n medium p2p\n ip unnumbered + loopback0\n ip ospf network point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no + shutdown", "timestamp": 1622031362822}]' +- command: devconfig show --format=json --namespace=nxos --section='interface Ethernet1/1' + data-directory: tests/data/parquet/ + marks: devconfig show nxos + output: '[{"namespace": "nxos", "hostname": "leaf03", "config": "interface Ethernet1/1\n no + switchport\n mtu 9216\n medium p2p\n ip unnumbered loopback0\n ip ospf network + point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no shutdown\ninterface + Ethernet1/10\ninterface Ethernet1/11\ninterface Ethernet1/12\ninterface Ethernet1/13\ninterface + Ethernet1/14\ninterface Ethernet1/15\ninterface Ethernet1/16\ninterface Ethernet1/17\ninterface + Ethernet1/18\ninterface Ethernet1/19", "timestamp": 1622031362698}, {"namespace": + "nxos", "hostname": "leaf04", "config": "interface Ethernet1/1\n no switchport\n mtu + 9216\n medium p2p\n ip unnumbered loopback0\n ip ospf network point-to-point\n ip + router ospf UNDERLAY area 0.0.0.0\n no shutdown\ninterface Ethernet1/10\ninterface + Ethernet1/11\ninterface Ethernet1/12\ninterface Ethernet1/13\ninterface Ethernet1/14\ninterface + Ethernet1/15\ninterface Ethernet1/16\ninterface Ethernet1/17\ninterface Ethernet1/18\ninterface + Ethernet1/19", "timestamp": 1622031362708}, {"namespace": "nxos", "hostname": + "leaf01", "config": "interface Ethernet1/1\n no switchport\n mtu 9216\n medium + p2p\n ip unnumbered loopback0\n ip ospf network point-to-point\n ip router + ospf UNDERLAY area 0.0.0.0\n no shutdown\ninterface Ethernet1/10\ninterface Ethernet1/11\ninterface + Ethernet1/12\ninterface Ethernet1/13\ninterface Ethernet1/14\ninterface Ethernet1/15\ninterface + Ethernet1/16\ninterface Ethernet1/17\ninterface Ethernet1/18\ninterface Ethernet1/19", + "timestamp": 1622031362773}, {"namespace": "nxos", "hostname": "spine02", "config": + "interface Ethernet1/1\n no switchport\n mtu 9216\n medium p2p\n ip unnumbered + loopback0\n ip ospf network point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no + shutdown\ninterface Ethernet1/10\ninterface Ethernet1/11\ninterface Ethernet1/12\ninterface + Ethernet1/13\ninterface Ethernet1/14\ninterface Ethernet1/15\ninterface Ethernet1/16\ninterface + Ethernet1/17\ninterface Ethernet1/18\ninterface Ethernet1/19", "timestamp": 1622031362791}, + {"namespace": "nxos", "hostname": "spine01", "config": "interface Ethernet1/1\n no + switchport\n mtu 9216\n medium p2p\n ip unnumbered loopback0\n ip ospf network + point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no shutdown\ninterface + Ethernet1/10\ninterface Ethernet1/11\ninterface Ethernet1/12\ninterface Ethernet1/13\ninterface + Ethernet1/14\ninterface Ethernet1/15\ninterface Ethernet1/16\ninterface Ethernet1/17\ninterface + Ethernet1/18\ninterface Ethernet1/19", "timestamp": 1622031362803}, {"namespace": + "nxos", "hostname": "exit01", "config": "interface Ethernet1/1\n no switchport\n mtu + 9216\n medium p2p\n ip unnumbered loopback0\n ip ospf network point-to-point\n ip + router ospf UNDERLAY area 0.0.0.0\n no shutdown\ninterface Ethernet1/10\ninterface + Ethernet1/11\ninterface Ethernet1/12\ninterface Ethernet1/13\ninterface Ethernet1/14\ninterface + Ethernet1/15\ninterface Ethernet1/16\ninterface Ethernet1/17\ninterface Ethernet1/18\ninterface + Ethernet1/19", "timestamp": 1622031362813}, {"namespace": "nxos", "hostname": + "exit02", "config": "interface Ethernet1/1\n no switchport\n mtu 9216\n medium + p2p\n ip unnumbered loopback0\n ip ospf network point-to-point\n ip router + ospf UNDERLAY area 0.0.0.0\n no shutdown\ninterface Ethernet1/10\ninterface Ethernet1/11\ninterface + Ethernet1/12\ninterface Ethernet1/13\ninterface Ethernet1/14\ninterface Ethernet1/15\ninterface + Ethernet1/16\ninterface Ethernet1/17\ninterface Ethernet1/18\ninterface Ethernet1/19", + "timestamp": 1622031362822}, {"namespace": "nxos", "hostname": "leaf02", "config": + "interface Ethernet1/1\n no switchport\n mtu 9216\n medium p2p\n ip unnumbered + loopback0\n ip ospf network point-to-point\n ip router ospf UNDERLAY area 0.0.0.0\n no + shutdown\ninterface Ethernet1/10\ninterface Ethernet1/11\ninterface Ethernet1/12\ninterface + Ethernet1/13\ninterface Ethernet1/14\ninterface Ethernet1/15\ninterface Ethernet1/16\ninterface + Ethernet1/17\ninterface Ethernet1/18\ninterface Ethernet1/19", "timestamp": 1622031362822}]' +- command: devconfig show --format=json --namespace=nxos --section='ip ospf network + point-to-point' + data-directory: tests/data/parquet/ + marks: devconfig show nxos + output: '[{"namespace": "nxos", "hostname": "leaf03", "config": " ip ospf network + point-to-point\n ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1622031362698}, {"namespace": "nxos", "hostname": "leaf04", "config": + " ip ospf network point-to-point\n ip ospf network point-to-point\n ip ospf + network point-to-point", "timestamp": 1622031362708}, {"namespace": "nxos", "hostname": + "leaf01", "config": " ip ospf network point-to-point\n ip ospf network point-to-point\n ip + ospf network point-to-point", "timestamp": 1622031362773}, {"namespace": "nxos", + "hostname": "spine02", "config": " ip ospf network point-to-point\n ip ospf + network point-to-point\n ip ospf network point-to-point\n ip ospf network point-to-point\n ip + ospf network point-to-point\n ip ospf network point-to-point", "timestamp": 1622031362791}, + {"namespace": "nxos", "hostname": "spine01", "config": " ip ospf network point-to-point\n ip + ospf network point-to-point\n ip ospf network point-to-point\n ip ospf network + point-to-point\n ip ospf network point-to-point\n ip ospf network point-to-point", + "timestamp": 1622031362803}, {"namespace": "nxos", "hostname": "exit01", "config": + " ip ospf network point-to-point\n ip ospf network point-to-point", "timestamp": + 1622031362813}, {"namespace": "nxos", "hostname": "exit02", "config": " ip ospf + network point-to-point\n ip ospf network point-to-point", "timestamp": 1622031362822}, + {"namespace": "nxos", "hostname": "leaf02", "config": " ip ospf network point-to-point\n ip + ospf network point-to-point\n ip ospf network point-to-point", "timestamp": 1622031362822}]' +- command: devconfig show --format=json --namespace=nxos --section='router bgp' + data-directory: tests/data/parquet/ + marks: devconfig show nxos + output: '[{"namespace": "nxos", "hostname": "leaf03", "config": "router bgp 64520\n log-neighbor-changes\n template + peer VXLAN_SPINE\n remote-as 64520\n update-source loopback0\n address-family + l2vpn evpn\n send-community\n send-community extended\n neighbor 10.0.0.21\n inherit + peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family + ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths + ibgp 4", "timestamp": 1622031362698}, {"namespace": "nxos", "hostname": "leaf04", + "config": "router bgp 64520\n log-neighbor-changes\n template peer VXLAN_SPINE\n remote-as + 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community + extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit + peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family + ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths + ibgp 4", "timestamp": 1622031362708}, {"namespace": "nxos", "hostname": "leaf01", + "config": "router bgp 64520\n log-neighbor-changes\n template peer VXLAN_SPINE\n remote-as + 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community + extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit + peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family + ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths + ibgp 4", "timestamp": 1622031362773}, {"namespace": "nxos", "hostname": "spine02", + "config": "router bgp 64520\n log-neighbor-changes\n address-family l2vpn evpn\n retain + route-target all\n neighbor 10.0.0.0/24\n remote-as 64520\n update-source + loopback0\n address-family l2vpn evpn\n send-community\n send-community + extended\n route-reflector-client", "timestamp": 1622031362791}, {"namespace": + "nxos", "hostname": "spine01", "config": "router bgp 64520\n log-neighbor-changes\n address-family + l2vpn evpn\n retain route-target all\n neighbor 10.0.0.0/24\n remote-as + 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community + extended\n route-reflector-client", "timestamp": 1622031362803}, {"namespace": + "nxos", "hostname": "exit01", "config": "router bgp 64520\n log-neighbor-changes\n template + peer FIREWALL\n address-family ipv4 unicast\n soft-reconfiguration inbound + always\n template peer VXLAN_SPINE\n remote-as 64520\n update-source loopback0\n address-family + l2vpn evpn\n send-community\n send-community extended\n neighbor 10.0.0.21\n inherit + peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit peer VXLAN_SPINE\n neighbor + 169.254.254.2\n inherit peer FIREWALL\n remote-as 65533\n local-as 65520 + no-prepend replace-as\n address-family ipv4 unicast\n vrf evpn-vrf\n address-family + ipv4 unicast\n aggregate-address 172.16.1.0/24 summary-only attribute-map + LOWER_AGGRT_PREF\n aggregate-address 172.16.2.0/24 summary-only attribute-map + LOWER_AGGRT_PREF\n aggregate-address 172.16.3.0/24 summary-only attribute-map + LOWER_AGGRT_PREF\n neighbor 169.254.254.6\n inherit peer FIREWALL\n remote-as + 65533\n local-as 65521 no-prepend replace-as\n address-family ipv4 unicast\n vrf + internet-vrf\n neighbor 169.254.127.0\n inherit peer FIREWALL\n remote-as + 65534\n local-as 65522 no-prepend replace-as\n address-family ipv4 unicast\n neighbor + 169.254.254.10\n inherit peer FIREWALL\n remote-as 65533\n local-as + 65522 no-prepend replace-as\n address-family ipv4 unicast", "timestamp": + 1622031362813}, {"namespace": "nxos", "hostname": "exit02", "config": "router + bgp 64520\n log-neighbor-changes\n template peer FIREWALL\n address-family + ipv4 unicast\n soft-reconfiguration inbound always\n template peer VXLAN_SPINE\n remote-as + 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community + extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit + peer VXLAN_SPINE\n neighbor 169.254.253.2\n inherit peer FIREWALL\n remote-as + 65533\n local-as 65520 no-prepend replace-as\n address-family ipv4 unicast\n vrf + evpn-vrf\n address-family ipv4 unicast\n aggregate-address 172.16.1.0/24 + summary-only attribute-map LOWER_AGGRT_PREF\n aggregate-address 172.16.2.0/24 + summary-only attribute-map LOWER_AGGRT_PREF\n aggregate-address 172.16.3.0/24 + summary-only attribute-map LOWER_AGGRT_PREF\n neighbor 169.254.253.6\n inherit + peer FIREWALL\n remote-as 65533\n local-as 65521 no-prepend replace-as\n address-family + ipv4 unicast\n vrf internet-vrf\n neighbor 169.254.127.2\n inherit peer + FIREWALL\n remote-as 65534\n local-as 65522 no-prepend replace-as\n address-family + ipv4 unicast\n neighbor 169.254.253.10\n inherit peer FIREWALL\n remote-as + 65533\n local-as 65522 no-prepend replace-as\n address-family ipv4 unicast", + "timestamp": 1622031362822}, {"namespace": "nxos", "hostname": "leaf02", "config": + "router bgp 64520\n log-neighbor-changes\n template peer VXLAN_SPINE\n remote-as + 64520\n update-source loopback0\n address-family l2vpn evpn\n send-community\n send-community + extended\n neighbor 10.0.0.21\n inherit peer VXLAN_SPINE\n neighbor 10.0.0.22\n inherit + peer VXLAN_SPINE\n vrf evpn-vrf\n log-neighbor-changes\n address-family + ipv4 unicast\n redistribute direct route-map ADV_SVIS\n maximum-paths + ibgp 4", "timestamp": 1622031362822}]' diff --git a/tests/integration/sqcmds/panos-samples/devconfig.yml b/tests/integration/sqcmds/panos-samples/devconfig.yml index e06f1045ab..8b87f1b020 100644 --- a/tests/integration/sqcmds/panos-samples/devconfig.yml +++ b/tests/integration/sqcmds/panos-samples/devconfig.yml @@ -3,9 +3,9 @@ tests: - command: devconfig show --format=json --namespace=panos data-directory: tests/data/parquet/ marks: devconfig show panos - output: '[{"namespace": "panos", "config": "# hostname\nexit01\n# interfaces\n# - This file describes the network interfaces available on your system\n# and how - to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# + output: '[{"namespace": "panos", "hostname": "exit01", "config": "# hostname\nexit01\n# + interfaces\n# This file describes the network interfaces available on your system\n# + and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback network interface\nauto lo\niface lo inet loopback\n\n# The primary network interface\nauto eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface mgmt\n address 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN @@ -56,7 +56,7 @@ tests: FW activate\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.31\n passive-interface lo\n!\nroute-map LOWER_AGGRT_PREF permit 10\n set local-preference 10\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "exit01", "timestamp": 1639476253934}, {"namespace": "panos", + vrf mgmt", "timestamp": 1639476253934}, {"namespace": "panos", "hostname": "leaf03", "config": "# hostname\nleaf03\n# interfaces\n# This file describes the network interfaces available on your system\n# and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback @@ -115,7 +115,7 @@ tests: exit-address-family\n !\n address-family l2vpn evpn\n advertise ipv4 unicast\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.13\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "leaf03", "timestamp": 1639476253942}, {"namespace": "panos", + vrf mgmt", "timestamp": 1639476253942}, {"namespace": "panos", "hostname": "spine01", "config": "# hostname\nspine01\n# interfaces\n# This file describes the network interfaces available on your system\n# and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback @@ -146,7 +146,7 @@ tests: address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.21\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "spine01", "timestamp": 1639476253942}, {"namespace": "panos", + vrf mgmt", "timestamp": 1639476253942}, {"namespace": "panos", "hostname": "exit02", "config": "# hostname\nexit02\n# interfaces\n# This file describes the network interfaces available on your system\n# and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback @@ -200,7 +200,7 @@ tests: FW activate\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.32\n passive-interface lo\n!\nroute-map LOWER_AGGRT_PREF permit 10\n set local-preference 10\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "exit02", "timestamp": 1639476253943}, {"namespace": "panos", + vrf mgmt", "timestamp": 1639476253943}, {"namespace": "panos", "hostname": "spine02", "config": "# hostname\nspine02\n# interfaces\n# This file describes the network interfaces available on your system\n# and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback @@ -231,7 +231,7 @@ tests: address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.22\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "spine02", "timestamp": 1639476253943}, {"namespace": "panos", + vrf mgmt", "timestamp": 1639476253943}, {"namespace": "panos", "hostname": "dcedge01", "config": "# hostname\ndcedge01\n# interfaces\n# This file describes the network interfaces available on your system\n# and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback @@ -250,8 +250,8 @@ tests: 169.254.127.1 peer-group ISL\n neighbor 169.254.127.3 peer-group ISL\n !\n address-family ipv4 unicast\n redistribute connected route-map LOOPBACKS\n neighbor ISL default-originate\n exit-address-family\n!\nroute-map LOOPBACKS permit 10\n match interface lo\n!\nline - vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # vrf mgmt", "hostname": - "dcedge01", "timestamp": 1639476253948}, {"namespace": "panos", "config": "# hostname\nleaf01\n# + vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # vrf mgmt", "timestamp": + 1639476253948}, {"namespace": "panos", "hostname": "leaf01", "config": "# hostname\nleaf01\n# interfaces\n# This file describes the network interfaces available on your system\n# and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback network interface\nauto lo\niface lo inet loopback\n\n# The primary @@ -310,7 +310,7 @@ tests: exit-address-family\n !\n address-family l2vpn evpn\n advertise ipv4 unicast\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.11\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "leaf01", "timestamp": 1639476253949}, {"namespace": "panos", + vrf mgmt", "timestamp": 1639476253949}, {"namespace": "panos", "hostname": "leaf02", "config": "# hostname\nleaf02\n# interfaces\n# This file describes the network interfaces available on your system\n# and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback @@ -369,7 +369,7 @@ tests: exit-address-family\n !\n address-family l2vpn evpn\n advertise ipv4 unicast\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.12\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "leaf02", "timestamp": 1639476253949}, {"namespace": "panos", + vrf mgmt", "timestamp": 1639476253949}, {"namespace": "panos", "hostname": "leaf04", "config": "# hostname\nleaf04\n# interfaces\n# This file describes the network interfaces available on your system\n# and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback @@ -428,13 +428,13 @@ tests: exit-address-family\n !\n address-family l2vpn evpn\n advertise ipv4 unicast\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.14\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "leaf04", "timestamp": 1639476253949}]' + vrf mgmt", "timestamp": 1639476253949}]' - command: devconfig show --hostname=leaf01 --format=json --namespace=panos data-directory: tests/data/parquet/ marks: devconfig show panos - output: '[{"namespace": "panos", "config": "# hostname\nleaf01\n# interfaces\n# - This file describes the network interfaces available on your system\n# and how - to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# + output: '[{"namespace": "panos", "hostname": "leaf01", "config": "# hostname\nleaf01\n# + interfaces\n# This file describes the network interfaces available on your system\n# + and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback network interface\nauto lo\niface lo inet loopback\n\n# The primary network interface\nauto eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface mgmt\n address 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN @@ -491,26 +491,56 @@ tests: exit-address-family\n !\n address-family l2vpn evpn\n advertise ipv4 unicast\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.11\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "leaf01", "timestamp": 1639476253949}]' + vrf mgmt", "timestamp": 1639476253949}]' - command: devconfig show --hostname='leaf01 spine01' --format=json --namespace=panos data-directory: tests/data/parquet/ marks: devconfig show panos - output: '[{"namespace": "panos", "config": "# hostname\nleaf01\n# interfaces\n# - This file describes the network interfaces available on your system\n# and how - to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# + output: '[{"namespace": "panos", "hostname": "spine01", "config": "# hostname\nspine01\n# + interfaces\n# This file describes the network interfaces available on your system\n# + and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback network interface\nauto lo\niface lo inet loopback\n\n# The primary network interface\nauto eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface mgmt\n address 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN - lo\nauto lo\niface lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip - 10.0.0.11/32\n clagd-vxlan-anycast-ip 10.0.0.112/32\n \n# END lo\n# BEGIN - swp1\nauto swp1\niface swp1 inet manual\n address 10.0.0.11/32\n mtu 9216\n# - END swp1\n# BEGIN swp2\nauto swp2\niface swp2 inet manual\n address 10.0.0.11/32\n mtu - 9216\n# END swp2\n#BEGIN {''cumulus'': ''peerlink'', ''eos'': ''port-channel1'', - ''nxos'': ''port-channel1''}\nauto swp5\niface swp5\n mtu 9216\n post-up ip - link set promisc on dev swp5\n#\nauto swp6\niface swp6\n mtu 9216\n post-up - ip link set promisc on dev swp6\n#\nauto peerlink\niface peerlink\n mtu 9216\n bond-slaves - swp5 swp6\n#\n#END {''cumulus'': ''peerlink'', ''eos'': ''port-channel1'', ''nxos'': - ''port-channel1''}\n#BEGIN clag def\nauto peerlink.4094\niface peerlink.4094\n clagd-peer-ip + lo\nauto lo\niface lo inet loopback\n address 10.0.0.21/32\n# END lo\n# BEGIN + swp1\nauto swp1\niface swp1 inet manual\n address 10.0.0.21/32\n mtu 9216\n# + END swp1\n# BEGIN swp2\nauto swp2\niface swp2 inet manual\n address 10.0.0.21/32\n mtu + 9216\n# END swp2\n# BEGIN swp3\nauto swp3\niface swp3 inet manual\n address 10.0.0.21/32\n mtu + 9216\n# END swp3\n# BEGIN swp4\nauto swp4\niface swp4 inet manual\n address 10.0.0.21/32\n mtu + 9216\n# END swp4\n# BEGIN swp5\nauto swp5\niface swp5 inet manual\n address 10.0.0.21/32\n mtu + 9216\n# END swp5\n# BEGIN swp6\nauto swp6\niface swp6 inet manual\n address 10.0.0.21/32\n mtu + 9216\n# END swp6\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr + version 7.0+cl4u3\nfrr defaults datacenter\nhostname spine01\nlog syslog informational\nservice + integrated-vtysh-config\n!\ninterface lo\n ip ospf area 0.0.0.0\n!\ninterface + swp1\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface swp2\n ip + ospf area 0\n ip ospf network point-to-point\n!\ninterface swp3\n ip ospf area + 0\n ip ospf network point-to-point\n!\ninterface swp4\n ip ospf area 0\n ip ospf + network point-to-point\n!\ninterface swp5\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface + swp6\n ip ospf area 0\n ip ospf network point-to-point\n!\nrouter bgp 64520\n + bgp router-id 10.0.0.21\n no bgp default ipv4-unicast\n neighbor RR peer-group\n + neighbor RR remote-as internal\n neighbor RR bfd\n neighbor 10.0.0.11 peer-group + RR\n neighbor 10.0.0.12 peer-group RR\n neighbor 10.0.0.13 peer-group RR\n neighbor + 10.0.0.14 peer-group RR\n neighbor 10.0.0.31 peer-group RR\n neighbor 10.0.0.32 + peer-group RR\n !\n address-family ipv4 unicast\n neighbor RR activate\n neighbor + RR route-reflector-client\n maximum-paths ibgp 16\n exit-address-family\n !\n + address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n + exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.21\n passive-interface + lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # + vrf mgmt", "timestamp": 1639476253942}, {"namespace": "panos", "hostname": "leaf01", + "config": "# hostname\nleaf01\n# interfaces\n# This file describes the network + interfaces available on your system\n# and how to activate them. For more information, + see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback + network interface\nauto lo\niface lo inet loopback\n\n# The primary network interface\nauto + eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface mgmt\n address + 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN lo\nauto lo\niface + lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip 10.0.0.11/32\n clagd-vxlan-anycast-ip + 10.0.0.112/32\n \n# END lo\n# BEGIN swp1\nauto swp1\niface swp1 inet manual\n address + 10.0.0.11/32\n mtu 9216\n# END swp1\n# BEGIN swp2\nauto swp2\niface swp2 inet + manual\n address 10.0.0.11/32\n mtu 9216\n# END swp2\n#BEGIN {''cumulus'': ''peerlink'', + ''eos'': ''port-channel1'', ''nxos'': ''port-channel1''}\nauto swp5\niface swp5\n mtu + 9216\n post-up ip link set promisc on dev swp5\n#\nauto swp6\niface swp6\n mtu + 9216\n post-up ip link set promisc on dev swp6\n#\nauto peerlink\niface peerlink\n mtu + 9216\n bond-slaves swp5 swp6\n#\n#END {''cumulus'': ''peerlink'', ''eos'': ''port-channel1'', + ''nxos'': ''port-channel1''}\n#BEGIN clag def\nauto peerlink.4094\niface peerlink.4094\n clagd-peer-ip linklocal\n clagd-sys-mac 44:39:39:FF:40:95\n clagd-backup-ip false\n clagd-priority 32768\n clagd-args --initDelay 90\n#\n#END clag def\n#BEGIN mlag-member-ports\nauto swp3\niface swp3\n mtu 9000 \n post-up ip link set promisc on dev swp3\n#\nauto @@ -554,18 +584,22 @@ tests: exit-address-family\n !\n address-family l2vpn evpn\n advertise ipv4 unicast\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.11\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "leaf01", "timestamp": 1639476253949}, {"namespace": "panos", - "config": "# hostname\nspine01\n# interfaces\n# This file describes the network - interfaces available on your system\n# and how to activate them. For more information, - see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback - network interface\nauto lo\niface lo inet loopback\n\n# The primary network interface\nauto - eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface mgmt\n address - 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN lo\nauto lo\niface - lo inet loopback\n address 10.0.0.21/32\n# END lo\n# BEGIN swp1\nauto swp1\niface - swp1 inet manual\n address 10.0.0.21/32\n mtu 9216\n# END swp1\n# BEGIN swp2\nauto - swp2\niface swp2 inet manual\n address 10.0.0.21/32\n mtu 9216\n# END swp2\n# - BEGIN swp3\nauto swp3\niface swp3 inet manual\n address 10.0.0.21/32\n mtu 9216\n# - END swp3\n# BEGIN swp4\nauto swp4\niface swp4 inet manual\n address 10.0.0.21/32\n mtu + vrf mgmt", "timestamp": 1639476253949}]' +- command: devconfig show --hostname='leaf01 spine01' --query-str='config.str.contains("10.0.0.21")' + --format=json --namespace=panos + data-directory: tests/data/parquet/ + marks: devconfig show panos + output: '[{"namespace": "panos", "hostname": "spine01", "config": "# hostname\nspine01\n# + interfaces\n# This file describes the network interfaces available on your system\n# + and how to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# + The loopback network interface\nauto lo\niface lo inet loopback\n\n# The primary + network interface\nauto eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface + mgmt\n address 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN + lo\nauto lo\niface lo inet loopback\n address 10.0.0.21/32\n# END lo\n# BEGIN + swp1\nauto swp1\niface swp1 inet manual\n address 10.0.0.21/32\n mtu 9216\n# + END swp1\n# BEGIN swp2\nauto swp2\niface swp2 inet manual\n address 10.0.0.21/32\n mtu + 9216\n# END swp2\n# BEGIN swp3\nauto swp3\niface swp3 inet manual\n address 10.0.0.21/32\n mtu + 9216\n# END swp3\n# BEGIN swp4\nauto swp4\niface swp4 inet manual\n address 10.0.0.21/32\n mtu 9216\n# END swp4\n# BEGIN swp5\nauto swp5\niface swp5 inet manual\n address 10.0.0.21/32\n mtu 9216\n# END swp5\n# BEGIN swp6\nauto swp6\niface swp6 inet manual\n address 10.0.0.21/32\n mtu 9216\n# END swp6\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr @@ -585,27 +619,22 @@ tests: address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.21\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "spine01", "timestamp": 1639476253942}]' -- command: devconfig show --hostname='leaf01 spine01' --query-str='config.str.contains("10.0.0.21")' - --format=json --namespace=panos - data-directory: tests/data/parquet/ - marks: devconfig show panos - output: '[{"namespace": "panos", "config": "# hostname\nleaf01\n# interfaces\n# - This file describes the network interfaces available on your system\n# and how - to activate them. For more information, see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# - The loopback network interface\nauto lo\niface lo inet loopback\n\n# The primary - network interface\nauto eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface - mgmt\n address 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN - lo\nauto lo\niface lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip - 10.0.0.11/32\n clagd-vxlan-anycast-ip 10.0.0.112/32\n \n# END lo\n# BEGIN - swp1\nauto swp1\niface swp1 inet manual\n address 10.0.0.11/32\n mtu 9216\n# - END swp1\n# BEGIN swp2\nauto swp2\niface swp2 inet manual\n address 10.0.0.11/32\n mtu - 9216\n# END swp2\n#BEGIN {''cumulus'': ''peerlink'', ''eos'': ''port-channel1'', - ''nxos'': ''port-channel1''}\nauto swp5\niface swp5\n mtu 9216\n post-up ip - link set promisc on dev swp5\n#\nauto swp6\niface swp6\n mtu 9216\n post-up - ip link set promisc on dev swp6\n#\nauto peerlink\niface peerlink\n mtu 9216\n bond-slaves - swp5 swp6\n#\n#END {''cumulus'': ''peerlink'', ''eos'': ''port-channel1'', ''nxos'': - ''port-channel1''}\n#BEGIN clag def\nauto peerlink.4094\niface peerlink.4094\n clagd-peer-ip + vrf mgmt", "timestamp": 1639476253942}, {"namespace": "panos", "hostname": "leaf01", + "config": "# hostname\nleaf01\n# interfaces\n# This file describes the network + interfaces available on your system\n# and how to activate them. For more information, + see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback + network interface\nauto lo\niface lo inet loopback\n\n# The primary network interface\nauto + eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface mgmt\n address + 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN lo\nauto lo\niface + lo inet loopback\n address 10.0.0.11/32\n vxlan-local-tunnelip 10.0.0.11/32\n clagd-vxlan-anycast-ip + 10.0.0.112/32\n \n# END lo\n# BEGIN swp1\nauto swp1\niface swp1 inet manual\n address + 10.0.0.11/32\n mtu 9216\n# END swp1\n# BEGIN swp2\nauto swp2\niface swp2 inet + manual\n address 10.0.0.11/32\n mtu 9216\n# END swp2\n#BEGIN {''cumulus'': ''peerlink'', + ''eos'': ''port-channel1'', ''nxos'': ''port-channel1''}\nauto swp5\niface swp5\n mtu + 9216\n post-up ip link set promisc on dev swp5\n#\nauto swp6\niface swp6\n mtu + 9216\n post-up ip link set promisc on dev swp6\n#\nauto peerlink\niface peerlink\n mtu + 9216\n bond-slaves swp5 swp6\n#\n#END {''cumulus'': ''peerlink'', ''eos'': ''port-channel1'', + ''nxos'': ''port-channel1''}\n#BEGIN clag def\nauto peerlink.4094\niface peerlink.4094\n clagd-peer-ip linklocal\n clagd-sys-mac 44:39:39:FF:40:95\n clagd-backup-ip false\n clagd-priority 32768\n clagd-args --initDelay 90\n#\n#END clag def\n#BEGIN mlag-member-ports\nauto swp3\niface swp3\n mtu 9000 \n post-up ip link set promisc on dev swp3\n#\nauto @@ -649,38 +678,7 @@ tests: exit-address-family\n !\n address-family l2vpn evpn\n advertise ipv4 unicast\n exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.11\n passive-interface lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "leaf01", "timestamp": 1639476253949}, {"namespace": "panos", - "config": "# hostname\nspine01\n# interfaces\n# This file describes the network - interfaces available on your system\n# and how to activate them. For more information, - see interfaces(5).\n\nsource /etc/network/interfaces.d/*.intf\n\n# The loopback - network interface\nauto lo\niface lo inet loopback\n\n# The primary network interface\nauto - eth0\niface eth0 inet dhcp\n vrf mgmt\n\nauto mgmt\niface mgmt\n address - 127.0.0.1/8\n address ::1/128\n vrf-table auto\n# BEGIN lo\nauto lo\niface - lo inet loopback\n address 10.0.0.21/32\n# END lo\n# BEGIN swp1\nauto swp1\niface - swp1 inet manual\n address 10.0.0.21/32\n mtu 9216\n# END swp1\n# BEGIN swp2\nauto - swp2\niface swp2 inet manual\n address 10.0.0.21/32\n mtu 9216\n# END swp2\n# - BEGIN swp3\nauto swp3\niface swp3 inet manual\n address 10.0.0.21/32\n mtu 9216\n# - END swp3\n# BEGIN swp4\nauto swp4\niface swp4 inet manual\n address 10.0.0.21/32\n mtu - 9216\n# END swp4\n# BEGIN swp5\nauto swp5\niface swp5 inet manual\n address 10.0.0.21/32\n mtu - 9216\n# END swp5\n# BEGIN swp6\nauto swp6\niface swp6 inet manual\n address 10.0.0.21/32\n mtu - 9216\n# END swp6\nBuilding configuration...\n\nCurrent configuration:\n!\nfrr - version 7.0+cl4u3\nfrr defaults datacenter\nhostname spine01\nlog syslog informational\nservice - integrated-vtysh-config\n!\ninterface lo\n ip ospf area 0.0.0.0\n!\ninterface - swp1\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface swp2\n ip - ospf area 0\n ip ospf network point-to-point\n!\ninterface swp3\n ip ospf area - 0\n ip ospf network point-to-point\n!\ninterface swp4\n ip ospf area 0\n ip ospf - network point-to-point\n!\ninterface swp5\n ip ospf area 0\n ip ospf network point-to-point\n!\ninterface - swp6\n ip ospf area 0\n ip ospf network point-to-point\n!\nrouter bgp 64520\n - bgp router-id 10.0.0.21\n no bgp default ipv4-unicast\n neighbor RR peer-group\n - neighbor RR remote-as internal\n neighbor RR bfd\n neighbor 10.0.0.11 peer-group - RR\n neighbor 10.0.0.12 peer-group RR\n neighbor 10.0.0.13 peer-group RR\n neighbor - 10.0.0.14 peer-group RR\n neighbor 10.0.0.31 peer-group RR\n neighbor 10.0.0.32 - peer-group RR\n !\n address-family ipv4 unicast\n neighbor RR activate\n neighbor - RR route-reflector-client\n maximum-paths ibgp 16\n exit-address-family\n !\n - address-family l2vpn evpn\n neighbor RR activate\n neighbor RR route-reflector-client\n - exit-address-family\n!\nrouter ospf\n ospf router-id 10.0.0.21\n passive-interface - lo\n!\nline vty\n!\nend\n# ports.conf\n# resolv.conf\nnameserver 10.255.2.1 # - vrf mgmt", "hostname": "spine01", "timestamp": 1639476253942}]' + vrf mgmt", "timestamp": 1639476253949}]' - command: devconfig summarize --format=json --namespace=panos data-directory: tests/data/parquet/ marks: devconfig summarize panos