File bsc#1154881-0001-Fix-scheduler-make-sure-cluster-wide-maintenance-mod-1.1.patch of Package pacemaker.19778
From 77c0b92838e33915d0a6211c2ba7dfdab30427d7 Mon Sep 17 00:00:00 2001
From: Aleksei Burlakov <aleksei.burlakov@suse.com>
Date: Wed, 4 Dec 2019 10:44:33 +0100
Subject: [PATCH] Fix: scheduler: make sure cluster-wide maintenance-mode=true
overrides per-resource settings
Both primitive and cluster may have maintenance attribute.
When a primitive has is-managed=true, maintenance=false
and the cluster has maintenance-mode=true, the maintenance-mode
wouldn't previously override the is-managed attribute as expected.
(Backporting f0fe45806efa8feccc9d1b0f1a92cfb1e547f304)
---
lib/pengine/complex.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c
index 9313b03f8..03952b956 100644
--- a/lib/pengine/complex.c
+++ b/lib/pengine/complex.c
@@ -626,7 +626,8 @@ common_unpack(xmlNode * xml_obj, resource_t ** rsc,
set_bit((*rsc)->flags, pe_rsc_maintenance);
}
- } else if (is_set(data_set->flags, pe_flag_maintenance_mode)) {
+ }
+ if (is_set(data_set->flags, pe_flag_maintenance_mode)) {
clear_bit((*rsc)->flags, pe_rsc_managed);
set_bit((*rsc)->flags, pe_rsc_maintenance);
}
--
2.26.1