Hi, This is an RFC to implement ipam support on qemu-server.
This don't change the cloud-init current working. As I need to manage pending ip registration configuration, to follow the pending netX interfaces. I have added ip,ip6,gw,gw6 field to netX interfaces options. (same than LXC). (as current ipconfigX pending, is pending cloudinit generation) so the workflow is: --> update netX=...,ip=.... --> ip is registered as pending --> hotplug/coldplug succesful ---> pending ip replace current conf oldip ---->the ip set in cloudinit pending ipconfigX ------> cloudinit regeneration ---> ipconfigX is remove from pending As documentation said than ipconfigX is for cloudinit config, I think it could be ok. Some users could use the sdn features without cloudinit(allow some subnets only, and autogenerate firewall ipfilter). Also, for ipam, I need bridge && mac from the netX, and ip need to follow pending states of the nic. The main code is the same than the lxc serie, and can be shared in a common module https://lists.proxmox.com/pipermail/pve-devel/2021-May/048160.html (I don't have implemented yet snasphot rollback, vm restore, vm destroy,..) Alexandre Derumier (7): add ipam module add print_ipconfig add ip options to netdescr add vmconfig_update_net_ip on device hotplug add vmconfig_delete_net_ip on device unplug api2: add update ip support api2: add revert ip support PVE/API2/Qemu.pm | 21 ++++++ PVE/QemuServer.pm | 93 +++++++++++++++++++++++ PVE/QemuServer/Ipam.pm | 158 ++++++++++++++++++++++++++++++++++++++++ PVE/QemuServer/Makefile | 1 + 4 files changed, 273 insertions(+) create mode 100644 PVE/QemuServer/Ipam.pm -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel