!60 update to version 2.1.7
From: @bixiaoyan1 Reviewed-by: @jxy_git Signed-off-by: @jxy_git
This commit is contained in:
commit
840bd5a30c
@ -1,63 +0,0 @@
|
||||
From 30271f16c9878a03b803d2f1e6b5b5ec214a6365 Mon Sep 17 00:00:00 2001
|
||||
From: liupei <liupei@kylinos.cn>
|
||||
Date: Wed, 23 Aug 2023 19:02:10 +0800
|
||||
Subject: [PATCH] Add the parameter of dampening and fix attrd_updater command
|
||||
|
||||
---
|
||||
agents/ocf/HealthIOWait.in | 19 ++++++++++++++++---
|
||||
1 file changed, 16 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/agents/ocf/HealthIOWait.in b/agents/ocf/HealthIOWait.in
|
||||
index ba7a17a..de2844b 100644
|
||||
--- a/agents/ocf/HealthIOWait.in
|
||||
+++ b/agents/ocf/HealthIOWait.in
|
||||
@@ -60,6 +60,15 @@ the #health-iowait will go red if the %iowait of the CPU get higher than 15%.
|
||||
<content type="integer" default="15"/>
|
||||
</parameter>
|
||||
|
||||
+<parameter name="dampening" reloadable="1">
|
||||
+<longdesc lang="en">
|
||||
+The time to wait (dampening) in seconds for further changes before writing
|
||||
+</longdesc>
|
||||
+<shortdesc lang="en">The time to wait (dampening) in seconds for further changes
|
||||
+before writing</shortdesc>
|
||||
+<content type="string" default="5s"/>
|
||||
+</parameter>
|
||||
+
|
||||
</parameters>
|
||||
|
||||
<actions>
|
||||
@@ -109,16 +118,16 @@ agent_monitor() {
|
||||
# echo $OCF_RESKEY_yellow_limit
|
||||
if [ $WAIT -gt ${OCF_RESKEY_red_limit} ] ; then
|
||||
# echo "System state RED!"
|
||||
- attrd_updater -n "#health-iowait" -U "red" -d "5s"
|
||||
+ attrd_updater -n "#health-iowait" -B "red" -d ${OCF_RESKEY_dampening}
|
||||
return $OCF_SUCCESS
|
||||
fi
|
||||
|
||||
if [ $WAIT -gt ${OCF_RESKEY_yellow_limit} ] ; then
|
||||
# echo "System state yellow."
|
||||
- attrd_updater -n "#health-iowait" -U "yellow" -d "5s"
|
||||
+ attrd_updater -n "#health-iowait" -B "yellow" -d ${OCF_RESKEY_dampening}
|
||||
else
|
||||
# echo "System state green."
|
||||
- attrd_updater -n "#health-iowait" -U "green" -d "5s"
|
||||
+ attrd_updater -n "#health-iowait" -B "green" -d ${OCF_RESKEY_dampening}
|
||||
fi
|
||||
return $OCF_SUCCESS
|
||||
fi
|
||||
@@ -175,6 +184,10 @@ if [ -z "${OCF_RESKEY_yellow_limit}" ] ; then
|
||||
OCF_RESKEY_yellow_limit=10
|
||||
fi
|
||||
|
||||
+if [ -z "${OCF_RESKEY_dampening}" ]; then
|
||||
+ OCF_RESKEY_dampening="5s"
|
||||
+fi
|
||||
+
|
||||
case $__OCF_ACTION in
|
||||
meta-data) meta_data
|
||||
exit $OCF_SUCCESS
|
||||
--
|
||||
2.33.1.windows.1
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
From 92d5801b36408c3e6af561ecb546df0641212b4a Mon Sep 17 00:00:00 2001
|
||||
From: liupei <liupei@kylinos.cn>
|
||||
Date: Wed, 23 Aug 2023 11:28:38 +0800
|
||||
Subject: [PATCH] Add the parameter of dampening and fix attrd_updater command
|
||||
|
||||
---
|
||||
agents/ocf/HealthCPU.in | 18 +++++++++++++++---
|
||||
1 file changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/agents/ocf/HealthCPU.in b/agents/ocf/HealthCPU.in
|
||||
index 4a8e7c3..a852a7a 100644
|
||||
--- a/agents/ocf/HealthCPU.in
|
||||
+++ b/agents/ocf/HealthCPU.in
|
||||
@@ -67,6 +67,15 @@ the #health-cpu will go red if the %idle of the CPU falls below 10%.
|
||||
<content type="string" default="10"/>
|
||||
</parameter>
|
||||
|
||||
+<parameter name="dampening" reloadable="1">
|
||||
+<longdesc lang="en">
|
||||
+The time to wait (dampening) in seconds for further changes before writing
|
||||
+</longdesc>
|
||||
+<shortdesc lang="en">The time to wait (dampening) in seconds for further changes
|
||||
+before writing</shortdesc>
|
||||
+<content type="string" default="30s"/>
|
||||
+</parameter>
|
||||
+
|
||||
</parameters>
|
||||
|
||||
<actions>
|
||||
@@ -117,16 +126,16 @@ healthcpu_monitor() {
|
||||
|
||||
if [ $IDLE -lt ${OCF_RESKEY_red_limit} ] ; then
|
||||
# echo "System state RED!"
|
||||
- attrd_updater -n "#health-cpu" -U "red" -d "30s"
|
||||
+ attrd_updater -n "#health-cpu" -B "red" -d ${OCF_RESKEY_dampening}
|
||||
return $OCF_SUCCESS
|
||||
fi
|
||||
|
||||
if [ $IDLE -lt ${OCF_RESKEY_yellow_limit} ] ; then
|
||||
# echo "System state yellow."
|
||||
- attrd_updater -n "#health-cpu" -U "yellow" -d "30s"
|
||||
+ attrd_updater -n "#health-cpu" -B "yellow" -d ${OCF_RESKEY_dampening}
|
||||
else
|
||||
# echo "System state green."
|
||||
- attrd_updater -n "#health-cpu" -U "green" -d "30s"
|
||||
+ attrd_updater -n "#health-cpu" -B "green" -d ${OCF_RESKEY_dampening}
|
||||
fi
|
||||
|
||||
return $OCF_SUCCESS
|
||||
@@ -188,6 +197,9 @@ fi
|
||||
if [ -z "${OCF_RESKEY_yellow_limit}" ] ; then
|
||||
OCF_RESKEY_yellow_limit=50
|
||||
fi
|
||||
+if [ -z "${OCF_RESKEY_dampening}" ]; then
|
||||
+ OCF_RESKEY_dampening="30s"
|
||||
+fi
|
||||
|
||||
case "$__OCF_ACTION" in
|
||||
meta-data) meta_data
|
||||
--
|
||||
2.33.1.windows.1
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
From e3f6351646d40a533be1cdce83d23134b8d16f23 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Tue, 15 Aug 2023 19:13:14 +0800
|
||||
Subject: [PATCH] Fix glib assertions due to asynchronous metadata action
|
||||
completing after shutdown begins
|
||||
|
||||
---
|
||||
daemons/controld/controld_cib.c | 11 +++++++++--
|
||||
daemons/controld/controld_execd.c | 4 +++-
|
||||
daemons/controld/controld_execd_state.c | 15 +++++++--------
|
||||
daemons/controld/controld_lrm.h | 5 -----
|
||||
4 files changed, 19 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/daemons/controld/controld_cib.c b/daemons/controld/controld_cib.c
|
||||
index 94b99dd..43cf857 100644
|
||||
--- a/daemons/controld/controld_cib.c
|
||||
+++ b/daemons/controld/controld_cib.c
|
||||
@@ -841,10 +841,17 @@ cib_rsc_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void *use
|
||||
case pcmk_ok:
|
||||
case -pcmk_err_diff_failed:
|
||||
case -pcmk_err_diff_resync:
|
||||
- crm_trace("Resource update %d complete: rc=%d", call_id, rc);
|
||||
+ crm_trace("Resource history update completed (call=%d rc=%d)",
|
||||
+ call_id, rc);
|
||||
break;
|
||||
default:
|
||||
- crm_warn("Resource update %d failed: (rc=%d) %s", call_id, rc, pcmk_strerror(rc));
|
||||
+ if (call_id > 0) {
|
||||
+ crm_warn("Resource history update %d failed: %s "
|
||||
+ CRM_XS " rc=%d", call_id, pcmk_strerror(rc), rc);
|
||||
+ } else {
|
||||
+ crm_warn("Resource history update failed: %s " CRM_XS " rc=%d",
|
||||
+ pcmk_strerror(rc), rc);
|
||||
+ }
|
||||
}
|
||||
|
||||
if (call_id == pending_rsc_update) {
|
||||
diff --git a/daemons/controld/controld_execd.c b/daemons/controld/controld_execd.c
|
||||
index 0de399c..f37446b 100644
|
||||
--- a/daemons/controld/controld_execd.c
|
||||
+++ b/daemons/controld/controld_execd.c
|
||||
@@ -1394,7 +1394,9 @@ metadata_complete(int pid, const pcmk__action_result_t *result, void *user_data)
|
||||
md = controld_cache_metadata(lrm_state->metadata_cache, data->rsc,
|
||||
result->action_stdout);
|
||||
}
|
||||
- do_lrm_rsc_op(lrm_state, data->rsc, data->input_xml, md);
|
||||
+ if (!pcmk_is_set(controld_globals.fsa_input_register, R_HA_DISCONNECTED)) {
|
||||
+ do_lrm_rsc_op(lrm_state, data->rsc, data->input_xml, md);
|
||||
+ }
|
||||
free_metadata_cb_data(data);
|
||||
}
|
||||
|
||||
diff --git a/daemons/controld/controld_execd_state.c b/daemons/controld/controld_execd_state.c
|
||||
index 8c68bfc..2411297 100644
|
||||
--- a/daemons/controld/controld_execd_state.c
|
||||
+++ b/daemons/controld/controld_execd_state.c
|
||||
@@ -132,12 +132,6 @@ lrm_state_create(const char *node_name)
|
||||
return state;
|
||||
}
|
||||
|
||||
-void
|
||||
-lrm_state_destroy(const char *node_name)
|
||||
-{
|
||||
- g_hash_table_remove(lrm_state_table, node_name);
|
||||
-}
|
||||
-
|
||||
static gboolean
|
||||
remote_proxy_remove_by_node(gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
@@ -307,7 +301,7 @@ lrm_state_destroy_all(void)
|
||||
lrm_state_t *
|
||||
lrm_state_find(const char *node_name)
|
||||
{
|
||||
- if (!node_name) {
|
||||
+ if ((node_name == NULL) || (lrm_state_table == NULL)) {
|
||||
return NULL;
|
||||
}
|
||||
return g_hash_table_lookup(lrm_state_table, node_name);
|
||||
@@ -318,6 +312,8 @@ lrm_state_find_or_create(const char *node_name)
|
||||
{
|
||||
lrm_state_t *lrm_state;
|
||||
|
||||
+ CRM_CHECK(lrm_state_table != NULL, return NULL);
|
||||
+
|
||||
lrm_state = g_hash_table_lookup(lrm_state_table, node_name);
|
||||
if (!lrm_state) {
|
||||
lrm_state = lrm_state_create(node_name);
|
||||
@@ -329,6 +325,9 @@ lrm_state_find_or_create(const char *node_name)
|
||||
GList *
|
||||
lrm_state_get_list(void)
|
||||
{
|
||||
+ if (lrm_state_table == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
return g_hash_table_get_values(lrm_state_table);
|
||||
}
|
||||
|
||||
@@ -799,7 +798,7 @@ lrm_state_unregister_rsc(lrm_state_t * lrm_state,
|
||||
}
|
||||
|
||||
if (is_remote_lrmd_ra(NULL, NULL, rsc_id)) {
|
||||
- lrm_state_destroy(rsc_id);
|
||||
+ g_hash_table_remove(lrm_state_table, rsc_id);
|
||||
return pcmk_ok;
|
||||
}
|
||||
|
||||
diff --git a/daemons/controld/controld_lrm.h b/daemons/controld/controld_lrm.h
|
||||
index 25f3db3..c3113e4 100644
|
||||
--- a/daemons/controld/controld_lrm.h
|
||||
+++ b/daemons/controld/controld_lrm.h
|
||||
@@ -108,11 +108,6 @@ gboolean lrm_state_init_local(void);
|
||||
*/
|
||||
void lrm_state_destroy_all(void);
|
||||
|
||||
-/*!
|
||||
- * \brief Destroy executor connection by node name
|
||||
- */
|
||||
-void lrm_state_destroy(const char *node_name);
|
||||
-
|
||||
/*!
|
||||
* \brief Find lrm_state data by node name
|
||||
*/
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
From ca62cd81870590977f77e95636754214d842814c Mon Sep 17 00:00:00 2001
|
||||
From: bizhiyuan <bizhiyuan@kylinos.cn>
|
||||
Date: Mon, 4 Sep 2023 10:00:40 +0800
|
||||
Subject: [PATCH] Fix a bug in clone resource description display
|
||||
|
||||
---
|
||||
lib/pengine/pe_output.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/pengine/pe_output.c b/lib/pengine/pe_output.c
|
||||
index 68cc867..d9e2620 100644
|
||||
--- a/lib/pengine/pe_output.c
|
||||
+++ b/lib/pengine/pe_output.c
|
||||
@@ -20,8 +20,7 @@ pe__resource_description(const pe_resource_t *rsc, uint32_t show_opts)
|
||||
{
|
||||
const char * desc = NULL;
|
||||
// User-supplied description
|
||||
- if (pcmk_any_flags_set(show_opts, pcmk_show_rsc_only|pcmk_show_description)
|
||||
- || pcmk__list_of_multiple(rsc->running_on)) {
|
||||
+ if (pcmk_any_flags_set(show_opts, pcmk_show_rsc_only|pcmk_show_description)){
|
||||
desc = crm_element_value(rsc->xml, XML_ATTR_DESC);
|
||||
}
|
||||
return desc;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -1,35 +0,0 @@
|
||||
From 9a0c1bbc899fff8c5c0de2462726bd128fd35c73 Mon Sep 17 00:00:00 2001
|
||||
From: bizhiyuan <bizhiyuan@kylinos.cn>
|
||||
Date: Tue, 5 Sep 2023 23:47:24 +0800
|
||||
Subject: [PATCH] Fix: controller: do not check whether watchdog fencing is
|
||||
enabled for the node if stonith-watchdog-timeout is not even configured
|
||||
|
||||
---
|
||||
daemons/controld/controld_fencing.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/daemons/controld/controld_fencing.c b/daemons/controld/controld_fencing.c
|
||||
index 89cb61f..84591b6 100644
|
||||
--- a/daemons/controld/controld_fencing.c
|
||||
+++ b/daemons/controld/controld_fencing.c
|
||||
@@ -1000,12 +1000,14 @@ controld_execute_fence_action(pcmk__graph_t *graph,
|
||||
bool
|
||||
controld_verify_stonith_watchdog_timeout(const char *value)
|
||||
{
|
||||
+ long st_timeout = value? crm_get_msec(value) : 0;
|
||||
const char *our_nodename = controld_globals.our_nodename;
|
||||
gboolean rv = TRUE;
|
||||
|
||||
- if (stonith_api && (stonith_api->state != stonith_disconnected) &&
|
||||
- stonith__watchdog_fencing_enabled_for_node_api(stonith_api,
|
||||
- our_nodename)) {
|
||||
+ if (st_timeout == 0
|
||||
+ || (stonith_api && (stonith_api->state != stonith_disconnected) &&
|
||||
+ stonith__watchdog_fencing_enabled_for_node_api(stonith_api,
|
||||
+ our_nodename))) {
|
||||
rv = pcmk__valid_sbd_timeout(value);
|
||||
}
|
||||
return rv;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -1,95 +0,0 @@
|
||||
From b2cc5110fa35ed8010412391c9bf7673a25cf2ae Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Fri, 25 Aug 2023 15:29:09 +0800
|
||||
Subject: [PATCH] Fix: libcrmcommon: wait for reply from appropriate controller
|
||||
commands
|
||||
|
||||
---
|
||||
lib/common/ipc_controld.c | 49 ++++++++++++++-------------------------
|
||||
1 file changed, 17 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/lib/common/ipc_controld.c b/lib/common/ipc_controld.c
|
||||
index 9303afd..993a7b5 100644
|
||||
--- a/lib/common/ipc_controld.c
|
||||
+++ b/lib/common/ipc_controld.c
|
||||
@@ -177,18 +177,16 @@ set_nodes_data(pcmk_controld_api_reply_t *data, xmlNode *msg_data)
|
||||
static bool
|
||||
reply_expected(pcmk_ipc_api_t *api, xmlNode *request)
|
||||
{
|
||||
- const char *command = crm_element_value(request, F_CRM_TASK);
|
||||
-
|
||||
- if (command == NULL) {
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- // We only need to handle commands that functions in this file can send
|
||||
- return !strcmp(command, CRM_OP_REPROBE)
|
||||
- || !strcmp(command, CRM_OP_NODE_INFO)
|
||||
- || !strcmp(command, CRM_OP_PING)
|
||||
- || !strcmp(command, CRM_OP_LRM_FAIL)
|
||||
- || !strcmp(command, CRM_OP_LRM_DELETE);
|
||||
+ // We only need to handle commands that API functions can send
|
||||
+ return pcmk__str_any_of(crm_element_value(request, F_CRM_TASK),
|
||||
+ PCMK__CONTROLD_CMD_NODES,
|
||||
+ CRM_OP_LRM_DELETE,
|
||||
+ CRM_OP_LRM_FAIL,
|
||||
+ CRM_OP_NODE_INFO,
|
||||
+ CRM_OP_PING,
|
||||
+ CRM_OP_REPROBE,
|
||||
+ CRM_OP_RM_NODE_CACHE,
|
||||
+ NULL);
|
||||
}
|
||||
|
||||
static bool
|
||||
@@ -202,22 +200,12 @@ dispatch(pcmk_ipc_api_t *api, xmlNode *reply)
|
||||
pcmk_controld_reply_unknown, NULL, NULL,
|
||||
};
|
||||
|
||||
- /* If we got an ACK, return true so the caller knows to expect more responses
|
||||
- * from the IPC server. We do this before decrementing replies_expected because
|
||||
- * ACKs are not going to be included in that value.
|
||||
- *
|
||||
- * Note that we cannot do the same kind of status checking here that we do in
|
||||
- * ipc_pacemakerd.c. The ACK message we receive does not necessarily contain
|
||||
- * a status attribute. That is, we may receive this:
|
||||
- *
|
||||
- * <ack function="crmd_remote_proxy_cb" line="556"/>
|
||||
- *
|
||||
- * Instead of this:
|
||||
- *
|
||||
- * <ack function="dispatch_controller_ipc" line="391" status="112"/>
|
||||
- */
|
||||
if (pcmk__str_eq(crm_element_name(reply), "ack", pcmk__str_none)) {
|
||||
- return true; // More replies needed
|
||||
+ /* ACKs are trivial responses that do not count toward expected replies,
|
||||
+ * and do not have all the fields that validation requires, so skip that
|
||||
+ * processing.
|
||||
+ */
|
||||
+ return private->replies_expected > 0;
|
||||
}
|
||||
|
||||
if (private->replies_expected > 0) {
|
||||
@@ -344,18 +332,15 @@ static int
|
||||
send_controller_request(pcmk_ipc_api_t *api, xmlNode *request,
|
||||
bool reply_is_expected)
|
||||
{
|
||||
- int rc;
|
||||
-
|
||||
if (crm_element_value(request, XML_ATTR_REFERENCE) == NULL) {
|
||||
return EINVAL;
|
||||
}
|
||||
- rc = pcmk__send_ipc_request(api, request);
|
||||
- if ((rc == pcmk_rc_ok) && reply_is_expected) {
|
||||
+ if (reply_is_expected) {
|
||||
struct controld_api_private_s *private = api->api_data;
|
||||
|
||||
private->replies_expected++;
|
||||
}
|
||||
- return rc;
|
||||
+ return pcmk__send_ipc_request(api, request);
|
||||
}
|
||||
|
||||
static xmlNode *
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
From 97f65bfa392b5663e023f5bee46697e778423b55 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Mon, 28 Aug 2023 17:02:22 +0800
|
||||
Subject: [PATCH] fix the validation function of input
|
||||
|
||||
---
|
||||
agents/ocf/HealthCPU.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/agents/ocf/HealthCPU.in b/agents/ocf/HealthCPU.in
|
||||
index a852a7a..4bd6e36 100755
|
||||
--- a/agents/ocf/HealthCPU.in
|
||||
+++ b/agents/ocf/HealthCPU.in
|
||||
@@ -207,7 +207,7 @@ meta-data) meta_data
|
||||
;;
|
||||
start) healthcpu_start;;
|
||||
stop) healthcpu_stop;;
|
||||
-monitor) healthcpu_monitor;;
|
||||
+monitor) healthcpu_validate && healthcpu_monitor;;
|
||||
reload-agent) healthcpu_reload_agent;;
|
||||
validate-all) healthcpu_validate;;
|
||||
usage|help) healthcpu_usage
|
||||
--
|
||||
2.33.1.windows.1
|
||||
|
||||
@ -1,158 +0,0 @@
|
||||
From 0a5fb8acb9eca15d4ea237b21da533f45821c099 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Thu, 7 Dec 2023 06:54:56 +0800
|
||||
Subject: [PATCH] Modify HealthCPU HealthIOWait HealthSmart about dampen,
|
||||
reload, and validate simultaneously
|
||||
|
||||
---
|
||||
agents/ocf/HealthCPU.in | 13 +++++--------
|
||||
agents/ocf/HealthIOWait.in | 19 +++++++++++--------
|
||||
agents/ocf/HealthSMART.in | 2 +-
|
||||
3 files changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/agents/ocf/HealthCPU.in b/agents/ocf/HealthCPU.in
|
||||
index 4bd6e36..6e9745d 100755
|
||||
--- a/agents/ocf/HealthCPU.in
|
||||
+++ b/agents/ocf/HealthCPU.in
|
||||
@@ -26,6 +26,7 @@
|
||||
: ${OCF_FUNCTIONS:="${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs"}
|
||||
. "${OCF_FUNCTIONS}"
|
||||
: ${__OCF_ACTION:="$1"}
|
||||
+: ${OCF_RESKEY_dampen:="30s"}
|
||||
|
||||
#######################################################################
|
||||
|
||||
@@ -126,16 +127,16 @@ healthcpu_monitor() {
|
||||
|
||||
if [ $IDLE -lt ${OCF_RESKEY_red_limit} ] ; then
|
||||
# echo "System state RED!"
|
||||
- attrd_updater -n "#health-cpu" -B "red" -d ${OCF_RESKEY_dampening}
|
||||
+ attrd_updater -n "#health-cpu" -B "red" -d "${OCF_RESKEY_dampening}"
|
||||
return $OCF_SUCCESS
|
||||
fi
|
||||
|
||||
if [ $IDLE -lt ${OCF_RESKEY_yellow_limit} ] ; then
|
||||
# echo "System state yellow."
|
||||
- attrd_updater -n "#health-cpu" -B "yellow" -d ${OCF_RESKEY_dampening}
|
||||
+ attrd_updater -n "#health-cpu" -B "yellow" -d "${OCF_RESKEY_dampening}"
|
||||
else
|
||||
# echo "System state green."
|
||||
- attrd_updater -n "#health-cpu" -B "green" -d ${OCF_RESKEY_dampening}
|
||||
+ attrd_updater -n "#health-cpu" -B "green" -d "${OCF_RESKEY_dampening}"
|
||||
fi
|
||||
|
||||
return $OCF_SUCCESS
|
||||
@@ -145,8 +146,7 @@ healthcpu_monitor() {
|
||||
}
|
||||
|
||||
healthcpu_reload_agent() {
|
||||
- # No action required
|
||||
- :;
|
||||
+ return $OCF_SUCCESS
|
||||
}
|
||||
|
||||
healthcpu_validate() {
|
||||
@@ -197,9 +197,6 @@ fi
|
||||
if [ -z "${OCF_RESKEY_yellow_limit}" ] ; then
|
||||
OCF_RESKEY_yellow_limit=50
|
||||
fi
|
||||
-if [ -z "${OCF_RESKEY_dampening}" ]; then
|
||||
- OCF_RESKEY_dampening="30s"
|
||||
-fi
|
||||
|
||||
case "$__OCF_ACTION" in
|
||||
meta-data) meta_data
|
||||
diff --git a/agents/ocf/HealthIOWait.in b/agents/ocf/HealthIOWait.in
|
||||
index 61b6de3..65ce901 100755
|
||||
--- a/agents/ocf/HealthIOWait.in
|
||||
+++ b/agents/ocf/HealthIOWait.in
|
||||
@@ -19,6 +19,7 @@
|
||||
: ${OCF_FUNCTIONS:="${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs"}
|
||||
. "${OCF_FUNCTIONS}"
|
||||
: ${__OCF_ACTION:="$1"}
|
||||
+: ${OCF_RESKEY_dampening:="5s"}
|
||||
|
||||
#######################################################################
|
||||
|
||||
@@ -75,6 +76,7 @@ before writing</shortdesc>
|
||||
<action name="start" timeout="10s" />
|
||||
<action name="stop" timeout="10s" />
|
||||
<action name="monitor" timeout="10s" interval="10s" start-delay="0s" />
|
||||
+<action name="reload-agent" timeout="20s" />
|
||||
<action name="meta-data" timeout="5s" />
|
||||
<action name="validate-all" timeout="10s" depth="0" />
|
||||
</actions>
|
||||
@@ -86,7 +88,7 @@ END
|
||||
|
||||
agent_usage() {
|
||||
cat <<END
|
||||
-usage: $0 {start|stop|monitor|validate-all|meta-data}
|
||||
+usage: $0 {start|stop|monitor|reload-agent|validate-all|meta-data}
|
||||
|
||||
Expects to have a fully populated OCF RA-compliant environment set.
|
||||
END
|
||||
@@ -118,22 +120,26 @@ agent_monitor() {
|
||||
# echo $OCF_RESKEY_yellow_limit
|
||||
if [ $WAIT -gt ${OCF_RESKEY_red_limit} ] ; then
|
||||
# echo "System state RED!"
|
||||
- attrd_updater -n "#health-iowait" -B "red" -d ${OCF_RESKEY_dampening}
|
||||
+ attrd_updater -n "#health-iowait" -B "red" -d "${OCF_RESKEY_dampening}"
|
||||
return $OCF_SUCCESS
|
||||
fi
|
||||
|
||||
if [ $WAIT -gt ${OCF_RESKEY_yellow_limit} ] ; then
|
||||
# echo "System state yellow."
|
||||
- attrd_updater -n "#health-iowait" -B "yellow" -d ${OCF_RESKEY_dampening}
|
||||
+ attrd_updater -n "#health-iowait" -B "yellow" -d "${OCF_RESKEY_dampening}"
|
||||
else
|
||||
# echo "System state green."
|
||||
- attrd_updater -n "#health-iowait" -B "green" -d ${OCF_RESKEY_dampening}
|
||||
+ attrd_updater -n "#health-iowait" -B "green" -d "${OCF_RESKEY_dampening}"
|
||||
fi
|
||||
return $OCF_SUCCESS
|
||||
fi
|
||||
return $OCF_NOT_RUNNING
|
||||
}
|
||||
|
||||
+agent_reload_agent() {
|
||||
+ return $OCF_SUCCESS
|
||||
+}
|
||||
+
|
||||
is_integer() {
|
||||
case "$1" in
|
||||
""|*[0-9]*) return 0 ;;
|
||||
@@ -184,10 +190,6 @@ if [ -z "${OCF_RESKEY_yellow_limit}" ] ; then
|
||||
OCF_RESKEY_yellow_limit=10
|
||||
fi
|
||||
|
||||
-if [ -z "${OCF_RESKEY_dampening}" ]; then
|
||||
- OCF_RESKEY_dampening="5s"
|
||||
-fi
|
||||
-
|
||||
case $__OCF_ACTION in
|
||||
meta-data) meta_data
|
||||
exit $OCF_SUCCESS
|
||||
@@ -195,6 +197,7 @@ meta-data) meta_data
|
||||
start) agent_start;;
|
||||
stop) agent_stop;;
|
||||
monitor) agent_validate && agent_monitor;;
|
||||
+reload-agent) agent_reload_agent;;
|
||||
validate-all) agent_validate;;
|
||||
usage|help) agent_usage
|
||||
exit $OCF_SUCCESS
|
||||
diff --git a/agents/ocf/HealthSMART.in b/agents/ocf/HealthSMART.in
|
||||
index 3b15339..0cafa46 100755
|
||||
--- a/agents/ocf/HealthSMART.in
|
||||
+++ b/agents/ocf/HealthSMART.in
|
||||
@@ -351,7 +351,7 @@ fi
|
||||
case "$__OCF_ACTION" in
|
||||
start) HealthSMART_start;;
|
||||
stop) HealthSMART_stop;;
|
||||
- monitor) HealthSMART_monitor;;
|
||||
+ monitor) HealthSMART_validate && HealthSMART_monitor;;
|
||||
validate-all) HealthSMART_validate;;
|
||||
reload-agent) HealthSMART_reload_agent;;
|
||||
meta-data)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -1,185 +0,0 @@
|
||||
From 55b5b78c69089fd418c590eb265eef2f7b82d689 Mon Sep 17 00:00:00 2001
|
||||
From: bizhiyuan <bizhiyuan@kylinos.cn>
|
||||
Date: Thu, 31 Aug 2023 00:50:44 +0800
|
||||
Subject: [PATCH] Refactor: fencer: sleep 1s between reconnects
|
||||
|
||||
---
|
||||
daemons/controld/controld_control.c | 5 ++-
|
||||
daemons/controld/controld_fencing.c | 65 ++++++++++++++---------------
|
||||
daemons/controld/controld_fencing.h | 2 +-
|
||||
3 files changed, 36 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/daemons/controld/controld_control.c b/daemons/controld/controld_control.c
|
||||
index ffc62a0..48efdd5 100644
|
||||
--- a/daemons/controld/controld_control.c
|
||||
+++ b/daemons/controld/controld_control.c
|
||||
@@ -504,8 +504,9 @@ do_started(long long action,
|
||||
} else {
|
||||
crm_notice("Pacemaker controller successfully started and accepting connections");
|
||||
}
|
||||
- controld_trigger_fencer_connect();
|
||||
-
|
||||
+ controld_set_fsa_input_flags(R_ST_REQUIRED);
|
||||
+ controld_timer_fencer_connect(GINT_TO_POINTER(TRUE));
|
||||
+
|
||||
controld_clear_fsa_input_flags(R_STARTING);
|
||||
register_fsa_input(msg_data->fsa_cause, I_PENDING, NULL);
|
||||
}
|
||||
diff --git a/daemons/controld/controld_fencing.c b/daemons/controld/controld_fencing.c
|
||||
index 89cb61f..8f571b0 100644
|
||||
--- a/daemons/controld/controld_fencing.c
|
||||
+++ b/daemons/controld/controld_fencing.c
|
||||
@@ -391,7 +391,7 @@ execute_stonith_cleanup(void)
|
||||
*/
|
||||
|
||||
static stonith_t *stonith_api = NULL;
|
||||
-static crm_trigger_t *stonith_reconnect = NULL;
|
||||
+static mainloop_timer_t *controld_fencer_connect_timer = NULL;
|
||||
static char *te_client_id = NULL;
|
||||
|
||||
static gboolean
|
||||
@@ -448,8 +448,9 @@ tengine_stonith_connection_destroy(stonith_t *st, stonith_event_t *e)
|
||||
|
||||
if (pcmk_is_set(controld_globals.fsa_input_register, R_ST_REQUIRED)) {
|
||||
crm_crit("Fencing daemon connection failed");
|
||||
- mainloop_set_trigger(stonith_reconnect);
|
||||
-
|
||||
+ if (!mainloop_timer_running(controld_fencer_connect_timer)) {
|
||||
+ mainloop_timer_start(controld_fencer_connect_timer);
|
||||
+ }
|
||||
} else {
|
||||
crm_info("Fencing daemon disconnected");
|
||||
}
|
||||
@@ -647,14 +648,14 @@ handle_fence_notification(stonith_t *st, stonith_event_t *event)
|
||||
/*!
|
||||
* \brief Connect to fencer
|
||||
*
|
||||
- * \param[in] user_data If NULL, retry failures now, otherwise retry in main loop
|
||||
+ * \param[in] user_data If NULL, retry failures now, otherwise retry in mainloop timer
|
||||
*
|
||||
- * \return TRUE
|
||||
+ * \return G_SOURCE_REMOVE on success, G_SOURCE_CONTINUE to retry
|
||||
* \note If user_data is NULL, this will wait 2s between attempts, for up to
|
||||
* 30 attempts, meaning the controller could be blocked as long as 58s.
|
||||
*/
|
||||
-static gboolean
|
||||
-te_connect_stonith(gpointer user_data)
|
||||
+gboolean
|
||||
+controld_timer_fencer_connect(gpointer user_data)
|
||||
{
|
||||
int rc = pcmk_ok;
|
||||
|
||||
@@ -662,13 +663,13 @@ te_connect_stonith(gpointer user_data)
|
||||
stonith_api = stonith_api_new();
|
||||
if (stonith_api == NULL) {
|
||||
crm_err("Could not connect to fencer: API memory allocation failed");
|
||||
- return TRUE;
|
||||
+ return G_SOURCE_REMOVE;
|
||||
}
|
||||
}
|
||||
|
||||
if (stonith_api->state != stonith_disconnected) {
|
||||
crm_trace("Already connected to fencer, no need to retry");
|
||||
- return TRUE;
|
||||
+ return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
||||
if (user_data == NULL) {
|
||||
@@ -681,17 +682,31 @@ te_connect_stonith(gpointer user_data)
|
||||
} else {
|
||||
// Non-blocking (retry failures later in main loop)
|
||||
rc = stonith_api->cmds->connect(stonith_api, crm_system_name, NULL);
|
||||
+
|
||||
+
|
||||
+ if (controld_fencer_connect_timer == NULL) {
|
||||
+ controld_fencer_connect_timer =
|
||||
+ mainloop_timer_add("controld_fencer_connect", 1000,
|
||||
+ TRUE, controld_timer_fencer_connect,
|
||||
+ GINT_TO_POINTER(TRUE));
|
||||
+ }
|
||||
+
|
||||
if (rc != pcmk_ok) {
|
||||
if (pcmk_is_set(controld_globals.fsa_input_register,
|
||||
R_ST_REQUIRED)) {
|
||||
crm_notice("Fencer connection failed (will retry): %s "
|
||||
CRM_XS " rc=%d", pcmk_strerror(rc), rc);
|
||||
- mainloop_set_trigger(stonith_reconnect);
|
||||
- } else {
|
||||
+
|
||||
+ if (!mainloop_timer_running(controld_fencer_connect_timer)) {
|
||||
+ mainloop_timer_start(controld_fencer_connect_timer);
|
||||
+ }
|
||||
+
|
||||
+ return G_SOURCE_CONTINUE;
|
||||
+ } else {
|
||||
crm_info("Fencer connection failed (ignoring because no longer required): %s "
|
||||
CRM_XS " rc=%d", pcmk_strerror(rc), rc);
|
||||
}
|
||||
- return TRUE;
|
||||
+ return G_SOURCE_CONTINUE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -709,23 +724,7 @@ te_connect_stonith(gpointer user_data)
|
||||
crm_notice("Fencer successfully connected");
|
||||
}
|
||||
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-/*!
|
||||
- \internal
|
||||
- \brief Schedule fencer connection attempt in main loop
|
||||
-*/
|
||||
-void
|
||||
-controld_trigger_fencer_connect(void)
|
||||
-{
|
||||
- if (stonith_reconnect == NULL) {
|
||||
- stonith_reconnect = mainloop_add_trigger(G_PRIORITY_LOW,
|
||||
- te_connect_stonith,
|
||||
- GINT_TO_POINTER(TRUE));
|
||||
- }
|
||||
- controld_set_fsa_input_flags(R_ST_REQUIRED);
|
||||
- mainloop_set_trigger(stonith_reconnect);
|
||||
+ return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -745,9 +744,9 @@ controld_disconnect_fencer(bool destroy)
|
||||
stonith_api->cmds->free(stonith_api);
|
||||
stonith_api = NULL;
|
||||
}
|
||||
- if (stonith_reconnect) {
|
||||
- mainloop_destroy_trigger(stonith_reconnect);
|
||||
- stonith_reconnect = NULL;
|
||||
+ if (controld_fencer_connect_timer) {
|
||||
+ mainloop_timer_del(controld_fencer_connect_timer);
|
||||
+ controld_fencer_connect_timer = NULL;
|
||||
}
|
||||
if (te_client_id) {
|
||||
free(te_client_id);
|
||||
@@ -981,7 +980,7 @@ controld_execute_fence_action(pcmk__graph_t *graph,
|
||||
priority_delay ? priority_delay : "");
|
||||
|
||||
/* Passing NULL means block until we can connect... */
|
||||
- te_connect_stonith(NULL);
|
||||
+ controld_timer_fencer_connect(NULL);
|
||||
|
||||
pcmk__scan_min_int(priority_delay, &delay_i, 0);
|
||||
rc = fence_with_delay(target, type, delay_i);
|
||||
diff --git a/daemons/controld/controld_fencing.h b/daemons/controld/controld_fencing.h
|
||||
index 86a5050..76779c6 100644
|
||||
--- a/daemons/controld/controld_fencing.h
|
||||
+++ b/daemons/controld/controld_fencing.h
|
||||
@@ -19,7 +19,7 @@ void controld_configure_fencing(GHashTable *options);
|
||||
void st_fail_count_reset(const char * target);
|
||||
|
||||
// stonith API client
|
||||
-void controld_trigger_fencer_connect(void);
|
||||
+gboolean controld_timer_fencer_connect(gpointer user_data);
|
||||
void controld_disconnect_fencer(bool destroy);
|
||||
int controld_execute_fence_action(pcmk__graph_t *graph,
|
||||
pcmk__graph_action_t *action);
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -1,67 +0,0 @@
|
||||
From b0d133b3931295c12421e56b798e5deb3a83a060 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Thu, 7 Dec 2023 15:00:05 +0800
|
||||
Subject: [PATCH] fix HealthSMART parameter check
|
||||
|
||||
---
|
||||
agents/ocf/HealthSMART.in | 41 ++++++++++++++++++++-------------------
|
||||
1 file changed, 21 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/agents/ocf/HealthSMART.in b/agents/ocf/HealthSMART.in
|
||||
index b6edac2..3b15339 100755
|
||||
--- a/agents/ocf/HealthSMART.in
|
||||
+++ b/agents/ocf/HealthSMART.in
|
||||
@@ -136,29 +136,30 @@ END
|
||||
#######################################################################
|
||||
|
||||
check_temperature() {
|
||||
+ if [ -n "$1" ]; then
|
||||
+ if [ $1 -lt ${lower_red_limit} ] ; then
|
||||
+ ocf_log info "Drive ${DRIVE} ${DEVICE} too cold: ${1} C"
|
||||
+ attrd_updater -n "#health-smart" -U "red" -d "${OCF_RESKEY_dampen}"
|
||||
+ return 1
|
||||
+ fi
|
||||
|
||||
- if [ $1 -lt ${lower_red_limit} ] ; then
|
||||
- ocf_log info "Drive ${DRIVE} ${DEVICE} too cold: ${1} C"
|
||||
- attrd_updater -n "#health-smart" -U "red" -d "${OCF_RESKEY_dampen}"
|
||||
- return 1
|
||||
- fi
|
||||
-
|
||||
- if [ $1 -gt ${upper_red_limit} ] ; then
|
||||
- ocf_log info "Drive ${DRIVE} ${DEVICE} too hot: ${1} C"
|
||||
- attrd_updater -n "#health-smart" -U "red" -d "${OCF_RESKEY_dampen}"
|
||||
- return 1
|
||||
- fi
|
||||
+ if [ $1 -gt ${upper_red_limit} ] ; then
|
||||
+ ocf_log info "Drive ${DRIVE} ${DEVICE} too hot: ${1} C"
|
||||
+ attrd_updater -n "#health-smart" -U "red" -d "${OCF_RESKEY_dampen}"
|
||||
+ return 1
|
||||
+ fi
|
||||
|
||||
- if [ $1 -lt ${lower_yellow_limit} ] ; then
|
||||
- ocf_log info "Drive ${DRIVE} ${DEVICE} quite cold: ${1} C"
|
||||
- attrd_updater -n "#health-smart" -U "yellow" -d "${OCF_RESKEY_dampen}"
|
||||
- return 1
|
||||
- fi
|
||||
+ if [ $1 -lt ${lower_yellow_limit} ] ; then
|
||||
+ ocf_log info "Drive ${DRIVE} ${DEVICE} quite cold: ${1} C"
|
||||
+ attrd_updater -n "#health-smart" -U "yellow" -d "${OCF_RESKEY_dampen}"
|
||||
+ return 1
|
||||
+ fi
|
||||
|
||||
- if [ $1 -gt ${upper_yellow_limit} ] ; then
|
||||
- ocf_log info "Drive ${DRIVE} ${DEVICE} quite hot: ${1} C"
|
||||
- attrd_updater -n "#health-smart" -U "yellow" -d "${OCF_RESKEY_dampen}"
|
||||
- return 1
|
||||
+ if [ $1 -gt ${upper_yellow_limit} ] ; then
|
||||
+ ocf_log info "Drive ${DRIVE} ${DEVICE} quite hot: ${1} C"
|
||||
+ attrd_updater -n "#health-smart" -U "yellow" -d "${OCF_RESKEY_dampen}"
|
||||
+ return 1
|
||||
+ fi
|
||||
fi
|
||||
}
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
From 7ad8f0c1375b4d18efc65ccf10d640a51b23828f Mon Sep 17 00:00:00 2001
|
||||
From: liupei <liupei@kylinos.cn>
|
||||
Date: Tue, 28 Nov 2023 19:29:51 +0800
|
||||
Subject: [PATCH] fix the validation function of input for IOWait
|
||||
|
||||
---
|
||||
agents/ocf/HealthIOWait.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/agents/ocf/HealthIOWait.in b/agents/ocf/HealthIOWait.in
|
||||
index ba7a17a..6bc568e 100644
|
||||
--- a/agents/ocf/HealthIOWait.in
|
||||
+++ b/agents/ocf/HealthIOWait.in
|
||||
@@ -181,7 +181,7 @@ meta-data) meta_data
|
||||
;;
|
||||
start) agent_start;;
|
||||
stop) agent_stop;;
|
||||
-monitor) agent_monitor;;
|
||||
+monitor) agent_validate && agent_monitor;;
|
||||
validate-all) agent_validate;;
|
||||
usage|help) agent_usage
|
||||
exit $OCF_SUCCESS
|
||||
--
|
||||
2.33.1.windows.1
|
||||
|
||||
Binary file not shown.
BIN
pacemaker-d0ef74d64.tar.gz
Normal file
BIN
pacemaker-d0ef74d64.tar.gz
Normal file
Binary file not shown.
@ -16,11 +16,11 @@
|
||||
## Upstream pacemaker version, and its package version (specversion
|
||||
## can be incremented to build packages reliably considered "newer"
|
||||
## than previously built packages with the same pcmkversion)
|
||||
%global pcmkversion 2.1.6
|
||||
%global specversion 12
|
||||
%global pcmkversion 2.1.7
|
||||
%global specversion 1
|
||||
|
||||
## Upstream commit (full commit ID, abbreviated commit ID, or tag) to build
|
||||
%global commit 6fdc9deea294bbad629b003c6ae036aaed8e3ee0
|
||||
%global commit d0ef74d6431339f2f5782ab9061fa31734f4869c
|
||||
|
||||
## Since git v2.11, the extent of abbreviation is autoscaled by default
|
||||
## (used to be constant of 7), so we need to convey it for non-tags, too.
|
||||
@ -150,20 +150,6 @@ Url: https://www.clusterlabs.org/
|
||||
Source0: https://codeload.github.com/%{github_owner}/%{name}/tar.gz/%{archive_github_url}
|
||||
Source1: https://codeload.github.com/%{github_owner}/%{nagios_name}/tar.gz/%{nagios_archive_github_url}
|
||||
|
||||
# https://github.com/ClusterLabs/pacemaker/pull/3177
|
||||
Patch0: 0001-Fix-glib-assertions.patch
|
||||
Patch1: 0001-Add-the-parameter-of-dampening-and-fix-attrd_updater.patch
|
||||
Patch2: 0001-Add-the-parameter-of-dampening-and-fix-attrd_updater-HealthIOWait.patch
|
||||
Patch3: Fix-libcrmcommon-wait-for-reply-from-appropriate-con.patch
|
||||
Patch4: Refactor-fencer-sleep-1s-between-reconnects.patch
|
||||
Patch5: Fix-the-validation-function-of-input.patch
|
||||
Patch6: Fix-a-bug-in-clone-resource-description-display.patch
|
||||
Patch7: Fix-controller-not-check-watchdog-fencing-status.patch
|
||||
Patch8: fix-the-validation-function-of-input-for-IOWait.patch
|
||||
Patch9: fix-HealthSMART-parameter-check.patch
|
||||
Patch10: Modify-HealthCPU-HealthIOWait-HealthSmart-about-dampen-reload-validate.patch
|
||||
# upstream commits
|
||||
|
||||
Requires: resource-agents
|
||||
Requires: %{pkgname_pcmk_libs} = %{version}-%{release}
|
||||
Requires: %{name}-cluster-libs = %{version}-%{release}
|
||||
@ -210,7 +196,7 @@ BuildRequires: pam-devel
|
||||
BuildRequires: %{pkgname_gettext} >= 0.18
|
||||
|
||||
# Required for "make check"
|
||||
BuildRequires: libcmocka-devel
|
||||
BuildRequires: libcmocka-devel >= 1.1.0
|
||||
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
|
||||
@ -502,13 +488,6 @@ find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f
|
||||
rm -f %{buildroot}/%{_sbindir}/fence_legacy
|
||||
rm -f %{buildroot}/%{_mandir}/man8/fence_legacy.*
|
||||
|
||||
# Byte-compile Python sources where suitable and the distro procedures known
|
||||
%if %{defined py_byte_compile}
|
||||
%{py_byte_compile %{python_path} %{buildroot}%{_datadir}/pacemaker/tests}
|
||||
%if !%{defined _python_bytecompile_extra}
|
||||
%{py_byte_compile %{python_path} %{buildroot}%{python_site}/cts}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%post
|
||||
%systemd_post pacemaker.service
|
||||
@ -738,7 +717,6 @@ exit 0
|
||||
%license licenses/CC-BY-SA-4.0
|
||||
|
||||
%files cts
|
||||
%{python_site}/cts
|
||||
%{python3_sitelib}/pacemaker/_cts/
|
||||
%{_datadir}/pacemaker/tests
|
||||
|
||||
@ -781,6 +759,9 @@ exit 0
|
||||
%license %{nagios_name}-%{nagios_hash}/COPYING
|
||||
|
||||
%changelog
|
||||
* Wed Feb 28 2024 bixiaoyan <bixiaoyan@kylinos.cn> - 2.1.7-1
|
||||
- Update to version 2.1.7
|
||||
|
||||
* Tue Dec 12 2023 liupei <liupei@kylinos.cn> - 2.1.6-12
|
||||
- Modify HealthCPU HealthIOWait HealthSmart about dampen, reload, and validate
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user