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.k...@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 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel