From: Severen Redwood via pve-devel <pve-devel@lists.proxmox.com>
To: pve-devel@lists.proxmox.com
Cc: Severen Redwood <severen.redwood@sitehost.co.nz>
Subject: [pve-devel] [PATCH SERIES] Add ability to prevent suggesting previously used VM/CT IDs
Date: Fri, 27 Sep 2024 01:52:27 +1200 [thread overview]
Message-ID: <mailman.89.1727359009.332.pve-devel@lists.proxmox.com> (raw)
[-- Attachment #1: Type: message/rfc822, Size: 6203 bytes --]
From: Severen Redwood <severen.redwood@sitehost.co.nz>
To: pve-devel@lists.proxmox.com
Subject: [PATCH SERIES] Add ability to prevent suggesting previously used VM/CT IDs
Date: Fri, 27 Sep 2024 01:52:27 +1200
Message-ID: <20240926135516.117065-1-severen.redwood@sitehost.co.nz>
Hi everyone,
This patch series is a reworking of Daniel Krambrock's patches [1] which
allow for configuring the strategy used for suggesting VM IDs. As
discussed with him [2], I have removed the 'max + 1' strategy as it is
fundamentally flawed given that the goal is preventing re-use of IDs
that can cause issues like #4369 [3]. This leaves two strategies, namely
the current behaviour of suggesting the lowest free ID and the new
optional behaviour of suggesting the lowest free *and* not previously
used ID. Beyond this, I have also fixed a bug where IDs would be
recorded as used multiple times and removed sorting the stored list of
IDs on write as it is not required.
I believe that the comments from Shannon Sterz relating to code style
should now be addressed, though there is still their comment on tracking
the used IDs in `/etc/pve/used_vmids.list`:
> Not sure if tracking the used VM/CT IDs in a separate file is the most
> elegant solution here. Especially as this is a somewhat niche usecase.
If this needs to be changed, then where should it go? I am not familiar
enough with the codebase to know what the preference would be. Note that
we *must* store a list of used IDs rather than a simple counter because
PVE allows you to choose any free ID you wish when creating a VM or
container.
As I re-wrote the commit messages and it felt strange to ghost-write
messages under someone else's name, the commit author on all patches is
myself with Daniel listed as a co-author using `Co-authored-by` trailers
in the commit message bodies. Please let me know if this isn't the right
convention :)
I have also sent in a signed CLA to cover my contributions.
Thanks,
Severen
[1]: https://lore.proxmox.com/pve-devel/D1RYIAHXBOIH.RM5K01KGND9T@proxmox.com/t/
[2]: https://lore.proxmox.com/pve-devel/mailman.472.1724973432.302.pve-devel@lists.proxmox.com/T/#u
[3]: https://bugzilla.proxmox.com/show_bug.cgi?id=4369#c13
pve-manager
-----------
Severen Redwood (2):
close #4369: api: optionally only suggest unique
close #4369: ui: add datacenter option for unique
PVE/API2/Cluster.pm | 12 ++++++--
PVE/Makefile | 1 +
PVE/UsedVmidList.pm | 55 +++++++++++++++++++++++++++++++++++
www/manager6/dc/OptionView.js | 4 +++
4 files changed, 70 insertions(+), 2 deletions(-)
create mode 100644 PVE/UsedVmidList.pm
pve-container
-------------
Severen Redwood (1):
api: record CT ID as used after a container is destroyed
src/PVE/API2/LXC.pm | 1 +
1 file changed, 1 insertion(+)
qemu-server
-----------
Severen Redwood (1):
api: record VM ID as used after a virtual machine is destroyed
PVE/API2/Qemu.pm | 1 +
1 file changed, 1 insertion(+)
pve-cluster
-----------
Severen Redwood (2):
cluster files: add used_vmids.list
datacenter config: add unique-next-id to schema
src/PVE/Cluster.pm | 1 +
src/PVE/DataCenterConfig.pm | 5 +++++
src/pmxcfs/status.c | 1 +
3 files changed, 7 insertions(+)
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
reply other threads:[~2024-09-26 13:56 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=mailman.89.1727359009.332.pve-devel@lists.proxmox.com \
--to=pve-devel@lists.proxmox.com \
--cc=severen.redwood@sitehost.co.nz \
/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.