]> git.proxmox.com Git - pve-ha-manager.git/blobdiff - src/PVE/API2/HA/Resources.pm
treewide trailing whitespace cleanup
[pve-ha-manager.git] / src / PVE / API2 / HA / Resources.pm
index 637d72b2f5c453feac3d8e5ae4e8dd73019e940b..1ffdf2ef488f75833b140a71285275152105489a 100644 (file)
@@ -171,7 +171,7 @@ __PACKAGE__->register_method ({
        # create /etc/pve/ha directory
        PVE::Cluster::check_cfs_quorum();
        mkdir("/etc/pve/ha");
-       
+
        my ($sid, $type, $name) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
 
        if (my $param_type = extract_param($param, 'type')) {
@@ -296,18 +296,21 @@ __PACKAGE__->register_method ({
 
        my ($sid, $type, $name) = PVE::HA::Config::parse_sid(extract_param($param, 'sid'));
 
-       PVE::HA::Config::service_is_ha_managed($sid);
-
-       PVE::HA::Config::lock_ha_domain(
-           sub {
+       my $cfg = PVE::HA::Config::read_resources_config();
 
-               my $cfg = PVE::HA::Config::read_resources_config();
+       # cannot use service_is_ha_managed as it ignores 'ignored' services,
+       # see bug report #1602
+       if (!defined($cfg->{ids}) || !defined($cfg->{ids}->{$sid})) {
+           die "cannot delete service '$sid', not HA managed!\n";
+       }
 
-               delete $cfg->{ids}->{$sid};
+       PVE::HA::Config::lock_ha_domain(sub {
 
-               PVE::HA::Config::write_resources_config($cfg)
+           $cfg = PVE::HA::Config::read_resources_config();
+           delete $cfg->{ids}->{$sid} or die "'$sid' not configured!\n";
+           PVE::HA::Config::write_resources_config($cfg);
 
-           }, "delete resource failed");
+       }, "delete resource failed");
 
        return undef;
     }});
@@ -343,7 +346,7 @@ __PACKAGE__->register_method ({
        check_service_state($sid);
 
        PVE::HA::Config::queue_crm_commands("migrate $sid $param->{node}");
-           
+
        return undef;
     }});
 
@@ -378,7 +381,7 @@ __PACKAGE__->register_method ({
        check_service_state($sid);
 
        PVE::HA::Config::queue_crm_commands("relocate $sid $param->{node}");
-           
+
        return undef;
     }});