driver / standard (pull_request) Successful in 14s
driver / lint (pull_request) Successful in 13s
driver / types (pull_request) Successful in 1m1s
driver / test (3.12) (pull_request) Successful in 1m1s
driver / test (3.13) (pull_request) Successful in 49s
driver / lowest (pull_request) Successful in 25s
driver / build (pull_request) Successful in 25s
driver / security (pull_request) Successful in 59s
CI / driver (pull_request) Successful in 2m20s
driver / publish (pull_request) Skipped
PyYAML 6.0 ships no Python 3.12 wheel and fails to build from source there, so the lowest job could not install it.
63 lines
2.8 KiB
Markdown
63 lines
2.8 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||
|
||
## [Unreleased]
|
||
|
||
### Changed
|
||
- Python 3.12 is the floor (`requires-python = ">=3.12"`): netOrk runs every driver
|
||
on 3.12, so 3.10 and 3.11 are no longer tested (NAPALM/driver-standard#6).
|
||
- The floor on napalm is 5.1: older releases import `pkg_resources`, which a Python
|
||
3.12 venv no longer has.
|
||
- The floor on PyYAML is 6.0.1: 6.0 has no Python 3.12 wheel and does not build there.
|
||
|
||
## [0.3.0] - 2026-10-23
|
||
|
||
The first release on PyPI.
|
||
|
||
### 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. Python 3.10 remains the floor;
|
||
requires napalm-device-types 4.21.1.
|
||
- Provisioning fails, and removes the imported VM, when vSphere hands back fewer
|
||
network adapters than NICs were asked for, instead of leaving a NIC unconfigured.
|
||
A failed abort of the import lease is logged at debug level.
|
||
|
||
### Added
|
||
- VM provisioning (`create_vm_from_cloud_init`, `destroy_vm`,
|
||
`get_vm_status`, `get_network_targets`, `get_image_storages`) from qcow2/raw
|
||
cloud images: converted with qemu-img, imported over OVF/NFC, configured
|
||
by cloud-init from a NoCloud seed ISO. Tested against vcsim.
|
||
- `reboot_host` on ESXi, refused outside maintenance mode.
|
||
- Declares `open-vm-tools` as the guest agent for provisioned VMs.
|
||
|
||
### Changed
|
||
- **Breaking:** `get_device_warnings` is gone; the driver reports facts and the
|
||
caller names the warnings (netOrk #1111). `get_hypervisor_hosts()` gives each
|
||
host's connection state (`None` on ESXi, which cannot tell), maintenance mode,
|
||
configuration issues and managing vCenter (ESXi only); `get_licenses()` gives
|
||
the assigned licenses with their edition key as `edition`. Requires
|
||
napalm-device-types 4.14.0; version 0.2.0.
|
||
- The guest agent is declared per guest OS (`GUEST_AGENTS`, napalm-device-types
|
||
3.0); VMware provisions Linux guests only and refuses any other `guest_os`.
|
||
- The NoCloud network-config comes from napalm-device-types
|
||
(`provisioning.network_config`), which Proxmox uses as well.
|
||
|
||
## [0.1.0] - 2026-09-24
|
||
|
||
### Added
|
||
- `vmware_esxi` and `vmware_vcenter` drivers (`hypervisor` role) over the
|
||
vSphere API: facts, interfaces, LLDP/CDP, environment, VMs, VM config,
|
||
power actions, snapshots, datastores, port groups and raw device warnings.
|
||
- `tools/harvest.py` and `tools/sanitize.py` to capture fixtures from real
|
||
hosts.
|
||
|
||
### Pending
|
||
- Validation against real ESXi and vCenter installations; tested against
|
||
vcsim only.
|