CI / test (3.10) (push) Failing after 16s
CI / test (3.11) (push) Failing after 16s
CI / test (3.12) (push) Successful in 39s
CI / test (3.10) (pull_request) Successful in 38s
CI / test (3.11) (pull_request) Successful in 36s
CI / test (3.12) (pull_request) Successful in 38s
netOrk drove this driver's shell through the private `_send` (an interactive PTY, stdout and stderr merged, no exit code) and opened its own paramiko connections for Docker. napalm-device-types 2.6.0 makes the channel public; this implements it (NetOrk/netork#765): - `run_command()` and `open_stream()` open an exec channel on the SSH transport netmiko already holds: no second login, no PTY, a real exit status. - `privileged=True` follows the driver's existing rules: as root the command runs directly; with a sudo password it goes through `sudo -S -p ''` and the password is written to stdin, never onto the command line; without one `sudo -n` fails at once instead of hanging. - `ContainerEngineMixin` is mixed in, so `open_container_engine("docker")` streams the Engine API over `docker system dial-stdio`. The existing Docker methods are unchanged. Version 0.2.0, requires napalm-device-types >= 2.6.0. Refs NAPALM/napalm-device-types#17
1.9 KiB
1.9 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
[0.2.0] – 2026-10-07
Added
run_command()andopen_stream(), the public command channel from napalm-device-types 2.6.0: an exec channel on the existing SSH transport, so no PTY, separate stderr and a real exit code.privileged=Trueruns as root directly, throughsudo -Swith the password on stdin (never on the command line), or throughsudo -n, which fails instead of prompting.ContainerEngineMixin:container_engines()andopen_container_engine(), whoseopen_api()streams the Docker Engine API overdocker system dial-stdio(NetOrk/netork#765). The existing Docker methods are unchanged.
Changed
- Requires napalm-device-types >= 2.6.0.
0.1.0 – 2026-05-29
Added
- Initial release
LinuxDriverinheriting fromnapalm_device_types.OSDriver- SSH transport via Netmiko
linuxdevice type - Auto-detection of package manager:
apt,dnf,yum,apk,pacman - Standard NAPALM methods:
get_facts(),get_interfaces(),get_interfaces_ip(),get_arp_table(),get_config(),ping() - OS-specific methods:
get_packages(),get_pending_updates(),apply_updates(),get_services(),get_users(),get_processes(),get_cron_jobs() apply_updates()validates all package names against^[a-zA-Z0-9_\-\+\.]+$to prevent shell injection before passing them to the package manager- SysV fallback for
get_services()on non-systemd systems - Unit tests with mocked SSH connections