netOrk's reboot path (netork/adapters/napalm/reboot.py::request_reboot) uses the napalm-device-types reboot_host() contract when a driver implements it, and otherwise falls back to /sbin/reboot via _send_command. LinuxDriver has neither — its shell helper is _send — so rebooting a Linux host through POST /devices/{id}/reboot never did anything (it reported success until #310; it now returns an honest 400).
Implement reboot_host() in LinuxDriver (via _sudo, ignoring only the connection drop the reboot causes). OpenMediaVault and QNAP QTS inherit it; worth checking whether QTS needs its own command.
Found while fixing christianmanivong/netork#310.
netOrk's reboot path (`netork/adapters/napalm/reboot.py::request_reboot`) uses the napalm-device-types `reboot_host()` contract when a driver implements it, and otherwise falls back to `/sbin/reboot` via `_send_command`. `LinuxDriver` has neither — its shell helper is `_send` — so rebooting a Linux host through `POST /devices/{id}/reboot` never did anything (it reported success until #310; it now returns an honest 400).
Implement `reboot_host()` in `LinuxDriver` (via `_sudo`, ignoring only the connection drop the reboot causes). OpenMediaVault and QNAP QTS inherit it; worth checking whether QTS needs its own command.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found while fixing christianmanivong/netork#310.
netOrk's reboot path (
netork/adapters/napalm/reboot.py::request_reboot) uses the napalm-device-typesreboot_host()contract when a driver implements it, and otherwise falls back to/sbin/rebootvia_send_command.LinuxDriverhas neither — its shell helper is_send— so rebooting a Linux host throughPOST /devices/{id}/rebootnever did anything (it reported success until #310; it now returns an honest 400).Implement
reboot_host()inLinuxDriver(via_sudo, ignoring only the connection drop the reboot causes). OpenMediaVault and QNAP QTS inherit it; worth checking whether QTS needs its own command.