Files
napalm-bsd/CHANGELOG.md
christianmanivong aef58ca161
CI / test (3.10) (pull_request) Successful in 30s
CI / test (3.11) (pull_request) Successful in 32s
CI / test (3.12) (pull_request) Successful in 36s
CI / test (3.10) (push) Successful in 45s
CI / test (3.11) (push) Successful in 30s
CI / test (3.12) (push) Successful in 29s
feat: set up SNMP with net-snmp
run_device_action("fix_snmp") and get_snmp_config for both drivers, as
decided in NetOrk/netork#800: net-snmp from packages rather than the base
daemons, because it answers UCD-SNMP-MIB, which netOrk's health metrics
read.

- fix_snmp installs net-snmp, writes the configuration netOrk uses on
  Linux (v2c, community "public", agentAddress udp:161) through stdin as
  root, enables and restarts the agent (FreeBSD `service snmpd`, OpenBSD
  `rcctl ... netsnmpd`, as `snmpd` is OpenBSD's own daemon) and asks it
  for sysDescr. It stops at the first step that fails and says why.
- get_snmp_config reports a running net-snmp's community and port.
- FreeBSD's install_package bootstraps pkg on a classic system that never
  had it instead of waiting for an answer that never comes.

Checked live: FreeBSD from a bare system, OpenBSD again over an existing
setup. Memory, swap and load answer on both; FreeBSD's ssCpuIdle about a
minute after start; OpenBSD's CPU figures from net-snmp are wrong (#800).
2026-10-08 10:05:09 +02:00

1.8 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

  • 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.

Changed

  • FreeBSD's install_package bootstraps pkg on a classic system that never had it (ASSUME_ALWAYS_YES) instead of waiting for an answer.
  • Packages: get_packages, install_package, uninstall_package.
  • 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).
  • Services: get_services and manage_service (start, stop, restart, enable, disable) through service and rcctl.
  • 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.
  • 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).
  • Parsers tested on output recorded from FreeBSD 15.1 (hand-installed and cloud image) and OpenBSD 7.9 (NetOrk/netork#793).