chore: adopt the NAPALM driver standard
driver / standard (pull_request) Successful in 13s
driver / lint (pull_request) Successful in 11s
driver / types (pull_request) Successful in 44s
driver / test (3.10) (pull_request) Successful in 45s
driver / test (3.11) (pull_request) Successful in 44s
driver / test (3.12) (pull_request) Successful in 43s
driver / test (3.13) (pull_request) Successful in 37s
driver / lowest (pull_request) Successful in 22s
driver / security (pull_request) Successful in 46s
driver / build (pull_request) Successful in 22s
CI / driver (pull_request) Successful in 5m28s
driver / publish (pull_request) Skipped

- CI moves to .gitea/workflows/ci.yml and calls the shared driver workflow
  of NAPALM/driver-standard; .github/ goes.
- requires-python >=3.10 (napalm-device-types needs it), LICENSE file,
  CHANGELOG, py.typed, SPDX license string, links to git.netork.io;
  napalm-device-types >=4.21.1, a dev extra with floors.
- [tool.napalm-standard] names the import package napalm_procurve, which is
  not the distribution name.
- True floors for netaddr (>=0.7.10) and urllib3 (>=1.23): unbounded, the
  lowest job installed versions that do not import on Python 3.10.
- mypy strict for the package; napalm_procurve.api_client, .parsers and
  .procurve are exempt for now (136 errors), recorded in the quality
  baseline with their long functions and the 1400-line procurve.py.
  Coverage floor 54 % (measured 54.28 %).
This commit is contained in:
Christian Manivong committed 2026-10-23 08:40:11 +02:00
1 parent fc24495b83
commit 779b42c193
9 files changed
+339 -63

No files matched your search

+48
View File
@@ -0,0 +1,48 @@
# Changelog
All notable changes to this driver. The format follows
[Keep a Changelog](https://keepachangelog.com/), versions follow
[Semantic Versioning](https://semver.org/).
## [Unreleased]
### Changed
- The driver follows the NAPALM driver standard
(https://git.netork.io/NAPALM/driver-standard): CI on Gitea runs ruff, mypy, the
tests on Python 3.10–3.13 and at the lowest declared versions, bandit, pip-audit and
a build check, and a release tag publishes to PyPI. The package now ships `py.typed`
and a LICENSE file. **Python 3.8 and 3.9 are no longer supported**;
napalm-device-types never ran on them. It now requires napalm-device-types 4.21.1.
- Exceptions the driver deliberately ignores (logging out of the REST API, the extra
port lookup, per-port details, closing a session) are now logged at debug level.
## [0.5.0] - 2026-10-18
### Changed
- The SSH host key is verified: with a known key in `optional_args["ssh_host_keys"]`
any other key is refused before login, and every key seen is reported to
`optional_args["ssh_host_key_observer"]`. Without either argument the driver
connects as before. Requires napalm-device-types 4.19.0.
## [0.4.0] - 2026-10-17
### Added
- `configure_snmp_agent()`: community (read-only), contact and location from the
caller, saved and verified in `show snmp-server`.
### Removed
- **Breaking:** `fix_snmp` and `run_device_action`; `fix_snmp` set the community
`public`.
## [0.3.0] - 2026-10-16
### Changed
- The driver no longer collects over SNMP: `SNMP_HEALTH_PROFILE` declares where the
switch publishes its health values. The memory value is read as free memory, as
the switch reports it, and interface counters come from the 64-bit ifXTable.
## [0.2.0] - 2026-05-29
### Added
- First version: ProCurve and Aruba switches over the REST API, SSH, SSH with legacy
key exchange or Telnet, chosen automatically.