* [pve-devel] [PATCH manager v4 2/2] close #4369: ui: add datacenter option for unique VM/CT IDs
[not found] ` <20241108014620.73352-1-severen.redwood@sitehost.co.nz>
@ 2024-11-08 1:46 ` Severen Redwood via pve-devel
2024-11-08 1:46 ` [pve-devel] [PATCH cluster v4 1/2] cluster files: add used_vmids.list Severen Redwood via pve-devel
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Severen Redwood via pve-devel @ 2024-11-08 1:46 UTC (permalink / raw)
To: pve-devel; +Cc: Severen Redwood, t.lamprecht
[-- Attachment #1: Type: message/rfc822, Size: 4179 bytes --]
From: Severen Redwood <severen.redwood@sitehost.co.nz>
To: pve-devel@lists.proxmox.com
Cc: a.lauterer@proxmox.com, t.lamprecht@proxmox.com, Severen Redwood <severen.redwood@sitehost.co.nz>, Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Subject: [PATCH manager v4 2/2] close #4369: ui: add datacenter option for unique VM/CT IDs
Date: Fri, 8 Nov 2024 14:46:16 +1300
Message-ID: <20241108014620.73352-2-severen.redwood@sitehost.co.nz>
Add a 'suggest unique VMIDs' row to the datacenter options page that
allows choosing whether the `/cluster/nextid` API endpoint (and thereby
any UI elements that suggest IDs) should avoid suggesting previously
used IDs. This option defaults to off to ensure that this change in
behaviour is opt in.
Co-authored-by: Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Signed-off-by: Severen Redwood <severen.redwood@sitehost.co.nz>
Tested-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Aaron Lauterer <a.lauterer@proxmox.com>
---
There are no changes to this patch since v3.
www/manager6/dc/OptionView.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/www/manager6/dc/OptionView.js b/www/manager6/dc/OptionView.js
index b200fd12..feace344 100644
--- a/www/manager6/dc/OptionView.js
+++ b/www/manager6/dc/OptionView.js
@@ -339,6 +339,10 @@ Ext.define('PVE.dc.OptionView', {
submitValue: true,
}],
});
+ me.add_boolean_row('unique-next-id', gettext('Suggest unique VMIDs'), {
+ defaultValue: 0,
+ deleteDefaultValue: true,
+ });
me.rows['tag-style'] = {
required: true,
renderer: (value) => {
--
2.47.0
[-- 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH cluster v4 1/2] cluster files: add used_vmids.list
[not found] ` <20241108014620.73352-1-severen.redwood@sitehost.co.nz>
2024-11-08 1:46 ` [pve-devel] [PATCH manager v4 2/2] close #4369: ui: add datacenter option for unique VM/CT IDs Severen Redwood via pve-devel
@ 2024-11-08 1:46 ` Severen Redwood via pve-devel
2024-11-08 1:46 ` [pve-devel] [PATCH cluster v4 2/2] datacenter config: add unique-next-id to schema Severen Redwood via pve-devel
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Severen Redwood via pve-devel @ 2024-11-08 1:46 UTC (permalink / raw)
To: pve-devel; +Cc: Severen Redwood, t.lamprecht
[-- Attachment #1: Type: message/rfc822, Size: 4313 bytes --]
From: Severen Redwood <severen.redwood@sitehost.co.nz>
To: pve-devel@lists.proxmox.com
Cc: a.lauterer@proxmox.com, t.lamprecht@proxmox.com, Severen Redwood <severen.redwood@sitehost.co.nz>, Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Subject: [PATCH cluster v4 1/2] cluster files: add used_vmids.list
Date: Fri, 8 Nov 2024 14:46:17 +1300
Message-ID: <20241108014620.73352-3-severen.redwood@sitehost.co.nz>
Add `/etc/pve/used_vmids.list` to the list of cluster files, which will
be used for recording previously used VM/CT IDs. This is required so
that we can optionally ensure that such IDs are not suggested by the
`/cluster/nextid` API endpoint.
Co-authored-by: Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Signed-off-by: Severen Redwood <severen.redwood@sitehost.co.nz>
Tested-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Aaron Lauterer <a.lauterer@proxmox.com>
---
There are no changes to this patch since v3.
src/PVE/Cluster.pm | 1 +
src/pmxcfs/status.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/PVE/Cluster.pm b/src/PVE/Cluster.pm
index f899dbe..059c7af 100644
--- a/src/PVE/Cluster.pm
+++ b/src/PVE/Cluster.pm
@@ -84,6 +84,7 @@ my $observed = {
'virtual-guest/profiles.cfg' => 1,
'mapping/pci.cfg' => 1,
'mapping/usb.cfg' => 1,
+ 'used_vmids.list' => 1,
};
sub prepare_observed_file_basedirs {
diff --git a/src/pmxcfs/status.c b/src/pmxcfs/status.c
index dc44464..7f60145 100644
--- a/src/pmxcfs/status.c
+++ b/src/pmxcfs/status.c
@@ -114,6 +114,7 @@ static memdb_change_t memdb_change_array[] = {
{ .path = "firewall/cluster.fw" },
{ .path = "mapping/pci.cfg" },
{ .path = "mapping/usb.cfg" },
+ { .path = "used_vmids.list" },
};
static GMutex mutex;
--
2.47.0
[-- 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH cluster v4 2/2] datacenter config: add unique-next-id to schema
[not found] ` <20241108014620.73352-1-severen.redwood@sitehost.co.nz>
2024-11-08 1:46 ` [pve-devel] [PATCH manager v4 2/2] close #4369: ui: add datacenter option for unique VM/CT IDs Severen Redwood via pve-devel
2024-11-08 1:46 ` [pve-devel] [PATCH cluster v4 1/2] cluster files: add used_vmids.list Severen Redwood via pve-devel
@ 2024-11-08 1:46 ` Severen Redwood via pve-devel
2024-11-08 1:46 ` [pve-devel] [PATCH qemu-server v4] api: record VM ID as used after a virtual machine is destroyed Severen Redwood via pve-devel
2024-11-08 1:46 ` [pve-devel] [PATCH container v4] api: record CT ID as used after a container " Severen Redwood via pve-devel
4 siblings, 0 replies; 7+ messages in thread
From: Severen Redwood via pve-devel @ 2024-11-08 1:46 UTC (permalink / raw)
To: pve-devel; +Cc: Severen Redwood, t.lamprecht
[-- Attachment #1: Type: message/rfc822, Size: 4180 bytes --]
From: Severen Redwood <severen.redwood@sitehost.co.nz>
To: pve-devel@lists.proxmox.com
Cc: a.lauterer@proxmox.com, t.lamprecht@proxmox.com, Severen Redwood <severen.redwood@sitehost.co.nz>, Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Subject: [PATCH cluster v4 2/2] datacenter config: add unique-next-id to schema
Date: Fri, 8 Nov 2024 14:46:18 +1300
Message-ID: <20241108014620.73352-4-severen.redwood@sitehost.co.nz>
Add the `unique-next-id` property to the datacentre config schema to
track whether only unique (ie. neither currently nor previously in use)
VM/CT IDs should be suggested by the `/cluster/nextid` API endpoint.
Co-authored-by: Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Signed-off-by: Severen Redwood <severen.redwood@sitehost.co.nz>
Tested-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Aaron Lauterer <a.lauterer@proxmox.com>
---
There are no changes to this patch since v3.
src/PVE/DataCenterConfig.pm | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/PVE/DataCenterConfig.pm b/src/PVE/DataCenterConfig.pm
index abd0bbf..d1d4533 100644
--- a/src/PVE/DataCenterConfig.pm
+++ b/src/PVE/DataCenterConfig.pm
@@ -337,6 +337,11 @@ my $datacenter_schema = {
format => $next_id_format,
description => "Control the range for the free VMID auto-selection pool.",
},
+ 'unique-next-id' => {
+ optional => 1,
+ type => 'boolean',
+ description => "Only suggest VMIDs that are neither currently in use nor have previously been used.",
+ },
migration => {
optional => 1,
type => 'string', format => $migration_format,
--
2.47.0
[-- 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH qemu-server v4] api: record VM ID as used after a virtual machine is destroyed
[not found] ` <20241108014620.73352-1-severen.redwood@sitehost.co.nz>
` (2 preceding siblings ...)
2024-11-08 1:46 ` [pve-devel] [PATCH cluster v4 2/2] datacenter config: add unique-next-id to schema Severen Redwood via pve-devel
@ 2024-11-08 1:46 ` Severen Redwood via pve-devel
2024-11-08 1:46 ` [pve-devel] [PATCH container v4] api: record CT ID as used after a container " Severen Redwood via pve-devel
4 siblings, 0 replies; 7+ messages in thread
From: Severen Redwood via pve-devel @ 2024-11-08 1:46 UTC (permalink / raw)
To: pve-devel; +Cc: Severen Redwood, t.lamprecht
[-- Attachment #1: Type: message/rfc822, Size: 4309 bytes --]
From: Severen Redwood <severen.redwood@sitehost.co.nz>
To: pve-devel@lists.proxmox.com
Cc: a.lauterer@proxmox.com, t.lamprecht@proxmox.com, Severen Redwood <severen.redwood@sitehost.co.nz>, Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Subject: [PATCH qemu-server v4] api: record VM ID as used after a virtual machine is destroyed
Date: Fri, 8 Nov 2024 14:46:19 +1300
Message-ID: <20241108014620.73352-5-severen.redwood@sitehost.co.nz>
After a virtual machine is destroyed, record that its ID has been used
via the `PVE::UsedVmidList` module so that the `/cluster/nextids`
endpoint can later optionally avoid suggesting previously used IDs.
Co-authored-by: Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Signed-off-by: Severen Redwood <severen.redwood@sitehost.co.nz>
Tested-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Aaron Lauterer <a.lauterer@proxmox.com>
---
Changed since v3 is removing an unnecessary `qw(add_vmid)` after
`use PVE::UsedVmidList`.
PVE/API2/Qemu.pm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 848001b6..22bc58d6 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -52,6 +52,7 @@ use PVE::Replication;
use PVE::ReplicationState;
use PVE::StorageTunnel;
use PVE::RESTEnvironment qw(log_warn);
+use PVE::UsedVmidList;
BEGIN {
if (!$ENV{PVE_GENERATING_DOCS}) {
@@ -2335,7 +2336,9 @@ __PACKAGE__->register_method({
}
}
- # only now remove the zombie config, else we can have reuse race
+ # only now mark the VM ID as previously used and remove the
+ # zombie config, else we can have reuse race
+ PVE::UsedVmidList::add_vmid($vmid);
PVE::QemuConfig->destroy_config($vmid);
});
};
--
2.47.0
[-- 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* [pve-devel] [PATCH container v4] api: record CT ID as used after a container is destroyed
[not found] ` <20241108014620.73352-1-severen.redwood@sitehost.co.nz>
` (3 preceding siblings ...)
2024-11-08 1:46 ` [pve-devel] [PATCH qemu-server v4] api: record VM ID as used after a virtual machine is destroyed Severen Redwood via pve-devel
@ 2024-11-08 1:46 ` Severen Redwood via pve-devel
4 siblings, 0 replies; 7+ messages in thread
From: Severen Redwood via pve-devel @ 2024-11-08 1:46 UTC (permalink / raw)
To: pve-devel; +Cc: Severen Redwood, t.lamprecht
[-- Attachment #1: Type: message/rfc822, Size: 4325 bytes --]
From: Severen Redwood <severen.redwood@sitehost.co.nz>
To: pve-devel@lists.proxmox.com
Cc: a.lauterer@proxmox.com, t.lamprecht@proxmox.com, Severen Redwood <severen.redwood@sitehost.co.nz>, Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Subject: [PATCH container v4] api: record CT ID as used after a container is destroyed
Date: Fri, 8 Nov 2024 14:46:20 +1300
Message-ID: <20241108014620.73352-6-severen.redwood@sitehost.co.nz>
After a container is destroyed, record that its ID has been used via the
`PVE::UsedVmidList` module so that the `/cluster/nextids` endpoint can
later optionally avoid suggesting previously used IDs.
Co-authored-by: Daniel Krambrock <krambrock@hrz.uni-marburg.de>
Signed-off-by: Severen Redwood <severen.redwood@sitehost.co.nz>
Tested-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Aaron Lauterer <a.lauterer@proxmox.com>
---
Changed since v3 is removing an unnecessary `qw(add_vmid)` after
`use PVE::UsedVmidList`.
src/PVE/API2/LXC.pm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index 213e518..e35b26d 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -28,6 +28,7 @@ use PVE::API2::LXC::Config;
use PVE::API2::LXC::Status;
use PVE::API2::LXC::Snapshot;
use PVE::JSONSchema qw(get_standard_option);
+use PVE::UsedVmidList;
use base qw(PVE::RESTHandler);
BEGIN {
@@ -794,7 +795,9 @@ __PACKAGE__->register_method({
}
}
- # only now remove the zombie config, else we can have reuse race
+ # only now mark the CT ID as previously used and remove the zombie
+ # config, else we can have reuse race
+ PVE::UsedVmidList::add_vmid($vmid);
PVE::LXC::Config->destroy_config($vmid);
};
--
2.47.0
[-- 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
^ permalink raw reply [flat|nested] 7+ messages in thread