Skip to main content

napalm-openmediavault

NAPALM driver for OpenMediaVault NAS systems, built on napalm-device-types (StorageDriver) and napalm-linux (LinuxDriver).

OpenMediaVault is Debian underneath, so the driver inherits everything napalm-linux does for a Linux host (packages, updates, services, users, processes, cron, Docker) and adds the NAS side: disks, md RAID arrays, filesystems, shares and the NAS services.

Tested against

Model Firmware
OpenMediaVault 6.x (Debian Bullseye), 7.x (Debian Bookworm)

Connection

SSH, port 22 by default, through napalm-linux (Netmiko). The account needs a shell; smartctl and mdadm run through sudo (passwordless, or with sudo_password). Every optional_args key of napalm-linux is accepted (port, pkg_manager, sudo_password, …).

from napalm import get_network_driver

driver = get_network_driver("openmediavault")
with driver("192.0.2.10", "admin", "secret", optional_args={"sudo_password": "secret"}) as nas:
    print(nas.get_facts())
    print(nas.get_disks())
    print(nas.get_shares())

Supported

Getter / action
get_facts napalm-linux's facts, os_version is OMV <version> of the openmediavault package
get_disks lsblk for the disks, smartctl -iA for health, temperature and RPM
get_disk_pools md arrays from /proc/mdstat, size and state from mdadm --detail
get_volumes mounted block-device filesystems from df, read-only flag from /proc/mounts
get_shares SMB, NFS and FTP shares from OMV's configuration database (omv-confdbadm)
get_storage_services whether smbd, nfs-server, proftpd, ssh and rsync are enabled and running
everything of napalm-linux packages, updates, services, users, processes, cron, Docker, …

"Upgrade everything" is a full upgrade (FULL_UPGRADE = True): a plain apt-get upgrade holds back OpenMediaVault's own packages and the kernel.

Not supported

  • get_volume_snapshots, get_replication_jobs, get_quotas raise NotImplementedError.
  • harden_ssh_server is not offered: OpenMediaVault generates sshd_config from its own database and would undo a drop-in on the next apply of its SSH settings.
  • Configuration changes to shares, disks or arrays.

Installation

pip install napalm-openmediavault

Development

The rules are in STANDARDS.md.

python -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest --cov

License

Apache-2.0

Metadata

Release files for napalm-openmediavault 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for napalm-openmediavault 0.3.0
File Size Uploaded Provenance
napalm_openmediavault-0.3.0.tar.gz 15.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for napalm-openmediavault 0.3.0
File Interpreter ABI Platform
napalm_openmediavault-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.7 kB

Release files / napalm_openmediavault-0.3.0.tar.gz

Download URL napalm_openmediavault-0.3.0.tar.gz
Size 15.5 kB
Tags Source
SHA-256 checksum
How to use checksums
15349628ecd10a17b669b8b5919318100a5bd28f38ede8c6146f65878943ff05
BLAKE2b-256 checksum
How to use checksums
ef3c9d2a3954202121200c67bb1f68b994601ca2a44328eb8f4ba5050515c3bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / napalm_openmediavault-0.3.0-py3-none-any.whl

Download URL napalm_openmediavault-0.3.0-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
65c3ab3404ff9f741385724ef2ba5a864c0e9be129e4fbf60687d259c9c9d370
BLAKE2b-256 checksum
How to use checksums
6c31985c65a5d70a0cd7557e9ec58ed11ea2b3b7d53ae3e61693f351d4003121
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Security for napalm-openmediavault 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page