Skip to content

Releases: napalm-automation/napalm

5.0.0

10 Apr 12:00
341448a
Compare
Choose a tag to compare

IMPORTANT

Starting with this release, NAPALM offers support for Python 3.8+ only.

Python 3.7 support has been dropped (since it is now end-of-life, see https://www.python.org/downloads/release/python-370/), while adding support for Python 3.12.

Breaking changes for Arista EOS

Beginning with this release, NAPALM only supports Arista EOS 4.23 and later. On this occasion, the eos_fn0039_config optional argument has also been removed. This optional argument was used to transform old style configuration to the new style, available beginning with EOS release 4.23.0, as per FN 0039.

New features

Improvements and bug fixes

New Contributors

Full Changelog: 4.1.0...5.0.0

4.1.0

23 May 17:43
904c42e
Compare
Choose a tag to compare

Improvements

  • Improve get_bgp_config behavior across platforms.
  • EOS and Salt add optional_arg force_cfg_session_invalid that allows the config session to be invalidated on failure.
  • Improve EOS VRF parsing

Bug and doc fixes

  • Minor doc fixes
  • CI-CD fixes
  • Properly close Netmiko SSH connections for EOS-SSH
  • Improve EOS get_bgp_neighbors()
  • Increase default commit_config timeout on IOS/IOS-XE
  • NX-OS pull full configuration for merge operation diff
  • Improve NX-OS SSH Netmiko behavior (for Netmiko V4)

4.0.0

11 Jul 11:40
ec15b3d
Compare
Choose a tag to compare

Type Hinting

After months of work, @Kircheneer added type hinting support in #1412 and #1476.

New features

Add Commit-Confirm support for Cisco IOS #1691
New encoding argument added to the cli method to return the output of operational / show commands in the desired format. Currently supported on Junos and EOS. #1637 & #1663
Added ttp_parse helper function to codebase #1563
Replaced ciscoconfparse with netutils #1565
New SSH transport available for Arista EOS - thanks @thomasbridge74 #1502

Improvements

Adds mac and ip checks for getters #1560
The uptime field in the get_facts return is now float type: #1651
[NX-OS] Improve compare_config for NXOS partial merging #1567
[EOS] support arbitrary transport class #1643 & #1647
[EOS] move config lock check to _load_config #1642
[EOS] Handle modern memory output from Arista EOS 4.27+ #1673
[IOS-XR] Improving get_facts behavior to handle XML changes in newer OS versions #1667
[Junos] make sure we don't duplicate LLDP neighbor entries #1640

Bug fixes

[Junos] find for system uptime element #1675
[IOS-XR] get_lldp_neighbor_details does not support 'N/A' capabilities #1681
[IOS-XR] get_lldp_neighbor_details add alternative lldp local interface key #1682
[NX-OS] get_interfaces fix description on SVI interfaces #1571
[IOS] get_vlans does not return all interfaces if they wrap around in the config #1569
[Junos] Fix #1549: Check peer admin status from the BGP options #1566
[EOS] get_bgp_neighbors_detail only returns back a single peer for a certain EOS platform #1573

3.4.1

29 Apr 16:23
fe35c90
Compare
Choose a tag to compare

Pinning to junos-eznc>=2.6.3.

Release 3.4.0

21 Mar 19:27
9199164
Compare
Choose a tag to compare

Junos

  • Junos discard_config on error fix #1448
  • Junos LLDP improvements #1470
  • Junos pass self.ignore_warning to diff call in compare_config() #1480

NX-OS

  • Improve NX-API error messages #1461
  • NX-OS disable SSL InsecureRequestWarning if ssl_verify is False #1510
  • NX-OS unknown interface MTU and unknown speed as -1 #1511
  • NX-OS improve JSON handling in newer NX-OS versions #1490

IOS

  • IOS allow BGP configuration with no explicit AFI #1477
  • Escape vlan_name on IOS before building regex string #1546
  • Handle get_network_instances for IOS devices that do not support show vrf detail #1547

EOS

  • EOS fix get_bgp_config mismatch between neighbors and peer-group #1503

IOS-XR

  • Pass IOS-XR NETCONF optional_args to ncclient connect #1535

General

  • Bandwidth parameter returned as a float
  • Pin Netmiko to require Netmiko version 3.3.X or 3.4.X

Release 3.3.1

16 Jun 12:10
524a086
Compare
Choose a tag to compare

[IOS-XR] Fix #1330 (get_bgp_neighbors_detail: flap_count return a negative value) #1449
[IOS] Fix #1387 (get_network_instances fails KeyError when deleting item from interfaces) #1447
[Junos] Fix bgp flap_count issue for iosxr_netconf #1457
[Junos] Change the function cli when result is xml object #1456
[EOS, IOS, Junos, NXOS] Add source_interface argument to ping #1455

3.3.0

12 May 08:38
f8ea101
Compare
Choose a tag to compare

NETCONF driver for IOS-XR

Over the last 18 months Cisco has been working on implementing a NETCONF-based driver for the IOS-XR platforms. The new driver is now available in the core NAPALM library, besides the existing driver (which uses the proprietary XML API). The minimum IOS-XR version required is 7.0. Check out https://napalm.readthedocs.io/en/latest/support/iosxr_netconf.html for more information and caveats.

Many thanks to the Cisco team, in particular to @neelimapp and @111pontes for their work, and @ktbyers for coordinating these efforts.

As this is a brand new driver, you may encounter various issues, and we will welcome your reports and pull requests to fix those!

Commit Confirmed

Beginning with this release, NAPALM natively supports commit confirmed operations. See https://napalm.readthedocs.io/en/latest/tutorials/changing_the_config.html#committing-the-configuration-with-a-required-confirmation for more usage details.

New Features

[Junos] Add get_vlans for Junos #1398
[Junos] Added Support for Logical Interfaces Counters #1382
[Junos] Use aply-groups inheritance on get-configuration RPC calls #1363
[Core] Adding cannonical mapping for 25GE, 50GE, 200GE and 400GE interfaces #1329

Bug Fixes

[EOS] Fix for BGP description not found by get_bgp_neighbors in some EOS versions #1356
[EOS] Set next hop to something valid for vxlan routes #1347
[EOS] Fix naplam.get_route_to() not working on EOS:failed to detect a valid IP address from u'' #1346
[IOS-XR] XR 7+: get_lldp_neighbors_detail query only the NodeTable #1404
[IOS-XR] Resolve #1181 (IOS-XR get_environment() throws an error in 6.3.2 on NCS5501) and reduce the get_facts heavy workload #1400
[IOS-XR] Look up the KeepAliveTime and HoldTime keys in the VRF tree #1290
[Junos] Fix sanitized bug for Junos #1414
[Junos] Multiple next-hop self config stanzas generate a list #1362
[Junos] Add wildcard for set matches on junos #1318
[Junos] Fix mapping for Juniper devices with Netmiko #1288
[IOS] Handle control plane interface #1411
[IOS] Set minimum ttl to zero to fix issue #1320 #1321
[NX-OS] Cast uptime values to int before processing #1343

3.2.0

03 Sep 12:17
f195a34
Compare
Choose a tag to compare

New features

[EOS] Add get_vlans getter #1279
[NX-OS] Feature/nxos ssh get_interfaces_counters #1287

Bug fixes and behaviour changes

[IOS] get_network_instances fixes, see #1095 for more details.
[IOS-XR] get_route_to fix pyIOSXR.exceptions.XMLCLIError for some versions #1267
[EOS] Fix get_arp_table for static ARP records #1272
[EOS] Add EOS-4.23+ translation for show environment temperature #1278
[IOS] Update get_probe code to make it work it IOS XE 16.12.x #1285

3.1.0

27 Jul 12:14
4af2aba
Compare
Choose a tag to compare

Core changes

  • Fix: force_no_enable enabled on ios and nx only #1240
    If you maintain a thrid-party driver using Netmiko for the underlying layer, but that doesn't make use of the enable features typically found on IOS-like devices, it is recommended to pin to this NAPALM version, so it won't break compatibility. See #1241 for more information.
  • lxml text retrieval (find_txt) shouldn't fail if no text element available #1242

Driver changes

  • [NX-OS] Initial version for nxos_ssh get_optics #1215
  • [NX-OS] Fixed get_bgp_neighbors and asdot notation on NX-OS #1230
  • [Junos] Fix "KeyError in get_environment() on Juniper MX10k3 with Junos 19.2R1.8 #1247" by making PEM naming consistent #1248
  • [IOS] Fix get_optics metric #1220
  • [IOS] Allow username detection on older Cisco ios versions #1121

3.0.1

15 May 09:53
456f736
Compare
Choose a tag to compare

Changes

Release 3.0.0 introduced support for the Arista FN 0039 command changes (#1093), by replacing the old style commands with the new style commands. This also affected the way NAPALM loads the configuration on the device (i.e., it would transform your configuration before loading). In order to prevent this, and avoid unexpected results, we introduced a new optional argument eos_fn0039_config, defaulting to False, which you can use to select whether you want NAPALM to convert the configuration command before loading. By default, NAPALM won't transform your configuration, but setting eos_fn0039_config to True it would help you transition to newer EOS versions.

Bug Fixes

  • [Junos] close configuration in case configure_private is set to avoid configure session to stay forever #1199
  • [IOS] get_interfaces_counters broken with Managment Interface #1201
  • [IOS] get_optics does not work on VSS setup #1208
  • [IOS] get_optics broken if input value is N/A #1206
  • [NXOS] Fix cmd_verify and null character #1214