CI / test (3.10) (push) Successful in 33s
CI / test (3.11) (push) Successful in 32s
CI / test (3.12) (push) Successful in 35s
CI / test (3.10) (pull_request) Successful in 32s
CI / test (3.11) (pull_request) Successful in 30s
CI / test (3.12) (pull_request) Successful in 35s
fix_snmp overwrote snmpd.conf with an application's values (community "public", "Managed by netOrk", netork@localhost) through a fixed /tmp/netork_snmpd.conf, and opened ufw for a /24 guessed from ss; install_lldpd was an action of its own. Neither read an exit status. The driver implements napalm-device-types 4.13's templates instead: - configure_snmp_agent(settings): net-snmp installed, snmpd.conf with one rocommunity line per allowed source (mktemp, install as root), ufw opened for those sources only (pve-firewall stays the operator's), snmpd enabled and restarted; - get_management_peer() from SSH_CONNECTION; - install_package(name), as the contract says (raises when apt fails), so ensure_package comes from the base package. Every step reads its exit status. BREAKING CHANGE: run_device_action is removed. Requires napalm-device-types 4.13. Part of #24.
67 lines
1.7 KiB
TOML
67 lines
1.7 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "napalm-proxmox"
|
|
version = "0.3.0"
|
|
description = "NAPALM driver for Proxmox VE (classic Linux networking, SDN, OVS)"
|
|
readme = "README.md"
|
|
license = { text = "Apache-2.0" }
|
|
authors = [{ name = "Christian Manivong" }]
|
|
keywords = ["napalm", "proxmox", "network", "sdn", "ovs", "automation"]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: System Administrators",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: System :: Networking",
|
|
]
|
|
requires-python = ">=3.9"
|
|
dependencies = [
|
|
"napalm>=5.0.0",
|
|
"napalm_device_types>=4.13.0",
|
|
"paramiko>=5.0.0", # CVE-2026-44405; imported directly for SSH fallback (driver.py)
|
|
"proxmoxer>=2.0.0",
|
|
"netaddr>=0.9.0",
|
|
"requests>=2.31.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=7.4",
|
|
"pytest-cov>=4.1",
|
|
"pytest-mock>=3.12",
|
|
"responses>=0.24",
|
|
"ruff>=0.1",
|
|
"mypy>=1.7",
|
|
]
|
|
|
|
[project.entry-points."napalm.drivers"]
|
|
proxmox = "napalm_proxmox:ProxmoxDriver"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["napalm_proxmox*"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py39"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "W", "I", "UP"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
addopts = "--cov=napalm_proxmox --cov-report=term-missing"
|
|
|
|
[tool.mypy]
|
|
python_version = "3.9"
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|