all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Alexandre Derumier <aderumier@odiso.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH qemu-server 0/7] RFC: sdn: add ipam support
Date: Thu, 24 Jun 2021 15:34:18 +0200	[thread overview]
Message-ID: <20210624133425.3624704-1-aderumier@odiso.com> (raw)

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




             reply	other threads:[~2021-06-24 13:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-24 13:34 Alexandre Derumier [this message]
2021-06-24 13:34 ` [pve-devel] [PATCH qemu-server 1/7] add ipam module Alexandre Derumier
2021-06-24 13:34 ` [pve-devel] [PATCH qemu-server 2/7] add print_ipconfig Alexandre Derumier
2021-06-24 13:34 ` [pve-devel] [PATCH qemu-server 3/7] add ip options to netdescr Alexandre Derumier
2021-06-24 13:34 ` [pve-devel] [PATCH qemu-server 4/7] add vmconfig_update_net_ip on device hotplug Alexandre Derumier
2021-06-24 13:34 ` [pve-devel] [PATCH qemu-server 5/7] add vmconfig_delete_net_ip on device unplug Alexandre Derumier
2021-06-24 13:34 ` [pve-devel] [PATCH qemu-server 6/7] api2: add update ip support Alexandre Derumier
2021-06-24 13:34 ` [pve-devel] [PATCH qemu-server 7/7] api2: add revert " Alexandre Derumier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210624133425.3624704-1-aderumier@odiso.com \
    --to=aderumier@odiso.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal