Skip to content

Releases: SUNET/cnaas-nms

v1.6.0

15 Aug 08:34
a26bbc8
Compare
Choose a tag to compare

New features:

  • Single-sign on (SSO) via OIDC, enabled via config options in auth_config.yml
  • Role-based access control (RBAC) for API endpoints configured via permissions.yml
  • Logging for refresh settings action includes jobid so it can be filtered for displaying in webUI etc
  • Allow setting aggregate_id, metric, enabled, tags etc on fabric interfaces

Bug fixes:

  • Update device syncstatus if primary group settings file changed (#325)
  • ZTP of dualstack switches (#341)
  • Fix job status change events for refresh jobs (#352)
  • Fix initcheck fabric device proposed linknet IPs (#355)
  • Clean up device init failed job results and make more consistent (#358)
  • Fix for FQDN checks in settings (#343)

Changes:

  • Python upgraded to version 3.11
  • NAPALM upgraded to 5.0, support for Arista EOS 4.22 and earlier has been dropped
  • Initial tables will be created when api container starts, no need for seed sql file for postgres container
  • uwsgi has four processes for http and one process for websocket, api should be more responsive for concurrent http connections

New Contributors:

Full Changelog: v1.5.0...v1.6.0

Version 1.5.0

25 Sep 11:32
01b8c79
Compare
Choose a tag to compare

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

25 Sep 07:35
326dc33
Compare
Choose a tag to compare

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

22 Mar 08:14
7ae5859
Compare
Choose a tag to compare

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

15 Jan 14:09
fb72c2b
Compare
Choose a tag to compare

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.

v1.3.2

09 Jan 12:33
11f7db8
Compare
Choose a tag to compare

Version 1.3.2

Bug fixes:

  • Fix for ZTP init of dist devices (#219,#218)

Version 1.3.1

25 Oct 06:58
e911949
Compare
Choose a tag to compare

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

30 Sep 14:24
676ee5b
Compare
Choose a tag to compare

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

31 Mar 08:57
1308a12
Compare
Choose a tag to compare

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

23 Feb 10:00
a7ff627
Compare
Choose a tag to compare

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)