[pve-devel] [PATCH ha-manager v5 18/23] env: add property delete for update_service_config
Daniel Kral
d.kral at proxmox.com
Wed Jul 30 19:59:45 CEST 2025
Allow callees of update_service_config(...) to provide properties, which
should be deleted from a HA resource config.
This is needed for the migration of HA groups, as the 'group' property
must be removed to completely migrate these to the respective HA
resource configs. Otherwise, these groups would be reported as
non-existant after the HA group config is removed.
Signed-off-by: Daniel Kral <d.kral at proxmox.com>
---
src/PVE/HA/Env.pm | 4 ++--
src/PVE/HA/Env/PVE2.pm | 4 ++--
src/PVE/HA/Sim/Env.pm | 4 ++--
src/PVE/HA/Sim/Hardware.pm | 8 +++++++-
4 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/PVE/HA/Env.pm b/src/PVE/HA/Env.pm
index 5cee7b30..70e39ad4 100644
--- a/src/PVE/HA/Env.pm
+++ b/src/PVE/HA/Env.pm
@@ -95,9 +95,9 @@ sub read_service_config {
}
sub update_service_config {
- my ($self, $sid, $param) = @_;
+ my ($self, $sid, $param, $delete) = @_;
- return $self->{plug}->update_service_config($sid, $param);
+ return $self->{plug}->update_service_config($sid, $param, $delete);
}
sub parse_sid {
diff --git a/src/PVE/HA/Env/PVE2.pm b/src/PVE/HA/Env/PVE2.pm
index 58fd36e3..854c8942 100644
--- a/src/PVE/HA/Env/PVE2.pm
+++ b/src/PVE/HA/Env/PVE2.pm
@@ -136,9 +136,9 @@ sub read_service_config {
}
sub update_service_config {
- my ($self, $sid, $param) = @_;
+ my ($self, $sid, $param, $delete) = @_;
- return PVE::HA::Config::update_resources_config($sid, $param);
+ return PVE::HA::Config::update_resources_config($sid, $param, $delete);
}
sub parse_sid {
diff --git a/src/PVE/HA/Sim/Env.pm b/src/PVE/HA/Sim/Env.pm
index bb76b7fa..528ea3f8 100644
--- a/src/PVE/HA/Sim/Env.pm
+++ b/src/PVE/HA/Sim/Env.pm
@@ -210,9 +210,9 @@ sub read_service_config {
}
sub update_service_config {
- my ($self, $sid, $param) = @_;
+ my ($self, $sid, $param, $delete) = @_;
- return $self->{hardware}->update_service_config($sid, $param);
+ return $self->{hardware}->update_service_config($sid, $param, $delete);
}
sub parse_sid {
diff --git a/src/PVE/HA/Sim/Hardware.pm b/src/PVE/HA/Sim/Hardware.pm
index 35107446..3a1ebf25 100644
--- a/src/PVE/HA/Sim/Hardware.pm
+++ b/src/PVE/HA/Sim/Hardware.pm
@@ -115,7 +115,7 @@ sub read_service_config {
}
sub update_service_config {
- my ($self, $sid, $param) = @_;
+ my ($self, $sid, $param, $delete) = @_;
my $conf = $self->read_service_config();
@@ -125,6 +125,12 @@ sub update_service_config {
$sconf->{$k} = $param->{$k};
}
+ if ($delete) {
+ for my $k (PVE::Tools::split_list($delete)) {
+ delete $sconf->{$k};
+ }
+ }
+
$self->write_service_config($conf);
}
--
2.47.2
More information about the pve-devel
mailing list