Skip to content

Latest commit

 

History

History
132 lines (98 loc) · 7.86 KB

CHANGELOG.md

File metadata and controls

132 lines (98 loc) · 7.86 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Zino 2 is a full rewrite of the original Tcl-based Zino state monitor. This changelog only details changes from Zino 2 on and out.

This project uses towncrier and the changes for the upcoming release can be found in https://github.com/Uninett/zino/tree/master/changelog.d/.

## [2.0.0-beta.2] - 2024-09-03

Added

  • Added full implementation of the CLEARFLAP API command (#113)

  • Log warning if secrets file is world-readable (#280)

  • Only load and parse pollfile if it has been changed since last load (#282)

  • Added customized logging of multiple traps, just as in Zino 1:

    • CISCOTRAP-MIB::reload
    • CISCO-CONFIG-MAN-MIB::ciscoConfigManEvent
    • CISCO-PIM-MIB::ciscoPimInvalidRegister
    • CISCO-PIM-MIB::ciscoPimInvalidJoinPrune
    • OSPF-TRAP-MIB::ospfIfConfigError

    (#319)

  • Added support for tracking accumulated event downtime for reachability and portstate events (#332)

  • Custom logging configuration can now be applied in zino.toml

Changed

  • Rename/alias BGP and Juniper alarm event attributes in order to have more useful variable names in Python code, while retaining aliases that are compatible with the legacy API protocol (#352)

Fixed

  • Properly use dashes in event attribute names in the legacy API (#281)
  • Use Zino 1-compatible field names for serialization of planned maintenance (#287)
  • Use Zino 1 field names for serialization of BGP/BFD events (#331)
  • Match against port alias instead of port description when match_type is regexp or str for portstate maintenance events. Still matches port description for intf-regexp. (#297)
  • Fix BGP-related Pydantic serialization warnings (#312)
  • Stop logging empty interface descriptions on first discovery (#314)
  • Reschedule devices whose configuration attributes where changed in the pollfile (#330)
  • Use default interval from pollfile to stagger new jobs (#337)
  • When matching an event to a planned maintenance, check that event is of the correct subclass (#344)
  • Avoid potential state corruption issues by saving the running state to a temporary file before overwriting the existing state file (#364)
  • Properly encode timedelta values as an integer number of seconds in the legacy API

[2.0.0-beta.1] - 2024-07-09

Removed

  • Remove test-only commands from API (#286)

Added

  • Add generic Zino config file (#224)
  • Add most important SNMP trap handlers
    • Port basic link trap handling from Zino 1
    • Add port flapping detection to link trap transition handlers, in accordance with Zino 1 (#284)
    • Schedule re-verification of port states after link traps are received
    • Handle incoming Juniper BGP traps (#291)
    • Update BFD session information on incoming BFD session traps (#305)
  • Add planned maintenance feature (#61)
    • Add the PM family of API commands to manipulate planned maintenance (#298)
    • Add framework support for API "sub-commands", to support the PM set of commands. (#274)
  • Add POLLRTR API command (#219)
  • Add POLLINTF API command (#300)
  • Add a dummy CLEARFLAP API command in order not to crash older clients
  • Add zinoconv program for converting state from Zino 1 to Zino 2 (#66)
  • Add support for neigh_rdns attribute in BFD events. (#199)
  • Add more tests for event deletion (#209)
  • Fix log message on initial Juniper chassis alarm (#213)
  • Add towncrier to automatically produce changelog (#218)
  • Fully support multi-varbind SNMP-GET operations (#303)
  • Add tests to show that one will not get closed events using get_or_create_event()
  • Index recently closed events to facilitate updating of prematurely closed flapping events

Changed

  • Handle errors from changed SNMP interface in Juniper alarm task (#212)

Fixed

  • Improve error reporting, including line/block location, for polldevs.cf parsing errors (#248)
  • Properly handle Juniper devices without SNMP values for red/yellow alarm count (#231)
  • Properly handle "varbind" error values for SNMP v2 GET operations (#261)
  • API now listens to all interfaces, not just loopback (#285)
  • Resolve value types of incoming SNMP traps correctly (#290)
  • Ensure polling single interfaces does not crash in the event of timeout errors
  • Ensure polling single interfaces works for ifindex=0

[2.0.0-alpha.2] - 2024-04-09

Added

  • SNMP traps can now be received, logged and ignored (although no useful handlers have been implemented yet) ((#189, #193)
  • Closed events now properly expire and are evicted from the running state after 8 hours (#203).
  • Expired events are dumped to separate JSON files in the old-events/ directory (#204).

Fixed

  • BGP events are now presented with correctly named attributes in the legacy API (#172)
  • BGP task no longer crashes on unexpected SNMP responses while probing for which BGP MIB to use for a device (#184)
  • Legacy API now correctly hides closed events (#192)
  • Legacy API now correctly denies re-opening of closed events (#201)
  • BFD events now have the expected lastevent attribute (#200)
  • Fixed potential bug with how portstate events are indexed internally in Zino's running state (#206)
  • API now responds with a proper message on user authentication failures (#210)

Changed

  • Functions for parsing the many ways IP addresses are represented in SNMP MIBs have been consolidated into a single function (#183)

[2.0.0-alpha.1] - 2024-01-26

This is the first official release of Zino 2.