CI / test (3.10) (push) Successful in 28s
CI / test (3.11) (push) Successful in 23s
CI / test (3.12) (push) Successful in 29s
CI / test (3.10) (pull_request) Successful in 26s
CI / test (3.11) (pull_request) Successful in 30s
CI / test (3.12) (pull_request) Successful in 32s
fix_snmp wrote an application's snmpd.conf (community public, Managed by netOrk, netork@localhost) and judged itself by a local snmpget. The drivers implement napalm-device-types 4.13's SnmpAgentMixin steps instead: net-snmp installed, snmpd.conf with one rocommunity line per allowed source (staged without privilege, installed by root), snmpd enabled and restarted. pf and ipfw rules stay the operator's. A community or text that would break the file is refused. The caller verifies with its own SNMP client. Also get_management_peer() from SSH_CONNECTION, ensure_package from the base package, and get_snmp_config no longer assumes "public". BREAKING CHANGE: run_device_action is removed. Requires napalm-device-types 4.13. Part of #12 (the OpenBSD new_version text is still open).
76 lines
3.7 KiB
Markdown
76 lines
3.7 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
## [0.3.0] - 2026-10-17
|
|
|
|
### Changed
|
|
- **Breaking:** `run_device_action("fix_snmp")` is gone. The drivers implement
|
|
napalm-device-types 4.13's `configure_snmp_agent(settings)` template instead, and
|
|
the caller supplies every value: one `rocommunity` line per allowed source, contact
|
|
and location as given. No community, contact or location of an application is built
|
|
in any more. pf and ipfw rules are left to the operator. Requires
|
|
napalm-device-types 4.13.0 or later.
|
|
- `get_snmp_config` no longer assumes the community `public` when the file names none.
|
|
|
|
### Added
|
|
- `get_management_peer()`: the address the host sees the SSH connection come from.
|
|
- `ensure_package(name)` from the base package.
|
|
|
|
## [0.2.1] - 2026-10-16
|
|
|
|
### Fixed
|
|
- A sudo password no longer ends up in `snmpd.conf`. `run_command` sent the
|
|
password and the data on the same stdin, and a sudo that does not prompt
|
|
(NOPASSWD, a cached timestamp) left the password for `cat`, which wrote it
|
|
as the first line of a file then made world-readable (#8). `run_command` now
|
|
refuses stdin to a privileged command while a sudo password is set, and
|
|
`fix_snmp` stages the configuration without privilege before root installs
|
|
it, without following a symlink at the target.
|
|
|
|
## [0.2.0] - 2026-10-13
|
|
|
|
### Changed
|
|
- `get_users` is now `get_os_users`, as napalm-device-types 4.7 names it on
|
|
`OSDriver`; the return shape is unchanged. NAPALM's own `get_users` has
|
|
another shape and a stub on every driver, so a poll asking `hasattr` could
|
|
not tell the two apart. Requires napalm-device-types 4.7.1 or later.
|
|
|
|
## [0.1.0]
|
|
|
|
### 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.
|
|
- `first_boot_pending()`: whether a FreeBSD host is still in its first boot
|
|
(`/firstboot`), so netOrk can wait before setting up a new VM
|
|
(NetOrk/netork#795).
|
|
- Parsers tested on output recorded from FreeBSD 15.1 (hand-installed and
|
|
cloud image) and OpenBSD 7.9 (NetOrk/netork#793).
|