[pve-devel] [PATCH-SERIES pve-manager/qemu-server] fix#4689 autofind node with proxyto_callback

Alexandre Derumier aderumier at odiso.com
Thu Jun 1 00:28:32 CEST 2023


Hi,

Currently, to manage qemu && lxc vms, we always need to specify nodename in uri.

This is a problem with automation tools like terraform, where is node is registered
in the state of terraform.
(That mean, than if we move the vm on another node, terraform don't known it, and try to create the vm
again or can't delete the vm,...)
https://github.com/Telmate/terraform-provider-proxmox/issues/168

This can also be a potential problem with race, if we need to query /cluster/ressources to find the node, then another
query on the vm.

I have some discussion with fabian about it:
https://bugzilla.proxmox.com/show_bug.cgi?id=4689


This patch series, find the nodename with proxyto_callback.

a new api endpoint /guests/  is defined:

/guests/(qemu|lxc)/vmid


This patch series currently implement callback for api2::qemu

I'm not sure how to create vm_create when vmid && nodename is not defined.
Currently the callback return localhost, so the vm is created on the called
node.

todo (if this patch serie is ok for you):
api2::qemu::agent   (/guest/qemu/vmid/agent)
api2::lxc   (/guest/lxc/vmid)
api2::lxc::config   (/guest/lxc/vmid/config)
api2::lxc::status   (/guest/lxc/vmid/status)
api2::lxc::snapshot   (/guest/lxc/vmid/snapshot)
api2::firewall:vm (/guest/(qemu|lxc)/vmid/firewall )



Alexandre Derumier (1):
  api2: add /guests path

 PVE/API2.pm        |  6 +++++
 PVE/API2/Guests.pm | 55 ++++++++++++++++++++++++++++++++++++++++++++++
 PVE/API2/Makefile  |  1 +
 3 files changed, 62 insertions(+)
 create mode 100644 PVE/API2/Guests.pm

Alexandre Derumier (1):
  api2: qemu: add proxyto_callback to find node if not defined

 PVE/API2/Qemu.pm | 157 ++++++++++++++++++++++++++++++++---------------
 1 file changed, 109 insertions(+), 48 deletions(-)

-- 
2.30.2





More information about the pve-devel mailing list