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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox