v2.0.1¶
Release Date¶
2026-04-12
Summary¶
v2.0.1 is a patch release that corrects 14 Arista EOS Jinja2 removal templates shipped in v2.0. All fixes align removal templates with their provision counterparts — no database migrations are required and there are no breaking changes.
Fixed¶
urpf_removal.j2— rewritten to loop over aninterfaceslist (matchingurpf.j2). Each interface now emitsno ip verify unicast reachable-via rx(strict) orno ip verify unicast reachable-via any(loose) rather than a single hard-coded interface variable.ipsec_tunnel_removal.j2— uses thetunnel_interface,crypto_map_name,crypto_map_seq, andisakmp_policyvariables defined inipsec_tunnel.j2. Optional fields (tunnel_interface,isakmp_policy) are guarded with| default(none)to avoidStrictUndefinederrors.ldp_removal.j2— per-interface removal now emitsno mpls ip(the correct EOS command) instead of the IOS-styleno mpls ldp interface. The optionalrouter_idfield is guarded with| default(none).copp_removal.j2— completely rewritten to mirrorcopp.j2: enterssystem control-plane, removesno ip access-groupper class, then removes eachno ip access-listentry. The previous template incorrectly tried to remove apolicy-mapthat is never created by the provision template.zbf_removal.j2—no zone-pair securityremoved (provision template does not create zone-pairs). Zone removal now uses the correct EOS syntaxno security zoneinstead of the IOS-styleno zone security.pseudowire_removal.j2— loops over thepseudowireslist and removes each interface by name (pw.interface), matching the provision template's variable structure.mvpn_removal.j2— removal is now expressed insiderouter bgp {{ local_asn }}usingno address-family ipv4 multicast, mirroringmvpn.j2. The previous template used a non-existentvrf instance/no mdt defaultconstruct.evpn_mpls_removal.j2—local_asn | default("")removed;local_asnis now required. An empty default producedrouter bgp(invalid EOS command).evpn_multisite_removal.j2—local_asn | default("")removed;local_asnis now required. A spuriousno multisite border-gateway interfaceline (not emitted byevpn_multisite.j2) has also been removed.6pe_6vpe_removal.j2—local_asn | default("")removed;local_asnis now required. Theno neighbor activateremoval is now correctly placed insideaddress-family ipv6, matching6pe_6vpe.j2.nat_removal.j2—no ip nat poolis now conditional onpool_namebeing explicitly provided. Previously the line was always emitted usingpool_name | default("NAT-POOL"), which would attempt to remove a pool that may never have been created.ssl_inspection_removal.j2— converted to a comment-only stub, matchingssl_inspection.j2which is itself a stub. The previous template emitted liveno ssl profileCLI that could never apply.service_insertion_removal.j2— converted to a comment-only stub, matchingservice_insertion.j2. The previous template emittedno policy-map type service-insertionwith an empty-default variable, producing invalid CLI.cloud_direct_connect.j2—local_ip,peer_ip,bgp_asn, andpeer_asnare now required fields (empty-string defaults removed). These are BGP-session-critical values; silently defaulting to""produced invalid EOS configuration.
Upgrade¶
pip install --upgrade nautobot-app-intent-networking==2.0.1
nautobot-server post_upgrade
sudo systemctl restart nautobot nautobot-worker nautobot-scheduler
No database migrations
v2.0.1 contains only Jinja2 template fixes. No database migrations are included — post_upgrade will complete immediately with no schema changes.
Intent YAML inputs
Several removal templates now require fields that were previously optional (defaulting to ""). If you have intents that invoke these removal templates directly, ensure the following fields are present in your intent YAML:
| Template | Now-required fields |
|---|---|
evpn_mpls_removal |
local_asn |
evpn_multisite_removal |
local_asn |
6pe_6vpe_removal |
local_asn |
cloud_direct_connect |
local_ip, peer_ip, bgp_asn, peer_asn |
urpf_removal |
interfaces (list of {name, mode}) — replaces interface + mode scalars |
pseudowire_removal |
pseudowires (list of {interface}) — replaces pw_id + remote_pe scalars |