get_vm_snapshots, create_vm_snapshot, delete_vm_snapshot and
rollback_vm_snapshot for VMs and containers, so netOrk's snapshot view
works on Proxmox as it does on VMware. Proxmox lists the live state as a
pseudo-snapshot named "current"; it is never reported or addressable.
Containers have no RAM state, so include_memory is ignored for them.
reboot_host() restarts the node with POST /nodes/{node}/status
command=reboot instead of /sbin/reboot over SSH.
52 lines
2.1 KiB
Markdown
52 lines
2.1 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.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
- `HypervisorDriver` contract methods `start_vm`, `stop_vm`, `reboot_vm`,
|
|
`suspend_vm` and `get_vm_config`. They accept a VM's name or vmid, raise
|
|
`ValueError`/`RuntimeError` instead of returning a result dict, and wait
|
|
for the Proxmox task to finish. `power_vm` is unchanged.
|
|
- Snapshot methods `get_vm_snapshots`, `create_vm_snapshot`,
|
|
`delete_vm_snapshot`, `rollback_vm_snapshot` for VMs and containers
|
|
(containers never save RAM state).
|
|
- `reboot_host()` restarts the node through the API instead of SSH.
|
|
|
|
### Changed
|
|
- `get_vms()` reports `vmid` as a string (`"100"`), following
|
|
napalm-device-types 2.0. Ordering stays numeric.
|
|
|
|
## [0.1.0] - 2024-01-01
|
|
|
|
### Added
|
|
- Initial release of the Proxmox VE NAPALM driver
|
|
- Support for classic Linux networking (`/etc/network/interfaces`, Linux bridges)
|
|
- Support for Proxmox SDN (zones: VLAN, QinQ, VXLAN, EVPN; VNets and subnets)
|
|
- Support for Open vSwitch (OVS) bridges, bonds, and internal ports
|
|
- Password and API token authentication via `proxmoxer`
|
|
- Implemented NAPALM methods:
|
|
- `open`, `close`, `is_alive`
|
|
- `get_facts`
|
|
- `get_interfaces`, `get_interfaces_ip`, `get_interfaces_counters`
|
|
- `get_environment` (CPU, memory, temperature sensors)
|
|
- `get_arp_table` (via `/proc/net/arp`)
|
|
- `get_mac_address_table` (Linux bridge fdb + OVS appctl)
|
|
- `get_vlans` (SDN VNet tags + `bridge vlan show`)
|
|
- `get_network_instances` (SDN zones as NAPALM network instances)
|
|
- `get_ntp_servers`, `get_ntp_stats`
|
|
- `get_snmp_information`
|
|
- `get_users`
|
|
- `get_config`, `load_merge_candidate`, `load_replace_candidate`
|
|
- `compare_config`, `commit_config`, `discard_config`, `rollback`
|
|
- `get_lldp_neighbors`, `get_lldp_neighbors_detail`
|
|
- `get_ipv6_neighbors_table`
|
|
- `ping`, `traceroute`, `cli`
|
|
- `get_route_to`
|
|
- 149 unit tests with ~79% code coverage
|
|
- Full type annotations
|