From: Daniel Kral <d.kral@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH ha-manager 03/16] tree-wide: use the term vmid instead of name when referring to VMs/CTs
Date: Mon, 20 Jul 2026 14:36:52 +0200 [thread overview]
Message-ID: <20260720123705.216089-4-d.kral@proxmox.com> (raw)
In-Reply-To: <20260720123705.216089-1-d.kral@proxmox.com>
The variable name $name is a bit generic when referring to the unique
identifier for VMs/CTs, so actually name it after its identifier VMID.
Signed-off-by: Daniel Kral <d.kral@proxmox.com>
---
src/PVE/API2/HA/Resources.pm | 14 +++++++-------
src/PVE/CLI/ha_manager.pm | 4 ++--
src/PVE/HA/Config.pm | 20 ++++++++++----------
src/PVE/HA/Env/PVE2.pm | 6 +++---
src/PVE/HA/Resources.pm | 12 ++++++------
src/PVE/HA/Resources/PVECT.pm | 4 ++--
src/PVE/HA/Resources/PVEVM.pm | 4 ++--
src/PVE/HA/Sim/Env.pm | 4 ++--
8 files changed, 34 insertions(+), 34 deletions(-)
diff --git a/src/PVE/API2/HA/Resources.pm b/src/PVE/API2/HA/Resources.pm
index b96572b9..f786e435 100644
--- a/src/PVE/API2/HA/Resources.pm
+++ b/src/PVE/API2/HA/Resources.pm
@@ -198,7 +198,7 @@ __PACKAGE__->register_method({
PVE::Cluster::check_cfs_quorum();
mkdir("/etc/pve/ha");
- my ($sid, $type, $name) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
+ my ($sid, $type, $vmid) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
if (my $param_type = extract_param($param, 'type')) {
# useless, but do it anyway
@@ -209,9 +209,9 @@ __PACKAGE__->register_method({
if defined($param->{group}) && PVE::HA::Config::have_groups_been_migrated();
my $plugin = PVE::HA::Resources->lookup($type);
- $plugin->verify_name($name);
+ $plugin->verify_name($vmid);
- $plugin->exists($name);
+ $plugin->exists($vmid);
my $opts = $plugin->check_config($sid, $param, 1, 1);
@@ -253,7 +253,7 @@ __PACKAGE__->register_method({
my $digest = extract_param($param, 'digest');
my $delete = extract_param($param, 'delete');
- my ($sid, $type, $name) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
+ my ($sid, $type, $vmid) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
if (my $param_type = extract_param($param, 'type')) {
# useless, but do it anyway
@@ -313,7 +313,7 @@ __PACKAGE__->register_method({
code => sub {
my ($param) = @_;
- my ($sid, $type, $name) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
+ my ($sid, $type, $vmid) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
my $purge = extract_param($param, 'purge') // 1;
if (!PVE::HA::Config::service_is_configured($sid)) {
@@ -401,7 +401,7 @@ __PACKAGE__->register_method({
my $result = {};
- my ($sid, $type, $name) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
+ my ($sid, $type, $vmid) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
my $req_node = extract_param($param, 'node');
PVE::HA::Config::service_is_ha_managed($sid);
@@ -503,7 +503,7 @@ __PACKAGE__->register_method({
my $result = {};
- my ($sid, $type, $name) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
+ my ($sid, $type, $vmid) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
my $req_node = extract_param($param, 'node');
PVE::HA::Config::service_is_ha_managed($sid);
diff --git a/src/PVE/CLI/ha_manager.pm b/src/PVE/CLI/ha_manager.pm
index 6625de68..2f89887f 100644
--- a/src/PVE/CLI/ha_manager.pm
+++ b/src/PVE/CLI/ha_manager.pm
@@ -193,8 +193,8 @@ our $cmddef = {
sub {
my $res = shift;
foreach my $rec (sort { $a->{sid} cmp $b->{sid} } @$res) {
- my ($type, $name) = split(':', $rec->{sid}, 2);
- print "$type:$name\n";
+ my ($type, $vmid) = split(':', $rec->{sid}, 2);
+ print "$type:$vmid\n";
foreach my $k (sort keys %$rec) {
next
if $k eq 'digest'
diff --git a/src/PVE/HA/Config.pm b/src/PVE/HA/Config.pm
index bee1ac7d..ec0551e9 100644
--- a/src/PVE/HA/Config.pm
+++ b/src/PVE/HA/Config.pm
@@ -114,7 +114,7 @@ my sub checked_resources_config {
foreach my $sid (keys %{ $cfg->{ids} }) {
my $d = $cfg->{ids}->{$sid};
- my (undef, undef, $name) = parse_sid($sid);
+ my (undef, undef, $vmid) = parse_sid($sid);
$d->{state} = 'started' if !defined($d->{state});
$d->{state} = 'started' if $d->{state} eq 'enabled'; # backward compatibility
$d->{failback} = 1 if !defined($d->{failback});
@@ -123,7 +123,7 @@ my sub checked_resources_config {
$d->{max_relocate} = 1 if !defined($d->{max_relocate});
if (PVE::HA::Resources->lookup($d->{type})) {
- if (my $vmd = $vmlist->{ids}->{$name}) {
+ if (my $vmd = $vmlist->{ids}->{$vmid}) {
$d->{node} = $vmd->{node};
$resources->{$sid} = $d;
} else {
@@ -148,7 +148,7 @@ sub read_and_check_resources_config {
my sub update_single_resource_config_inplace {
my ($cfg, $sid, $param, $delete) = @_;
- ($sid, my $type, my $name) = parse_sid($sid);
+ ($sid, my $type, my $vmid) = parse_sid($sid);
my $scfg = $cfg->{ids}->{$sid}
|| die "no such resource '$sid'\n";
@@ -198,27 +198,27 @@ sub update_resources_config {
sub parse_sid {
my ($sid) = @_;
- my ($type, $name);
+ my ($type, $vmid);
if ($sid =~ m/^(\d+)$/) {
- $name = $1;
+ $vmid = $1;
my $vmlist = PVE::Cluster::get_vmlist();
- if (defined($vmlist->{ids}->{$name})) {
- my $vm_type = $vmlist->{ids}->{$name}->{type};
+ if (defined($vmlist->{ids}->{$vmid})) {
+ my $vm_type = $vmlist->{ids}->{$vmid}->{type};
$type = PVE::HA::Tools::get_ha_resource_type($vm_type);
- $sid = "$type:$name";
+ $sid = "$type:$vmid";
} else {
die "unable to detect SID from VMID - VM/CT $1 does not exist\n";
}
} elsif ($sid =~ m/^(\S+):(\S+)$/) {
- $name = $2;
+ $vmid = $2;
$type = $1;
} else {
die "unable to parse service id '$sid'\n";
}
- return wantarray ? ($sid, $type, $name) : $sid;
+ return wantarray ? ($sid, $type, $vmid) : $sid;
}
sub read_rules_config {
diff --git a/src/PVE/HA/Env/PVE2.pm b/src/PVE/HA/Env/PVE2.pm
index 782d19db..b91a4933 100644
--- a/src/PVE/HA/Env/PVE2.pm
+++ b/src/PVE/HA/Env/PVE2.pm
@@ -208,11 +208,11 @@ sub exec_fence_agent {
sub steal_service {
my ($self, $sid, $current_node, $new_node) = @_;
- my (undef, $type, $name) = PVE::HA::Config::parse_sid($sid);
+ my (undef, $type, $vmid) = PVE::HA::Config::parse_sid($sid);
if (my $plugin = PVE::HA::Resources->lookup($type)) {
- my $old = $plugin->config_file($name, $current_node);
- my $new = $plugin->config_file($name, $new_node);
+ my $old = $plugin->config_file($vmid, $current_node);
+ my $new = $plugin->config_file($vmid, $new_node);
rename($old, $new)
|| die "rename '$old' to '$new' failed - $!\n";
} else {
diff --git a/src/PVE/HA/Resources.pm b/src/PVE/HA/Resources.pm
index e63d78d8..5a95dfdc 100644
--- a/src/PVE/HA/Resources.pm
+++ b/src/PVE/HA/Resources.pm
@@ -104,7 +104,7 @@ EODESC
};
sub verify_name {
- my ($class, $name) = @_;
+ my ($class, $vmid) = @_;
die "implement this in subclass";
}
@@ -116,27 +116,27 @@ sub private {
sub format_section_header {
my ($class, $type, $sectionId) = @_;
- my (undef, $name) = split(':', $sectionId, 2);
+ my (undef, $vmid) = split(':', $sectionId, 2);
- return "$type: $name\n";
+ return "$type: $vmid\n";
}
sub parse_section_header {
my ($class, $line) = @_;
if ($line =~ m/^(\S+):\s*(\S+)\s*$/) {
- my ($type, $name) = (lc($1), $2);
+ my ($type, $vmid) = (lc($1), $2);
my $errmsg = undef; # set if you want to skip whole section
eval {
if (my $plugin = $defaultData->{plugins}->{$type}) {
- $plugin->verify_name($name);
+ $plugin->verify_name($vmid);
} else {
die "no such resource type '$type'\n";
}
};
$errmsg = $@ if $@;
my $config = {}; # to return additional attributes
- return ($type, "$type:$name", $errmsg, $config);
+ return ($type, "$type:$vmid", $errmsg, $config);
}
return undef;
}
diff --git a/src/PVE/HA/Resources/PVECT.pm b/src/PVE/HA/Resources/PVECT.pm
index 177b9070..5121bbe1 100644
--- a/src/PVE/HA/Resources/PVECT.pm
+++ b/src/PVE/HA/Resources/PVECT.pm
@@ -27,9 +27,9 @@ sub type {
}
sub verify_name {
- my ($class, $name) = @_;
+ my ($class, $vmid) = @_;
- die "invalid VMID\n" if $name !~ m/^[1-9][0-9]+$/;
+ die "invalid VMID\n" if $vmid !~ m/^[1-9][0-9]+$/;
}
sub options {
diff --git a/src/PVE/HA/Resources/PVEVM.pm b/src/PVE/HA/Resources/PVEVM.pm
index 87532716..d6595da4 100644
--- a/src/PVE/HA/Resources/PVEVM.pm
+++ b/src/PVE/HA/Resources/PVEVM.pm
@@ -27,9 +27,9 @@ sub type {
}
sub verify_name {
- my ($class, $name) = @_;
+ my ($class, $vmid) = @_;
- die "invalid VMID\n" if $name !~ m/^[1-9][0-9]+$/;
+ die "invalid VMID\n" if $vmid !~ m/^[1-9][0-9]+$/;
}
sub options {
diff --git a/src/PVE/HA/Sim/Env.pm b/src/PVE/HA/Sim/Env.pm
index 38ac1d03..d3c4a11d 100644
--- a/src/PVE/HA/Sim/Env.pm
+++ b/src/PVE/HA/Sim/Env.pm
@@ -231,10 +231,10 @@ sub parse_sid {
die "unable to parse service id '$sid'\n"
if !($sid =~ m/^(\S+):(\S+)$/);
- my $name = $2;
+ my $vmid = $2;
my $type = $1;
- return wantarray ? ($sid, $type, $name) : $sid;
+ return wantarray ? ($sid, $type, $vmid) : $sid;
}
sub read_fence_config {
--
2.47.3
next prev parent reply other threads:[~2026-07-20 12:39 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-20 12:36 [PATCH-SERIES ha-manager 00/16] some sid parsing and LRM speedup improvements Daniel Kral
2026-07-20 12:36 ` [PATCH ha-manager 01/16] make tidy Daniel Kral
2026-07-20 12:36 ` [PATCH ha-manager 02/16] resources: remove commented ipaddr resource type Daniel Kral
2026-07-20 12:36 ` Daniel Kral [this message]
2026-07-20 12:36 ` [PATCH ha-manager 04/16] api: resources: remove unused return values at parse_sid callsites Daniel Kral
2026-07-20 12:36 ` [PATCH ha-manager 05/16] make parse_sid always return an array Daniel Kral
2026-07-20 12:36 ` [PATCH ha-manager 06/16] config: use early returns in parse_sid Daniel Kral
2026-07-20 12:36 ` [PATCH ha-manager 07/16] config: make update_single_resource_config_inplace only allow sids Daniel Kral
2026-07-20 12:36 ` [PATCH ha-manager 08/16] introduce separate parse_vmid_or_sid helper subroutine Daniel Kral
2026-07-20 12:36 ` [PATCH ha-manager 09/16] drop the unmodified sid return array entry value from parse_sid Daniel Kral
2026-07-20 12:36 ` [PATCH ha-manager 10/16] lrm: document and initialize LRM instance properties Daniel Kral
2026-07-20 12:37 ` [PATCH ha-manager 11/16] lrm: rename update_lrm_status to flush_lrm_status Daniel Kral
2026-07-20 12:37 ` [PATCH ha-manager 12/16] lrm: rename update_service_status to update_lrm_status Daniel Kral
2026-07-20 12:37 ` [PATCH ha-manager 13/16] lrm: update the service status once per work iteration Daniel Kral
2026-07-20 12:37 ` [PATCH ha-manager 14/16] lrm: read service config " Daniel Kral
2026-07-20 12:37 ` [PATCH ha-manager 15/16] lrm: compute valid service uids hash set " Daniel Kral
2026-07-20 12:37 ` [PATCH ha-manager 16/16] lrm: prune non-existent HA resources from results " Daniel Kral
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=20260720123705.216089-4-d.kral@proxmox.com \
--to=d.kral@proxmox.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.