Commit Graph
8 Commits
Author SHA1 Message Date
Christian Manivong c2f0f7c20a feat!: configure_snmp_agent with the caller's values replaces fix_snmp (0.3.0)
Tests / Test (Python 3.10) (pull_request) Successful in 17s
Tests / Test (Python 3.11) (pull_request) Successful in 17s
Tests / Test (Python 3.12) (pull_request) Successful in 21s
fix_snmp hard-coded community "public" and found the management VLAN
for the source interface with a substring match, so 10.0.0.1 matched
10.0.0.10 and a DNS name never matched (#3).

The driver implements napalm-device-types 4.13's configure_snmp_agent
steps: the caller's community (read-only, viewDefault), the source
interface set to the VLAN whose address is exactly the listen address
or the management address, configuration saved, and the community
checked in show snmp community. Contact and location are reported as
not set; there is no verified CLI for them on this switch. A value
that would break the CLI is refused.

The requirements now name napalm-device-types 4.13 in both files.

BREAKING CHANGE: run_device_action is removed.

Part of #3 and #4.
2026-10-17 08:36:52 +02:00
Christian Manivong b01d70aa3c feat: declare the SNMP health OIDs instead of collecting them (0.2.0)
Tests / Test (Python 3.10) (pull_request) Successful in 22s
Tests / Test (Python 3.11) (pull_request) Successful in 21s
Tests / Test (Python 3.12) (pull_request) Successful in 24s
The driver no longer collects over SNMP. SNMP_HEALTH_PROFILE states
where the switch publishes uptime (TimeTicks), CPU and memory (tables
with one row per stack unit, first row as before); the application
polls and computes (napalm-device-types docs/STRUCTURE.md).

Interface counters now come from the 64-bit ifXTable where the switch
has it, as the application reads them for every device.
2026-10-16 12:02:32 +02:00
Christian Manivong 786f05faac ci: install napalm-device-types from git, so the tests run at all
Tests / Test (Python 3.10) (pull_request) Successful in 17s
Tests / Test (Python 3.11) (pull_request) Successful in 16s
Tests / Test (Python 3.12) (pull_request) Successful in 21s
Every CI run died at "pip install -e .[dev]": pyproject.toml asks for
napalm_device_types, which lives in git.netork.io/NAPALM rather than on PyPI,
and pip found only an unrelated 0.1.0 there. Not one test had run in CI.

The workflow now installs napalm-device-types from git first. The matrix
drops 3.8/3.9 and requires-python says >=3.10, because napalm-device-types
itself needs 3.10 -- the package never installed on anything older.

Replayed in a fresh venv: napalm-device-types 2.0.0 from git, then the
package with its dev extras, tests green.
2026-10-04 00:43:46 +02:00
Christian Manivong a772b0f967 fix(deps): pin paramiko>=5.0.0 (CVE-2026-44405)
Tests / Test (Python 3.10) (push) Failing after 5s
Tests / Test (Python 3.11) (push) Failing after 6s
Tests / Test (Python 3.12) (push) Failing after 6s
Tests / Test (Python 3.8) (push) Failing after 5s
Tests / Test (Python 3.9) (push) Failing after 6s
2026-07-02 12:22:55 +02:00
Christian Manivong 1874622543 feat: add VLAN/interface write methods and SG3210 support (v0.1.2)
- Implement `delete_vlan()`: removes VLAN from switch, automatically
  moves untagged (PVID) ports to VLAN 1 before deletion to satisfy
  TP-Link's constraint
- Implement `set_vlan()`: creates or updates a VLAN with optional name
- Implement `set_interface()`: configures trunk/access mode and VLAN
  membership on a switch interface
- Add `_to_cli_interface()` helper to expand abbreviated port names
  (e.g. Gi1/0/1 → gigabitEthernet 1/0/1)
- Import `InterfaceConfigDict` and `VlanConfigDict` from
  `napalm_device_types.models`
- Bump `napalm_device_types` dependency to >=0.2.0
- Add TL-SG3210 to tested-device table in README
- Bump version to 0.1.2
2026-05-29 08:53:13 +02:00
Christian Manivong ec70aad7ca Bump version to 0.1.1 2026-05-12 23:09:16 +02:00
Christian Manivong 25bb0c36f2 Added napalm_device_types to pyproject 2026-05-11 22:15:01 +02:00
Christian Manivong 6a04796dd7 Inital commit 2026-05-09 19:05:49 +02:00