Changelog ========= Version 1.5.1 ------------- Bug fixes: - Fix commit confirm mode 0 for EOS - Update documentation for redundant_link Version 1.5.0 ------------- New features: - Add commit confirm modes: mode 0 - no commit confirm (previous behavior), mode 1 - confirm each device individually after it has commited, mode 2 - confirm devices only when all devices in the job has comitted successfully - Add API to query configured API settings - New settings for: * users: username, ssh_key, password_hash etc to handle device user accounts * dot1x_multi_host, poe_reboot_maintain * prefix_sets and routing_policies to describe policies for router peerings etc - Sync history events, save what event caused devices to become unsynchronized - API to query running config Bug fixes: - Don't return duplicates of neighbor entries - Fix error "Error in repository: HEAD is a detached" when refreshing settings repo - Mark init neighbors as unsync if they have local changes - Log events was not always sent from redis to websocket Version 1.4.2 ------------- Bug fixes: - Fix ZTP of access switch connected to another access switch with type downlink but empty data Version 1.4.1 ------------- Bug fixes: - Fixed interface range expansion logic for downlink ports during init - Allow setting of untagged_vlan to null in interfaces API (#290) - Fix duplicate generation of underlay BGP peers (#291) Version 1.4.0 ------------- New features: - Allow ZTP init of access switches with non-redundant uplinks to other access switch via non_redundant option - Each device can belong to a primary group, and settings can be defined (overridden) per primary group. Inheritence levels are now Global -> Fabric -> Core/Dist/Access -> Group -> Device specific - Support interface range expressions like Ethernet[10-11] in settings device interface config - Save last know working settings commit, so we can revert if last commit contains errors (only saved in memory, not persistent across reboots) - Allow sync of devices with multiple links between same peers. - Allow updating of neighbor_id on interface (useful if manually changing uplink connections) - device_id variable is accessible at template rendering, host and hostname variables documented - New settings: organization_name, domain_name, underlay->bgp_asn - New jinja filters: different base-encodings, hashes, netutils for IP, MAC, ASNs etc - New global config settings: * global_unique_vlans: If True VLAN IDs has to be globally unique, if False different DIST switches can reuse same VLAN IDs for different L2 domains. Defaults to True. * init_mgmt_timeout: Timeout to wait for device to apply changed management IP. Defaults to 30, specified in seconds (integer). - Initial work on API to set/update and get stack members. Not working for ZTP init yet. - Linknet API updated to allow PUT/update, allow GET of single linknet, DELETE syntax harmonized with rest of API Bug fixes: - Recalculate group memberships after ZTP init. - Mark neighbors as unsynchronized after deleting a device. - If device is not reachable on new IP after ZTP init, then change back to use old IP so we can attempt new ZTP init later. - Restore previous config version apply bug fixed. - Allow resetting entire interfaca data to null, instead of having to specify each value as null. - During ZTP init, don't update and save linknets unless device can actually proceed with ZTP. Version 1.3.2 ------------- Bug fixes: - Fix for ZTP init of dist devices (#219,#218) Version 1.3.1 ------------- New features: - New settings for vxlans: acl_ipv4_in, acl_ipv4_out, acl_ipv6_in, acl_ipv6_out, cli_append_str - New data options in interfaces API: bpdu_filter, tags, cli_append_str Version 1.3.0 ------------- New features: - CNaaS specific Jinja2 filters: increment_ip, ipv4_to_ipv6, isofy_ipv4 (#167) - "aggregate_id" option for access ports to build link aggregates from access switches (#171) - New settings for: flow_collectors, route leaking, port_template, dot1x_fail_vlan, vxlan tags, ipv4_secondaries (#178,#192,#193,#194,#195,#196,#203) - Automatic descriptions for ACCESS_DOWNLINK type ports (#189) - Option to filter job result output fields in API response (#197) Bug fixes: - Fix race condition issue where different threads could sometimes cause issues with wrong template being used when syncing multiple different operating systems in same job (#168,#176) - Fix validation and return output for mgmtdomains API (#177) - Cleanup of docker images (#184,#185,#186,#191) - Update device last_seen on syncto, update facts, firmware post flight, device discovered, init step2 (#198) - Fix factory_default: false (#200) - Fix assigning of vxlans etc to both groups and devices at same time (#201) - Possible fix for "weak object has gone away" (#205) - Fixes for device synchranization status updating (#208,#209) Version 1.2.1 ------------- Bugfix release. Bug fixes: - Fix for ZTP of fabric devices when INIT and DISCOVERED passwords are different - Fix for mgmt_ip variable at initial fabric device sync - Better init check error message - Documentation fix - Include groups with no devices in listing Version 1.2.0 ------------- New features: - ZTP support for core and diste devices (#137) - Init check API call to test if device is compatible for ZTP without commit (#136, #156) - Option to have model-specific default interface settings (#135) - Post-flight check for firmware upgrade (#139) - Abort scheduled jobs, best-effort abort of running jobs (#142) - API call to update existing interfaces on device after ZTP (#155) - More settings for external BGP routing, DNS servers, internal VLANs (#143, #146, #152) - Install NMS issued certificate on new devices during ZTP (#149) - Switch to Nornir 3.0, improved whitespace rendering in templates (#148) Bug fixes: - Fix blocking websockets (#138) - Fix access downlink port detection (#141) - Post upgrade confighash mismatch (#145) - Discover device duplicate jobs improvements (#151) - Trim facts fields before saving in database (#153) Version 1.1.0 ------------- New features: - New options for connecting access switches: - Two access switches as an MLAG pair - Access switch connected to other access switch - New template variables: - device_model: Hardware model of this device - device_os_version: OS version of this device - Get/restore previous config versions for a device - API call to update facts (serial,os version etc) about device - Websocket event improvements for logs, jobs and device updates Version 1.0.0 ------------- New features: - Syncto for core devices - Access interface updates via API calls, "port bounce" - Static, BGP and OSPF external routing template support - eBGP / EVPN fabric template support - VXLAN definition improvements (dhcp relay, mtu) Version 0.2.0 ------------- New features: - Syncto for dist devices - VXLAN definitions in settings - Firmware upgrade for Arista Version 0.1.0 ------------- Initial test release including device database, syncto and ZTP for access devices, git repository refresh etc.