Provisioning downloaded every cloud image over SSH into /var/lib/vz/template/netork-images, on the node's root filesystem. On a small root that fills up and takes Proxmox down with it (netOrk #480). When the node has an active storage with content type "import" (Proxmox 8.2+), Proxmox now does it itself: download-url with checksum verification into that storage, then import-from as the root disk. The file is named after a hash of the full URL and reused when present. Proxmox takes the format from the extension and has no ".img", so Ubuntu's qcow2 .img is stored as .qcow2 -- a wrong guess fails at import instead of attaching a qcow2 container as a raw disk. Without an import storage, or for an image type Proxmox cannot import, the SSH download is used as before.
2.6 KiB
2.6 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Cloud images for
create_vm_from_cloud_initare downloaded by Proxmox itself when the node has an active storage with content typeimport(Proxmox 8.2+):download-urlwith checksum verification, thenimport-fromas the root disk. The image no longer passes through the node's root filesystem. Files are namednetork-<url hash>-<name>.<qcow2|raw|vmdk>and reused; Ubuntu's.imgis stored as.qcow2. Without such a storage, or for an image type Proxmox cannot import, the SSH download into/var/lib/vz/template/netork-imagesis used as before. HypervisorDrivercontract methodsstart_vm,stop_vm,reboot_vm,suspend_vmandget_vm_config. They accept a VM's name or vmid, raiseValueError/RuntimeErrorinstead of returning a result dict, and wait for the Proxmox task to finish.power_vmis unchanged.- Snapshot methods
get_vm_snapshots,create_vm_snapshot,delete_vm_snapshot,rollback_vm_snapshotfor VMs and containers (containers never save RAM state). reboot_host()restarts the node through the API instead of SSH.
Changed
get_vms()reportsvmidas 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_aliveget_factsget_interfaces,get_interfaces_ip,get_interfaces_countersget_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_statsget_snmp_informationget_usersget_config,load_merge_candidate,load_replace_candidatecompare_config,commit_config,discard_config,rollbackget_lldp_neighbors,get_lldp_neighbors_detailget_ipv6_neighbors_tableping,traceroute,cliget_route_to
- 149 unit tests with ~79% code coverage
- Full type annotations