Files
napalm-bsd/CHANGELOG.md
T
Christian Manivong 25308bf747
CI / test (3.10) (push) Successful in 26s
CI / test (3.11) (push) Successful in 25s
CI / test (3.12) (push) Successful in 26s
CI / test (3.10) (pull_request) Successful in 25s
CI / test (3.11) (pull_request) Successful in 24s
CI / test (3.12) (pull_request) Successful in 26s
fix: raise when an update reader cannot read, and report host status
netOrk reads an empty update list as "no updates" and closes every patch
clock on the host. A refused sudo, a failing pkg, syspatch or freebsd-update,
or a pkg database pkg cannot read used to come back as that empty list. Each
of these now raises. Only pkg's "is not installed" still means no packages.

BsdDriver takes on napalm-device-types' HostStatusMixin. On FreeBSD it
reports a host whose installed kernel differs from the running one as
needing a reboot (device-types 4.1). OpenBSD stays unknown.

Closes #4
2026-10-08 12:08:44 +02:00

2.0 KiB

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.

[Unreleased]

Added

  • FreeBSDDriver (freebsd) and OpenBSDDriver (openbsd) on a shared BsdDriver: SSH over exec channels (no PTY, real exit codes), root through sudo -S with the password on stdin.
  • Read side (NetOrk/netork#798): facts (SMBIOS through kenv on FreeBSD, hw.* sysctls on OpenBSD; uptime from kern.boottime), interfaces and their addresses (ifconfig -a), routes (netstat -rn), ARP (arp -an), users and groups, processes (ps … lstart), cron jobs (system crontab and the login user's).
  • get_listening_sockets() in the shape of ListeningSocketsMixin: FreeBSD through sockstat, OpenBSD through fstat as root and netstat -an without, which the reading reports as attributed: False.
  • Packages: get_packages, install_package, uninstall_package. FreeBSD's install bootstraps pkg on a classic system that never had it.
  • Updates: get_available_updates, with VuXML's verdict as security on FreeBSD and base-system patches as one base-system entry (OpenBSD syspatch, classic FreeBSD freebsd-update). A reader that cannot read raises instead of returning no updates (#4).
  • Services: get_services and manage_service (start, stop, restart, enable, disable) through service and rcctl.
  • SNMP: run_device_action("fix_snmp") installs net-snmp, writes the same configuration netOrk uses on Linux, starts the agent and asks it for sysDescr; get_snmp_config reports a running agent's community and port.
  • get_host_status (napalm-device-types' HostStatusMixin): on FreeBSD, "reboot required" when the installed kernel differs from the running one.
  • Parsers tested on output recorded from FreeBSD 15.1 (hand-installed and cloud image) and OpenBSD 7.9 (NetOrk/netork#793).