fix: raise when an update reader cannot read, and report host status
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
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
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
This commit is contained in:
+16
-16
@@ -8,22 +8,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
## [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.
|
||||
@@ -32,5 +16,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
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).
|
||||
|
||||
Reference in New Issue
Block a user