Skip to content

Adopt cloudshell-snmp 6.0 / cloudshell-snmp-autoload 3.0 (pysnmp 7) — Python 3.12/3.13 - #11

Closed
nahumtimerman wants to merge 1 commit into
QualiSystems:masterfrom
nahumtimerman:feature/cloudshell-snmp-6
Closed

nahumtimerman wants to merge 1 commit into
QualiSystems:masterfrom
nahumtimerman:feature/cloudshell-snmp-6

Conversation

@nahumtimerman

Copy link
Copy Markdown
Contributor

Adopts cloudshell-snmp 6.0.0 and cloudshell-snmp-autoload 3.0.0 (pysnmp 7), adding Python 3.12/3.13 support. Validated against the same snmpsim recording set used for the cloudshell-networking-cisco migration (143-device parity gate); the BIG-IP i2600 recording autoloads successfully on Python 3.9 and 3.13.

Changes

  • requirements.txt: cloudshell-snmp>=6.0,<7.0, cloudshell-snmp-autoload>=3.0,<4.0; attrs>=21,<23; standard-telnetlib on Python >= 3.13 (stdlib telnetlib was removed and cloudshell-cli 4.x imports it).
  • BigIPAutoloadFlow: autoload-3.x GenericSNMPAutoload API — resource_model moves to the constructor, discover() takes only supported_os.
  • Port customization ported from the removed autoload-1.x SnmpIfTable to the 3.x PortsTable service: new F5PortsTable keeps dots legal in F5 port names (e.g. 1.1) and excludes mgmt/management/loopback/null, matching the old F5SnmpIfTable behavior. F5FirewallGenericSNMPAutoload now overrides port_table_service instead of if_table_service.
  • Tests: cloudshell-shell-networking-standard>=6.0,<7.0 (shell-standards 2.x).
  • Packaging/CI: python_requires>=3.9, classifiers 3.9–3.13, version 2.1.0, tox envlist py39, sdist without --format zip, CI matrix py39 only, isort pre-commit hook 5.10.1 -> 5.12.0 (5.10.1 no longer installs).

Testing

  • Unit tests pass on Python 3.9 and 3.13 (fresh venvs); full package import sweep is clean on both.
  • Live smoke: snmpsim recording rec059 (BIG-IP i2600, 12.1.2), full F5FirewallGenericSNMPAutoload.discover on both Pythons — 1 chassis, 7 ports (dotted names included, mgmt/loopback excluded), system attributes populated.

🤖 Generated with Claude Code

- cloudshell-snmp >=6.0,<7.0 and cloudshell-snmp-autoload >=3.0,<4.0
- GenericSNMPAutoload new API: resource_model passed to the constructor,
  discover() takes only supported_os
- port customization ported from the removed autoload-1.x SnmpIfTable to
  the 3.x PortsTable service: F5PortsTable keeps dots legal in port names
  and excludes mgmt/management/loopback/null
- standard-telnetlib backport on Python >= 3.13 (telnetlib removed from
  stdlib, cloudshell-cli 4.x imports it); attrs >=21,<23
- tests: cloudshell-shell-networking-standard >=6.0 (shell-standards 2.x)
- Python >=3.9, classifiers 3.9-3.13; tox py39; CI matrix py39 only;
  isort pre-commit hook 5.10.1 -> 5.12.0 (5.10.1 no longer installs);
  version 2.1.0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@nahumtimerman

Copy link
Copy Markdown
Contributor Author

Superseded by #12, which is the same change pushed as an in-repo branch so the org reusable workflows can check it out (they can't check out forks). Closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant