feat: say whether a host is still in its first boot
CI / test (3.10) (push) Successful in 29s
CI / test (3.11) (push) Successful in 30s
CI / test (3.12) (push) Successful in 29s
CI / test (3.10) (pull_request) Successful in 29s
CI / test (3.11) (pull_request) Successful in 46s
CI / test (3.12) (pull_request) Successful in 42s
CI / test (3.10) (push) Successful in 29s
CI / test (3.11) (push) Successful in 30s
CI / test (3.12) (push) Successful in 29s
CI / test (3.10) (pull_request) Successful in 29s
CI / test (3.11) (pull_request) Successful in 46s
CI / test (3.12) (pull_request) Successful in 42s
first_boot_pending() is true while /firstboot exists on FreeBSD. A FreeBSD cloud image upgrades its base system on its first boot, starts sshd only after that and restarts right away, and /etc/rc removes /firstboot just before that restart. netOrk waits for this before it sets up a new VM (NetOrk/netork#795). OpenBSD has no such marker to ask yet, so it returns False there.
This commit is contained in:
@@ -38,6 +38,7 @@ over SSH, built on [napalm-device-types](https://git.netork.io/NAPALM/napalm-dev
|
||||
| `get_services`, `manage_service` | ✓ | ✓ | `service -e` + `service … status` / `service … <action>`; `rcctl ls on` + `rcctl check` / `rcctl <action>` |
|
||||
| `run_device_action("fix_snmp")`, `get_snmp_config` | ✓ | ✓ | net-snmp from packages: `/usr/local/etc/snmp/snmpd.conf` + `service snmpd`; `/etc/snmp/snmpd.conf` + `rcctl … netsnmpd` |
|
||||
| `get_host_status` | ✓ | unknown | napalm-device-types' host status: on FreeBSD `freebsd-version -k` vs `-r` (4.1+) |
|
||||
| `first_boot_pending` | ✓ | always `False` | whether `/firstboot` still exists |
|
||||
|
||||
`get_listening_sockets` has the shape of napalm-device-types'
|
||||
`ListeningSocketsMixin` (whose `ss`/cgroup reading is Linux's) and its rule:
|
||||
@@ -68,6 +69,11 @@ database pkg cannot read (only pkg's "not installed" means no packages).
|
||||
(`freebsd-version -k`) differs from the running one (`-r`) as needing a reboot.
|
||||
OpenBSD has no such reading yet, so it stays unknown there.
|
||||
|
||||
**First boot.** A FreeBSD cloud image upgrades its base system on its first boot,
|
||||
starts sshd only after that and restarts right away. `/etc/rc` removes `/firstboot`
|
||||
just before the restart, so `first_boot_pending()` is true until then; netOrk waits
|
||||
for it before it sets up a new VM. OpenBSD has no such marker to ask yet.
|
||||
|
||||
**Services** are the enabled ones. FreeBSD reads their status as root, as
|
||||
root-only pidfiles hide a daemon from anyone else, and without root when sudo
|
||||
refuses; OpenBSD's `rcctl check` needs no root. Actions run as root.
|
||||
|
||||
Reference in New Issue
Block a user