Commit Graph
7 Commits
Author SHA1 Message Date
Christian Manivong 68515edd5f fix: the floor on urllib3 is 1.26.5 (NAPALM/driver-standard#6)
driver / standard (pull_request) Successful in 16s
driver / lint (pull_request) Successful in 12s
driver / test (3.12) (pull_request) Successful in 55s
driver / types (pull_request) Successful in 55s
driver / test (3.13) (pull_request) Successful in 45s
driver / lowest (pull_request) Successful in 24s
driver / build (pull_request) Successful in 27s
driver / security (pull_request) Successful in 1m0s
CI / driver (pull_request) Successful in 2m24s
driver / publish (pull_request) Skipped
urllib3 1.26.4 and older bundle a six whose import hook Python 3.12 no
longer supports (urllib3.packages.six.moves), so the lowest job failed.
2026-10-27 12:22:15 +01:00
Christian Manivong 27e0b069af fix: the floor on napalm is 5.1 (NAPALM/driver-standard#6)
driver / standard (pull_request) Successful in 14s
driver / lint (pull_request) Successful in 13s
driver / types (pull_request) Successful in 56s
driver / test (3.12) (pull_request) Successful in 54s
driver / test (3.13) (pull_request) Successful in 49s
driver / lowest (pull_request) Failing after 24s
driver / build (pull_request) Successful in 30s
driver / security (pull_request) Successful in 57s
CI / driver (pull_request) Failing after 2m16s
driver / publish (pull_request) Skipped
napalm 5.0 and older import pkg_resources, which a Python 3.12 venv no
longer has, so the lowest job failed on them.
2026-10-27 10:49:28 +01:00
Christian Manivong 91547c8b08 chore: Python 3.12 is the floor (NAPALM/driver-standard#6)
driver / standard (pull_request) Successful in 17s
driver / lint (pull_request) Successful in 13s
driver / types (pull_request) Failing after 5s
driver / lowest (pull_request) Failing after 25s
driver / test (3.13) (pull_request) Successful in 57s
driver / test (3.12) (pull_request) Successful in 1m5s
driver / build (pull_request) Successful in 28s
driver / security (pull_request) Successful in 1m7s
CI / driver (pull_request) Failing after 2m19s
driver / publish (pull_request) Skipped
netOrk runs every driver in its own containers on Python 3.12, so 3.10
and 3.11 are no longer supported or tested. requires-python, mypy and
ruff move to 3.12, along with what ruff's pyupgrade rules then rewrite.
2026-10-27 10:18:56 +01:00
Christian Manivong b5f3e31498 chore(release): 0.2.0
driver / standard (pull_request) Successful in 13s
driver / lint (pull_request) Successful in 11s
driver / types (pull_request) Successful in 43s
driver / test (3.10) (pull_request) Successful in 44s
driver / test (3.11) (pull_request) Successful in 45s
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 5m26s
driver / publish (pull_request) Skipped
2026-10-23 10:29:04 +02:00
Christian Manivong ed928c22b0 chore: adopt the NAPALM driver standard
driver / standard (pull_request) Successful in 14s
driver / lint (pull_request) Successful in 11s
driver / types (pull_request) Successful in 45s
driver / test (3.10) (pull_request) Successful in 44s
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 5m30s
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), CHANGELOG,
  py.typed, SPDX license string, Issues and Changelog links; a dev extra
  with floors.
- napalm-device-types >=4.21.1 is declared: officeconnect.py imports
  SwitchDriver and FingerprintRule from it, but the package did not list it.
- urllib3 gets a true floor (>=1.23): unbounded, the lowest job installed a
  version that does not import on Python 3.10.
- mypy strict for the package; napalm_hpe_officeconnect.officeconnect is
  exempt for now (4 errors: three ClassVar fingerprint attributes the base
  declares as instance variables, one bare dict), recorded in the quality
  baseline. Coverage floor 91 % (measured 91.83 %).
2026-10-23 08:44:17 +02:00
Christian Manivong 06a39b49b3 style: ruff format and the lint rules of the driver standard
The rule set every NAPALM driver uses (E, F, I, UP, B at line length 100,
Python 3.10). The code already meets it: ruff format and ruff check --fix
change nothing.
2026-10-23 08:41:56 +02:00
Christian Manivong c76a177ff2 feat: NAPALM driver for HPE OfficeConnect 1820/1920S
These switches have no CLI at all — no SSH, no Telnet and no ArubaOS-Switch
REST API — so the ProCurve driver cannot serve them despite the shared
vendor. The only management surface is the web UI, which ships its table
data as JavaScript array literals; those parse with ast.literal_eval, so
the driver needs no HTML parser and no dependency beyond napalm/requests.

Read-only by design: the platform exposes a single administrator account
with no privilege levels, and serves HTTPS only after a certificate has
been uploaded, so the polling credential is necessarily the admin
credential over a plain channel.

Implements get_facts, get_interfaces, get_vlans, get_vlans_detail and
get_mac_address_table, plus HTTP/SNMP fingerprints for discovery.

Tested against an HPE OfficeConnect 1820 8G PoE+ (65W), J9982A, PT.02.19.
2026-08-10 20:45:55 +07:00