diff --git a/napalm/iosxr/iosxr.py b/napalm/iosxr/iosxr.py index 81cda6169..ac642ecf1 100644 --- a/napalm/iosxr/iosxr.py +++ b/napalm/iosxr/iosxr.py @@ -2235,13 +2235,20 @@ def get_config(self, retrieve="all", full=False): # IOS-XR only supports "all" on "show run" run_full = " all" if full else "" + filter_strings = [r"^Building configuration.*$", r"^!! IOS XR Configuration.*$"] + filter_pattern = napalm.base.helpers.generate_regex_or(filter_strings) + if retrieve.lower() in ["running", "all"]: - config["running"] = str( + running = str( self.device._execute_config_show(f"show running-config{run_full}") ) + running = re.sub(filter_pattern, "", running, flags=re.M) + config["running"] = running if retrieve.lower() in ["candidate", "all"]: - config["candidate"] = str( + candidate = str( self.device._execute_config_show("show configuration merge") ) + candidate = re.sub(filter_pattern, "", candidate, flags=re.M) + config["candidate"] = candidate return config diff --git a/test/iosxr/mocked_data/test_get_config/normal/expected_result.json b/test/iosxr/mocked_data/test_get_config/normal/expected_result.json index 54fa1d461..3ae3b9a75 100644 --- a/test/iosxr/mocked_data/test_get_config/normal/expected_result.json +++ b/test/iosxr/mocked_data/test_get_config/normal/expected_result.json @@ -1,5 +1,5 @@ { - "running": "\n\nBuilding configuration...\n!! IOS XR Configuration version = 6.2.1.08I\n!! Last configuration change at Wed Aug 17 16:49:00 2016 by vagrant\n!\ntelnet vrf default ipv4 server max-servers 10\nusername vagrant\n group root-lr\n group cisco-support\n secret 5 $1$gZpA$ued8wLDDwikqTVKTEvUe2/\n!\ntpa\n address-family ipv4\n update-source MgmtEth0/RP0/CPU0/0\n !\n!\ninterface MgmtEth0/RP0/CPU0/0\n description testing parallel commits\n ipv4 address dhcp\n!\ninterface GigabitEthernet0/0/0/0\n shutdown\n!\ninterface GigabitEthernet0/0/0/1\n shutdown\n!\ninterface GigabitEthernet0/0/0/2\n shutdown\n!\ninterface GigabitEthernet0/0/0/3\n shutdown\n!\nrouter static\n address-family ipv4 unicast\n 0.0.0.0/0 MgmtEth0/RP0/CPU0/0 10.0.2.2\n !\n!\ngrpc\n port 57777\n!\nxml agent tty\n iteration on size 1\n!\nssh server v2\nssh server vrf default\nend\n\n\n", + "running": "\n\n\n\n!! Last configuration change at Wed Aug 17 16:49:00 2016 by vagrant\n!\ntelnet vrf default ipv4 server max-servers 10\nusername vagrant\n group root-lr\n group cisco-support\n secret 5 $1$gZpA$ued8wLDDwikqTVKTEvUe2/\n!\ntpa\n address-family ipv4\n update-source MgmtEth0/RP0/CPU0/0\n !\n!\ninterface MgmtEth0/RP0/CPU0/0\n description testing parallel commits\n ipv4 address dhcp\n!\ninterface GigabitEthernet0/0/0/0\n shutdown\n!\ninterface GigabitEthernet0/0/0/1\n shutdown\n!\ninterface GigabitEthernet0/0/0/2\n shutdown\n!\ninterface GigabitEthernet0/0/0/3\n shutdown\n!\nrouter static\n address-family ipv4 unicast\n 0.0.0.0/0 MgmtEth0/RP0/CPU0/0 10.0.2.2\n !\n!\ngrpc\n port 57777\n!\nxml agent tty\n iteration on size 1\n!\nssh server v2\nssh server vrf default\nend\n\n\n", "startup": "", - "candidate": "\n\nBuilding configuration...\n!! IOS XR Configuration version = 6.2.1.08I\n!! Last configuration change at Wed Aug 17 16:49:00 2016 by vagrant\n!\ntelnet vrf default ipv4 server max-servers 10\nusername vagrant\n group root-lr\n group cisco-support\n secret 5 $1$gZpA$ued8wLDDwikqTVKTEvUe2/\n!\ntpa\n address-family ipv4\n update-source MgmtEth0/RP0/CPU0/0\n !\n!\ninterface MgmtEth0/RP0/CPU0/0\n description testing parallel commits\n ipv4 address dhcp\n!\ninterface GigabitEthernet0/0/0/0\n shutdown\n!\ninterface GigabitEthernet0/0/0/1\n shutdown\n!\ninterface GigabitEthernet0/0/0/2\n shutdown\n!\ninterface GigabitEthernet0/0/0/3\n shutdown\n!\nrouter static\n address-family ipv4 unicast\n 0.0.0.0/0 MgmtEth0/RP0/CPU0/0 10.0.2.2\n !\n!\ngrpc\n port 57777\n!\nxml agent tty\n iteration on size 1\n!\nssh server v2\nssh server vrf default\nend\n\n\n" + "candidate": "\n\n\n\n!! Last configuration change at Wed Aug 17 16:49:00 2016 by vagrant\n!\ntelnet vrf default ipv4 server max-servers 10\nusername vagrant\n group root-lr\n group cisco-support\n secret 5 $1$gZpA$ued8wLDDwikqTVKTEvUe2/\n!\ntpa\n address-family ipv4\n update-source MgmtEth0/RP0/CPU0/0\n !\n!\ninterface MgmtEth0/RP0/CPU0/0\n description testing parallel commits\n ipv4 address dhcp\n!\ninterface GigabitEthernet0/0/0/0\n shutdown\n!\ninterface GigabitEthernet0/0/0/1\n shutdown\n!\ninterface GigabitEthernet0/0/0/2\n shutdown\n!\ninterface GigabitEthernet0/0/0/3\n shutdown\n!\nrouter static\n address-family ipv4 unicast\n 0.0.0.0/0 MgmtEth0/RP0/CPU0/0 10.0.2.2\n !\n!\ngrpc\n port 57777\n!\nxml agent tty\n iteration on size 1\n!\nssh server v2\nssh server vrf default\nend\n\n\n" } diff --git a/test/iosxr/mocked_data/test_get_config_filtered/normal/expected_result.json b/test/iosxr/mocked_data/test_get_config_filtered/normal/expected_result.json index 2dd09939d..e119c4b13 100644 --- a/test/iosxr/mocked_data/test_get_config_filtered/normal/expected_result.json +++ b/test/iosxr/mocked_data/test_get_config_filtered/normal/expected_result.json @@ -1,5 +1,5 @@ { "running": "", "startup": "", - "candidate": "\n\nBuilding configuration...\n!! IOS XR Configuration version = 6.2.1.08I\n!! Last configuration change at Wed Aug 17 16:49:00 2016 by vagrant\n!\ntelnet vrf default ipv4 server max-servers 10\nusername vagrant\n group root-lr\n group cisco-support\n secret 5 $1$gZpA$ued8wLDDwikqTVKTEvUe2/\n!\ntpa\n address-family ipv4\n update-source MgmtEth0/RP0/CPU0/0\n !\n!\ninterface MgmtEth0/RP0/CPU0/0\n description testing parallel commits\n ipv4 address dhcp\n!\ninterface GigabitEthernet0/0/0/0\n shutdown\n!\ninterface GigabitEthernet0/0/0/1\n shutdown\n!\ninterface GigabitEthernet0/0/0/2\n shutdown\n!\ninterface GigabitEthernet0/0/0/3\n shutdown\n!\nrouter static\n address-family ipv4 unicast\n 0.0.0.0/0 MgmtEth0/RP0/CPU0/0 10.0.2.2\n !\n!\ngrpc\n port 57777\n!\nxml agent tty\n iteration on size 1\n!\nssh server v2\nssh server vrf default\nend\n\n\n" + "candidate": "\n\n\n\n!! Last configuration change at Wed Aug 17 16:49:00 2016 by vagrant\n!\ntelnet vrf default ipv4 server max-servers 10\nusername vagrant\n group root-lr\n group cisco-support\n secret 5 $1$gZpA$ued8wLDDwikqTVKTEvUe2/\n!\ntpa\n address-family ipv4\n update-source MgmtEth0/RP0/CPU0/0\n !\n!\ninterface MgmtEth0/RP0/CPU0/0\n description testing parallel commits\n ipv4 address dhcp\n!\ninterface GigabitEthernet0/0/0/0\n shutdown\n!\ninterface GigabitEthernet0/0/0/1\n shutdown\n!\ninterface GigabitEthernet0/0/0/2\n shutdown\n!\ninterface GigabitEthernet0/0/0/3\n shutdown\n!\nrouter static\n address-family ipv4 unicast\n 0.0.0.0/0 MgmtEth0/RP0/CPU0/0 10.0.2.2\n !\n!\ngrpc\n port 57777\n!\nxml agent tty\n iteration on size 1\n!\nssh server v2\nssh server vrf default\nend\n\n\n" }