Signed-off-by: Thomas Lamprecht <t.lampre...@proxmox.com> --- debian/control | 2 +- src/PVE/API2/LXC.pm | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/debian/control b/debian/control index ee44483..056174c 100644 --- a/debian/control +++ b/debian/control @@ -25,7 +25,7 @@ Depends: file, libpve-storage-perl (>= 5.0-31), lxc-pve, pve-cluster (>= 4.0-8), - pve-ha-manager (>= 3.0-3), + pve-ha-manager (>= 3.0-9), pve-lxc-syscalld, xz-utils, ${misc:Depends}, diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm index a48cf95..a5aa5fc 100644 --- a/src/PVE/API2/LXC.pm +++ b/src/PVE/API2/LXC.pm @@ -662,10 +662,12 @@ __PACKAGE__->register_method({ my $storage_cfg = cfs_read_file("storage.cfg"); PVE::LXC::Config->check_protection($conf, "can't remove CT $vmid"); - die "unable to remove CT $vmid - used in HA resources\n" - if PVE::HA::Config::vm_is_ha_managed($vmid); + my $ha_managed = PVE::HA::Config::service_is_configured("ct:$vmid"); if (!$param->{purge}) { + die "unable to remove CT $vmid - used in HA resources and purge parameter not set.\n" + if $ha_managed; + # do not allow destroy if there are replication jobs without purge my $repl_conf = PVE::ReplicationConfig->new(); $repl_conf->check_for_existing_jobs($vmid); @@ -687,8 +689,14 @@ __PACKAGE__->register_method({ PVE::AccessControl::remove_vm_access($vmid); PVE::Firewall::remove_vmfw_conf($vmid); if ($param->{purge}) { + print "purging CT $vmid from related configurations..\n"; PVE::ReplicationConfig::remove_vmid_jobs($vmid); PVE::VZDump::Plugin::remove_vmid_from_backup_jobs($vmid); + + if ($ha_managed) { + PVE::HA::Config::delete_service_from_config("ct:$vmid"); + print "NOTE: removed CT $vmid from HA resource configuration.\n"; + } } # only now remove the zombie config, else we can have reuse race -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel