File pacemaker#3409-0004-Low-scheduler-deprecate-support-for-default-instance.patch of Package pacemaker.36799
From 68d86f7b56075e0e051551709127995ed2eb13db Mon Sep 17 00:00:00 2001
From: Ken Gaillot <kgaillot@redhat.com>
Date: Thu, 14 Mar 2024 16:34:47 -0500
Subject: [PATCH 4/7] Low: scheduler: deprecate support for default instance
attributes
The schema already prevents them, but the code currently processes them
if validation is disabled
---
include/crm/common/scheduler_internal.h | 1 +
lib/pengine/complex.c | 14 ++++++++++++++
2 files changed, 15 insertions(+)
Index: pacemaker-2.1.7+20231219.0f7f88312/include/crm/common/scheduler_internal.h
===================================================================
--- pacemaker-2.1.7+20231219.0f7f88312.orig/include/crm/common/scheduler_internal.h
+++ pacemaker-2.1.7+20231219.0f7f88312/include/crm/common/scheduler_internal.h
@@ -43,6 +43,7 @@ enum pcmk__sched_warnings {
pcmk__wo_upstart = (1 << 13),
pcmk__wo_nagios = (1 << 14),
pcmk__wo_set_ordering = (1 << 15),
+ pcmk__wo_instance_defaults = (1 << 20),
};
enum pcmk__check_parameters {
Index: pacemaker-2.1.7+20231219.0f7f88312/lib/pengine/complex.c
===================================================================
--- pacemaker-2.1.7+20231219.0f7f88312.orig/lib/pengine/complex.c
+++ pacemaker-2.1.7+20231219.0f7f88312/lib/pengine/complex.c
@@ -228,6 +228,19 @@ get_rsc_attributes(GHashTable *meta_hash
get_rsc_attributes(meta_hash, rsc->parent, node, scheduler);
} else {
+ if (first_named_child(scheduler->rsc_defaults,
+ XML_TAG_ATTR_SETS) != NULL) {
+ /* Not possible with schema validation enabled
+ *
+ * @COMPAT Drop support when we can break behavioral
+ * backward compatibility
+ */
+ pe_warn_once(pcmk__wo_instance_defaults,
+ "Support for " XML_TAG_ATTR_SETS " in "
+ XML_CIB_TAG_RSCCONFIG " is deprecated and will be "
+ "removed in a future release");
+ }
+
/* and finally check the defaults */
pe__unpack_dataset_nvpairs(scheduler->rsc_defaults, XML_TAG_ATTR_SETS,
&rule_data, meta_hash, NULL, FALSE,