Agnostic structure: facts instead of warnings, guest profile from the caller #5

Open
opened 2026-10-14 08:58:53 +00:00 by christianmanivong · 1 comment
Owner

What this driver has to change for the agnostic structure (NAPALM/napalm-device-types docs/STRUCTURE.md (NAPALM/napalm-device-types#37), epic NetOrk/netork#1105).

  • get_device_warnings (parse/warnings.py) goes. Facts instead: per-host connection state, maintenance mode, config issues, management server IP, license edition. vmware_api_read_only decides "free licence = read-only" from editionKey; that rule and its sentence (_tasks.py) move to the application.
  • Provisioning (NAPALM/napalm-device-types#34): GUEST_AGENTS (open-vm-tools) and network_config come from the caller. Open point: MACs are only known after the OVF import unless the caller pins them; either the caller always pins MACs, or it passes per-NIC intent and the driver builds the document. Also check (nic.get("mac") or adapter.macAddress or ""): with no MAC yet the config matches "".
  • REBOOT_SETTLE_SECONDS 300/600 move to the application; USES_SSH and platform stay.
  • Neutral wording: "change VMs from netOrk", "where netOrk runs the provisioning job"; 10 mentions.

Size: medium. Needs: NAPALM/napalm-device-types#34.

Prio P3.

What this driver has to change for the agnostic structure (NAPALM/napalm-device-types `docs/STRUCTURE.md` (NAPALM/napalm-device-types#37), epic NetOrk/netork#1105). - `get_device_warnings` (`parse/warnings.py`) goes. Facts instead: per-host connection state, maintenance mode, config issues, management server IP, license edition. `vmware_api_read_only` decides "free licence = read-only" from `editionKey`; that rule and its sentence (`_tasks.py`) move to the application. - Provisioning (NAPALM/napalm-device-types#34): `GUEST_AGENTS` (open-vm-tools) and `network_config` come from the caller. Open point: MACs are only known after the OVF import unless the caller pins them; either the caller always pins MACs, or it passes per-NIC intent and the driver builds the document. Also check `(nic.get("mac") or adapter.macAddress or "")`: with no MAC yet the config matches `""`. - `REBOOT_SETTLE_SECONDS` 300/600 move to the application; `USES_SSH` and `platform` stay. - Neutral wording: "change VMs from netOrk", "where netOrk runs the provisioning job"; 10 mentions. Size: medium. Needs: NAPALM/napalm-device-types#34. Prio P3.
Author
Owner

Status 2026-10-18, checked against the pin on NetOrk/netork main.

Done: Facts instead of warnings: get_hypervisor_hosts(), get_licenses() (0.2.0, #6); netOrk owns the read-only rule.

Rest:

  • Provisioning (GUEST_AGENTS, network_config, the MAC question) and REBOOT_SETTLE_SECONDS (NAPALM/napalm-device-types#34).
  • Wording: 8 netOrk mentions (e.g. parse/vms.py, provisioning.py).
Status 2026-10-18, checked against the pin on NetOrk/netork main. **Done:** Facts instead of warnings: `get_hypervisor_hosts()`, `get_licenses()` (0.2.0, #6); netOrk owns the read-only rule. **Rest:** - Provisioning (`GUEST_AGENTS`, `network_config`, the MAC question) and `REBOOT_SETTLE_SECONDS` (NAPALM/napalm-device-types#34). - Wording: 8 netOrk mentions (e.g. `parse/vms.py`, `provisioning.py`).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NAPALM/napalm-vmware#5