1506 lines
106 KiB
Diff
1506 lines
106 KiB
Diff
|
From 4fc4140d0c3daa3a8de32adaebf33462c9b3d581 Mon Sep 17 00:00:00 2001
|
||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||
|
Date: Thu, 26 Nov 2020 13:34:21 +0100
|
||
|
Subject: [PATCH 1/7] Refactor: move crm_admin_list() to pcmk__list_nodes() and
|
||
|
only print node name for -N -q
|
||
|
|
||
|
---
|
||
|
lib/pacemaker/pcmk_cluster_queries.c | 32 ++++++++++++++++++++++++----
|
||
|
lib/pacemaker/pcmk_output.c | 41 +++---------------------------------
|
||
|
2 files changed, 31 insertions(+), 42 deletions(-)
|
||
|
|
||
|
diff --git a/lib/pacemaker/pcmk_cluster_queries.c b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
index c705b7f..1d1e775 100644
|
||
|
--- a/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
+++ b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
@@ -395,7 +395,7 @@ int
|
||
|
pcmk__list_nodes(pcmk__output_t *out, gboolean BASH_EXPORT)
|
||
|
{
|
||
|
cib_t *the_cib = cib_new();
|
||
|
- xmlNode *output = NULL;
|
||
|
+ xmlNode *xml_node = NULL;
|
||
|
int rc;
|
||
|
|
||
|
if (the_cib == NULL) {
|
||
|
@@ -406,11 +406,35 @@ pcmk__list_nodes(pcmk__output_t *out, gboolean BASH_EXPORT)
|
||
|
return pcmk_legacy2rc(rc);
|
||
|
}
|
||
|
|
||
|
- rc = the_cib->cmds->query(the_cib, NULL, &output,
|
||
|
+ rc = the_cib->cmds->query(the_cib, NULL, &xml_node,
|
||
|
cib_scope_local | cib_sync_call);
|
||
|
if (rc == pcmk_ok) {
|
||
|
- out->message(out, "crmadmin-node-list", output, BASH_EXPORT);
|
||
|
- free_xml(output);
|
||
|
+ int found = 0;
|
||
|
+ xmlNode *node = NULL;
|
||
|
+ xmlNode *nodes = get_object_root(XML_CIB_TAG_NODES, xml_node);
|
||
|
+
|
||
|
+ out->begin_list(out, NULL, NULL, "nodes");
|
||
|
+
|
||
|
+ for (node = first_named_child(nodes, XML_CIB_TAG_NODE); node != NULL;
|
||
|
+ node = crm_next_same_xml(node)) {
|
||
|
+ const char *node_type = BASH_EXPORT ? NULL :
|
||
|
+ crm_element_value(node, XML_ATTR_TYPE);
|
||
|
+ out->message(out, "crmadmin-node", node_type,
|
||
|
+ crm_str(crm_element_value(node, XML_ATTR_UNAME)),
|
||
|
+ crm_str(crm_element_value(node, XML_ATTR_ID)),
|
||
|
+ BASH_EXPORT);
|
||
|
+
|
||
|
+ found++;
|
||
|
+ }
|
||
|
+ // @TODO List Pacemaker Remote nodes that don't have a <node> entry
|
||
|
+
|
||
|
+ out->end_list(out);
|
||
|
+
|
||
|
+ if (found == 0) {
|
||
|
+ out->info(out, "No nodes configured");
|
||
|
+ }
|
||
|
+
|
||
|
+ free_xml(xml_node);
|
||
|
}
|
||
|
the_cib->cmds->signoff(the_cib);
|
||
|
return pcmk_legacy2rc(rc);
|
||
|
diff --git a/lib/pacemaker/pcmk_output.c b/lib/pacemaker/pcmk_output.c
|
||
|
index bc4b91a..8f5e301 100644
|
||
|
--- a/lib/pacemaker/pcmk_output.c
|
||
|
+++ b/lib/pacemaker/pcmk_output.c
|
||
|
@@ -469,42 +469,6 @@ dc_xml(pcmk__output_t *out, va_list args)
|
||
|
return pcmk_rc_ok;
|
||
|
}
|
||
|
|
||
|
-
|
||
|
-PCMK__OUTPUT_ARGS("crmadmin-node-list", "xmlNodePtr", "gboolean")
|
||
|
-static int
|
||
|
-crmadmin_node_list(pcmk__output_t *out, va_list args)
|
||
|
-{
|
||
|
- xmlNodePtr xml_node = va_arg(args, xmlNodePtr);
|
||
|
- gboolean BASH_EXPORT = va_arg(args, gboolean);
|
||
|
-
|
||
|
- int found = 0;
|
||
|
- xmlNode *node = NULL;
|
||
|
- xmlNode *nodes = get_object_root(XML_CIB_TAG_NODES, xml_node);
|
||
|
-
|
||
|
- out->begin_list(out, NULL, NULL, "nodes");
|
||
|
-
|
||
|
- for (node = first_named_child(nodes, XML_CIB_TAG_NODE); node != NULL;
|
||
|
- node = crm_next_same_xml(node)) {
|
||
|
- const char *node_type = BASH_EXPORT ? NULL :
|
||
|
- crm_element_value(node, XML_ATTR_TYPE);
|
||
|
- out->message(out, "crmadmin-node", node_type,
|
||
|
- crm_str(crm_element_value(node, XML_ATTR_UNAME)),
|
||
|
- crm_str(crm_element_value(node, XML_ATTR_ID)),
|
||
|
- BASH_EXPORT);
|
||
|
-
|
||
|
- found++;
|
||
|
- }
|
||
|
- // @TODO List Pacemaker Remote nodes that don't have a <node> entry
|
||
|
-
|
||
|
- out->end_list(out);
|
||
|
-
|
||
|
- if (found == 0) {
|
||
|
- out->info(out, "No nodes configured");
|
||
|
- }
|
||
|
-
|
||
|
- return pcmk_rc_ok;
|
||
|
-}
|
||
|
-
|
||
|
PCMK__OUTPUT_ARGS("crmadmin-node", "const char *", "const char *", "const char *", "gboolean")
|
||
|
static int
|
||
|
crmadmin_node_text(pcmk__output_t *out, va_list args)
|
||
|
@@ -514,7 +478,9 @@ crmadmin_node_text(pcmk__output_t *out, va_list args)
|
||
|
const char *id = va_arg(args, const char *);
|
||
|
gboolean BASH_EXPORT = va_arg(args, gboolean);
|
||
|
|
||
|
- if (BASH_EXPORT) {
|
||
|
+ if (out->is_quiet(out)) {
|
||
|
+ out->info(out, "%s", crm_str(name));
|
||
|
+ } else if (BASH_EXPORT) {
|
||
|
out->info(out, "export %s=%s", crm_str(name), crm_str(id));
|
||
|
} else {
|
||
|
out->info(out, "%s node: %s (%s)", type ? type : "member",
|
||
|
@@ -657,7 +623,6 @@ static pcmk__message_entry_t fmt_functions[] = {
|
||
|
{ "pacemakerd-health", "xml", pacemakerd_health_xml },
|
||
|
{ "dc", "default", dc_text },
|
||
|
{ "dc", "xml", dc_xml },
|
||
|
- { "crmadmin-node-list", "default", crmadmin_node_list },
|
||
|
{ "crmadmin-node", "default", crmadmin_node_text },
|
||
|
{ "crmadmin-node", "xml", crmadmin_node_xml },
|
||
|
{ "digests", "default", digests_text },
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|
||
|
|
||
|
From ecc6d582fd18f774ab6c081c4d72a7913a0f419e Mon Sep 17 00:00:00 2001
|
||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||
|
Date: Fri, 4 Dec 2020 09:30:04 +0100
|
||
|
Subject: [PATCH 2/7] Feature/API: crmadmin/pcmk_list_nodes(): list
|
||
|
remote/guest nodes and add parameter/variable to choose which node type(s) to
|
||
|
list
|
||
|
|
||
|
---
|
||
|
include/crm/common/xml_internal.h | 18 +++++++
|
||
|
include/pacemaker.h | 6 +--
|
||
|
include/pcmki/pcmki_cluster_queries.h | 2 +-
|
||
|
lib/cluster/membership.c | 17 +------
|
||
|
lib/pacemaker/pcmk_cluster_queries.c | 89 ++++++++++++++++++++++++++++-------
|
||
|
tools/crmadmin.c | 9 +++-
|
||
|
6 files changed, 103 insertions(+), 38 deletions(-)
|
||
|
|
||
|
diff --git a/include/crm/common/xml_internal.h b/include/crm/common/xml_internal.h
|
||
|
index d8694ee..969a57d 100644
|
||
|
--- a/include/crm/common/xml_internal.h
|
||
|
+++ b/include/crm/common/xml_internal.h
|
||
|
@@ -123,6 +123,24 @@ do {
|
||
|
} \
|
||
|
} while (0)
|
||
|
|
||
|
+/* XML search strings for guest, remote and pacemaker_remote nodes */
|
||
|
+
|
||
|
+/* search string to find CIB resources entries for guest nodes */
|
||
|
+#define XPATH_GUEST_NODE_CONFIG \
|
||
|
+ "//" XML_TAG_CIB "//" XML_CIB_TAG_CONFIGURATION "//" XML_CIB_TAG_RESOURCE \
|
||
|
+ "//" XML_TAG_META_SETS "//" XML_CIB_TAG_NVPAIR \
|
||
|
+ "[@name='" XML_RSC_ATTR_REMOTE_NODE "']"
|
||
|
+
|
||
|
+/* search string to find CIB resources entries for remote nodes */
|
||
|
+#define XPATH_REMOTE_NODE_CONFIG \
|
||
|
+ "//" XML_TAG_CIB "//" XML_CIB_TAG_CONFIGURATION "//" XML_CIB_TAG_RESOURCE \
|
||
|
+ "[@type='remote'][@provider='pacemaker']"
|
||
|
+
|
||
|
+/* search string to find CIB node status entries for pacemaker_remote nodes */
|
||
|
+#define XPATH_REMOTE_NODE_STATUS \
|
||
|
+ "//" XML_TAG_CIB "//" XML_CIB_TAG_STATUS "//" XML_CIB_TAG_STATE \
|
||
|
+ "[@" XML_NODE_IS_REMOTE "='true']"
|
||
|
+
|
||
|
enum pcmk__xml_artefact_ns {
|
||
|
pcmk__xml_artefact_ns_legacy_rng = 1,
|
||
|
pcmk__xml_artefact_ns_legacy_xslt,
|
||
|
diff --git a/include/pacemaker.h b/include/pacemaker.h
|
||
|
index 51bf585..42d096f 100644
|
||
|
--- a/include/pacemaker.h
|
||
|
+++ b/include/pacemaker.h
|
||
|
@@ -73,8 +73,6 @@ int pcmk_resource_digests(xmlNodePtr *xml, pe_resource_t *rsc,
|
||
|
pe_node_t *node, GHashTable *overrides,
|
||
|
pe_working_set_t *data_set);
|
||
|
|
||
|
-#ifdef BUILD_PUBLIC_LIBPACEMAKER
|
||
|
-
|
||
|
/*!
|
||
|
* \brief Get nodes list
|
||
|
*
|
||
|
@@ -82,7 +80,9 @@ int pcmk_resource_digests(xmlNodePtr *xml, pe_resource_t *rsc,
|
||
|
*
|
||
|
* \return Standard Pacemaker return code
|
||
|
*/
|
||
|
-int pcmk_list_nodes(xmlNodePtr *xml);
|
||
|
+int pcmk_list_nodes(xmlNodePtr *xml, char *node_types);
|
||
|
+
|
||
|
+#ifdef BUILD_PUBLIC_LIBPACEMAKER
|
||
|
|
||
|
/*!
|
||
|
* \brief Perform a STONITH action.
|
||
|
diff --git a/include/pcmki/pcmki_cluster_queries.h b/include/pcmki/pcmki_cluster_queries.h
|
||
|
index eb3b51c..955eea3 100644
|
||
|
--- a/include/pcmki/pcmki_cluster_queries.h
|
||
|
+++ b/include/pcmki/pcmki_cluster_queries.h
|
||
|
@@ -8,7 +8,7 @@
|
||
|
int pcmk__controller_status(pcmk__output_t *out, char *dest_node, guint message_timeout_ms);
|
||
|
int pcmk__designated_controller(pcmk__output_t *out, guint message_timeout_ms);
|
||
|
int pcmk__pacemakerd_status(pcmk__output_t *out, char *ipc_name, guint message_timeout_ms);
|
||
|
-int pcmk__list_nodes(pcmk__output_t *out, gboolean BASH_EXPORT);
|
||
|
+int pcmk__list_nodes(pcmk__output_t *out, char *node_types, gboolean BASH_EXPORT);
|
||
|
|
||
|
// remove when parameters removed from tools/crmadmin.c
|
||
|
int pcmk__shutdown_controller(pcmk__output_t *out, char *dest_node);
|
||
|
diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c
|
||
|
index 8bf5764..5841f16 100644
|
||
|
--- a/lib/cluster/membership.c
|
||
|
+++ b/lib/cluster/membership.c
|
||
|
@@ -20,6 +20,7 @@
|
||
|
#include <string.h>
|
||
|
#include <glib.h>
|
||
|
#include <crm/common/ipc.h>
|
||
|
+#include <crm/common/xml_internal.h>
|
||
|
#include <crm/cluster/internal.h>
|
||
|
#include <crm/msg_xml.h>
|
||
|
#include <crm/stonith-ng.h>
|
||
|
@@ -235,22 +236,6 @@ is_dirty(gpointer key, gpointer value, gpointer user_data)
|
||
|
return pcmk_is_set(((crm_node_t*)value)->flags, crm_node_dirty);
|
||
|
}
|
||
|
|
||
|
-/* search string to find CIB resources entries for guest nodes */
|
||
|
-#define XPATH_GUEST_NODE_CONFIG \
|
||
|
- "//" XML_TAG_CIB "//" XML_CIB_TAG_CONFIGURATION "//" XML_CIB_TAG_RESOURCE \
|
||
|
- "//" XML_TAG_META_SETS "//" XML_CIB_TAG_NVPAIR \
|
||
|
- "[@name='" XML_RSC_ATTR_REMOTE_NODE "']"
|
||
|
-
|
||
|
-/* search string to find CIB resources entries for remote nodes */
|
||
|
-#define XPATH_REMOTE_NODE_CONFIG \
|
||
|
- "//" XML_TAG_CIB "//" XML_CIB_TAG_CONFIGURATION "//" XML_CIB_TAG_RESOURCE \
|
||
|
- "[@type='remote'][@provider='pacemaker']"
|
||
|
-
|
||
|
-/* search string to find CIB node status entries for pacemaker_remote nodes */
|
||
|
-#define XPATH_REMOTE_NODE_STATUS \
|
||
|
- "//" XML_TAG_CIB "//" XML_CIB_TAG_STATUS "//" XML_CIB_TAG_STATE \
|
||
|
- "[@" XML_NODE_IS_REMOTE "='true']"
|
||
|
-
|
||
|
/*!
|
||
|
* \brief Repopulate the remote peer cache based on CIB XML
|
||
|
*
|
||
|
diff --git a/lib/pacemaker/pcmk_cluster_queries.c b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
index 1d1e775..fc5cfc4 100644
|
||
|
--- a/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
+++ b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
@@ -9,6 +9,7 @@
|
||
|
#include <crm/msg_xml.h>
|
||
|
#include <crm/common/output_internal.h>
|
||
|
#include <crm/common/xml.h>
|
||
|
+#include <crm/common/xml_internal.h>
|
||
|
#include <crm/common/iso8601.h>
|
||
|
#include <crm/common/ipc_controld.h>
|
||
|
#include <crm/common/ipc_pacemakerd.h>
|
||
|
@@ -390,9 +391,33 @@ pcmk_pacemakerd_status(xmlNodePtr *xml, char *ipc_name, unsigned int message_tim
|
||
|
return rc;
|
||
|
}
|
||
|
|
||
|
+/* user data for looping through remote node xpath searches */
|
||
|
+struct node_data {
|
||
|
+ pcmk__output_t *out;
|
||
|
+ int found;
|
||
|
+ const char *field; /* XML attribute to check for node name */
|
||
|
+ const char *type;
|
||
|
+ gboolean BASH_EXPORT;
|
||
|
+};
|
||
|
+
|
||
|
+static void
|
||
|
+remote_node_print_helper(xmlNode *result, void *user_data)
|
||
|
+{
|
||
|
+ struct node_data *data = user_data;
|
||
|
+ pcmk__output_t *out = data->out;
|
||
|
+ const char *remote = crm_element_value(result, data->field);
|
||
|
+
|
||
|
+ // node name and node id are the same for remote/guest nodes
|
||
|
+ out->message(out, "crmadmin-node", data->type,
|
||
|
+ remote,
|
||
|
+ remote,
|
||
|
+ data->BASH_EXPORT);
|
||
|
+ data->found++;
|
||
|
+}
|
||
|
+
|
||
|
// \return Standard Pacemaker return code
|
||
|
int
|
||
|
-pcmk__list_nodes(pcmk__output_t *out, gboolean BASH_EXPORT)
|
||
|
+pcmk__list_nodes(pcmk__output_t *out, char *node_types, gboolean BASH_EXPORT)
|
||
|
{
|
||
|
cib_t *the_cib = cib_new();
|
||
|
xmlNode *xml_node = NULL;
|
||
|
@@ -409,28 +434,60 @@ pcmk__list_nodes(pcmk__output_t *out, gboolean BASH_EXPORT)
|
||
|
rc = the_cib->cmds->query(the_cib, NULL, &xml_node,
|
||
|
cib_scope_local | cib_sync_call);
|
||
|
if (rc == pcmk_ok) {
|
||
|
- int found = 0;
|
||
|
xmlNode *node = NULL;
|
||
|
xmlNode *nodes = get_object_root(XML_CIB_TAG_NODES, xml_node);
|
||
|
+ struct node_data data = {
|
||
|
+ .out = out,
|
||
|
+ .found = 0,
|
||
|
+ .BASH_EXPORT = BASH_EXPORT
|
||
|
+ };
|
||
|
|
||
|
out->begin_list(out, NULL, NULL, "nodes");
|
||
|
|
||
|
- for (node = first_named_child(nodes, XML_CIB_TAG_NODE); node != NULL;
|
||
|
- node = crm_next_same_xml(node)) {
|
||
|
- const char *node_type = BASH_EXPORT ? NULL :
|
||
|
- crm_element_value(node, XML_ATTR_TYPE);
|
||
|
- out->message(out, "crmadmin-node", node_type,
|
||
|
- crm_str(crm_element_value(node, XML_ATTR_UNAME)),
|
||
|
- crm_str(crm_element_value(node, XML_ATTR_ID)),
|
||
|
- BASH_EXPORT);
|
||
|
+ if (!pcmk__str_empty(node_types) && strstr(node_types, "all")) {
|
||
|
+ node_types = NULL;
|
||
|
+ }
|
||
|
+
|
||
|
+ if (pcmk__str_empty(node_types) || strstr(node_types, "member")) {
|
||
|
+ for (node = first_named_child(nodes, XML_CIB_TAG_NODE); node != NULL;
|
||
|
+ node = crm_next_same_xml(node)) {
|
||
|
+ const char *node_type = crm_element_value(node, XML_ATTR_TYPE);
|
||
|
+ //if (node_type == NULL || !strcmp(node_type, "member")) {
|
||
|
+ if (node_type == NULL) {
|
||
|
+ out->message(out, "crmadmin-node", node_type,
|
||
|
+ crm_str(crm_element_value(node, XML_ATTR_UNAME)),
|
||
|
+ crm_str(crm_element_value(node, XML_ATTR_ID)),
|
||
|
+ BASH_EXPORT);
|
||
|
+ data.found++;
|
||
|
+ }
|
||
|
+
|
||
|
+ }
|
||
|
+ }
|
||
|
+
|
||
|
+ if (pcmk__str_empty(node_types) || strstr(node_types, "pacemaker_remote")) {
|
||
|
+ data.field = "id";
|
||
|
+ data.type = "pacemaker_remote";
|
||
|
+ crm_foreach_xpath_result(xml_node, XPATH_REMOTE_NODE_STATUS,
|
||
|
+ remote_node_print_helper, &data);
|
||
|
+ }
|
||
|
+
|
||
|
+ if (pcmk__str_empty(node_types) || strstr(node_types, "guest")) {
|
||
|
+ data.field = "value";
|
||
|
+ data.type = "guest";
|
||
|
+ crm_foreach_xpath_result(xml_node, XPATH_GUEST_NODE_CONFIG,
|
||
|
+ remote_node_print_helper, &data);
|
||
|
+ }
|
||
|
|
||
|
- found++;
|
||
|
+ if (pcmk__str_empty(node_types) || !pcmk__strcmp(node_types, ",|^remote", pcmk__str_regex)) {
|
||
|
+ data.field = "id";
|
||
|
+ data.type = "remote";
|
||
|
+ crm_foreach_xpath_result(xml_node, XPATH_REMOTE_NODE_CONFIG,
|
||
|
+ remote_node_print_helper, &data);
|
||
|
}
|
||
|
- // @TODO List Pacemaker Remote nodes that don't have a <node> entry
|
||
|
|
||
|
out->end_list(out);
|
||
|
|
||
|
- if (found == 0) {
|
||
|
+ if (data.found == 0) {
|
||
|
out->info(out, "No nodes configured");
|
||
|
}
|
||
|
|
||
|
@@ -440,9 +497,8 @@ pcmk__list_nodes(pcmk__output_t *out, gboolean BASH_EXPORT)
|
||
|
return pcmk_legacy2rc(rc);
|
||
|
}
|
||
|
|
||
|
-#ifdef BUILD_PUBLIC_LIBPACEMAKER
|
||
|
int
|
||
|
-pcmk_list_nodes(xmlNodePtr *xml)
|
||
|
+pcmk_list_nodes(xmlNodePtr *xml, char *node_types)
|
||
|
{
|
||
|
pcmk__output_t *out = NULL;
|
||
|
int rc = pcmk_rc_ok;
|
||
|
@@ -454,11 +510,10 @@ pcmk_list_nodes(xmlNodePtr *xml)
|
||
|
|
||
|
pcmk__register_lib_messages(out);
|
||
|
|
||
|
- rc = pcmk__list_nodes(out, FALSE);
|
||
|
+ rc = pcmk__list_nodes(out, node_types, FALSE);
|
||
|
pcmk__out_epilogue(out, xml, rc);
|
||
|
return rc;
|
||
|
}
|
||
|
-#endif
|
||
|
|
||
|
// remove when parameters removed from tools/crmadmin.c
|
||
|
int
|
||
|
diff --git a/tools/crmadmin.c b/tools/crmadmin.c
|
||
|
index 2d9d663..3f31c69 100644
|
||
|
--- a/tools/crmadmin.c
|
||
|
+++ b/tools/crmadmin.c
|
||
|
@@ -38,10 +38,12 @@ struct {
|
||
|
gint timeout;
|
||
|
char *dest_node;
|
||
|
char *ipc_name;
|
||
|
+ char *node_types;
|
||
|
gboolean BASH_EXPORT;
|
||
|
} options = {
|
||
|
.dest_node = NULL,
|
||
|
.ipc_name = NULL,
|
||
|
+ .node_types = NULL,
|
||
|
.BASH_EXPORT = FALSE
|
||
|
};
|
||
|
|
||
|
@@ -93,6 +95,11 @@ static GOptionEntry additional_options[] = {
|
||
|
"\n operation failed",
|
||
|
NULL
|
||
|
},
|
||
|
+ { "node-types", 'T', 0, G_OPTION_ARG_STRING, &options.node_types,
|
||
|
+ "Node types to list (available options: all, member, pacemaker_remote,"
|
||
|
+ "\n guest, remote) (valid with -N/--nodes)",
|
||
|
+ NULL
|
||
|
+ },
|
||
|
{ "bash-export", 'B', 0, G_OPTION_ARG_NONE, &options.BASH_EXPORT,
|
||
|
"Display nodes as shell commands of the form 'export uname=uuid'"
|
||
|
"\n (valid with -N/--nodes)",
|
||
|
@@ -264,7 +271,7 @@ main(int argc, char **argv)
|
||
|
rc = pcmk__pacemakerd_status(out, options.ipc_name, options.timeout);
|
||
|
break;
|
||
|
case cmd_list_nodes:
|
||
|
- rc = pcmk__list_nodes(out, options.BASH_EXPORT);
|
||
|
+ rc = pcmk__list_nodes(out, options.node_types, options.BASH_EXPORT);
|
||
|
break;
|
||
|
case cmd_whois_dc:
|
||
|
rc = pcmk__designated_controller(out, options.timeout);
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|
||
|
|
||
|
From f25d4e7aa9de55bb296087e6cbaf1654d01d6b0d Mon Sep 17 00:00:00 2001
|
||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||
|
Date: Thu, 10 Dec 2020 13:58:31 +0100
|
||
|
Subject: [PATCH 3/7] Refactor: use PCMK__XP_ prefix instead of XPATH_ for XML
|
||
|
constants
|
||
|
|
||
|
---
|
||
|
include/crm/common/xml_internal.h | 6 +++---
|
||
|
lib/cluster/membership.c | 12 ++++++------
|
||
|
lib/pacemaker/pcmk_cluster_queries.c | 6 +++---
|
||
|
3 files changed, 12 insertions(+), 12 deletions(-)
|
||
|
|
||
|
diff --git a/include/crm/common/xml_internal.h b/include/crm/common/xml_internal.h
|
||
|
index 969a57d..4501bee 100644
|
||
|
--- a/include/crm/common/xml_internal.h
|
||
|
+++ b/include/crm/common/xml_internal.h
|
||
|
@@ -126,18 +126,18 @@ do {
|
||
|
/* XML search strings for guest, remote and pacemaker_remote nodes */
|
||
|
|
||
|
/* search string to find CIB resources entries for guest nodes */
|
||
|
-#define XPATH_GUEST_NODE_CONFIG \
|
||
|
+#define PCMK__XP_GUEST_NODE_CONFIG \
|
||
|
"//" XML_TAG_CIB "//" XML_CIB_TAG_CONFIGURATION "//" XML_CIB_TAG_RESOURCE \
|
||
|
"//" XML_TAG_META_SETS "//" XML_CIB_TAG_NVPAIR \
|
||
|
"[@name='" XML_RSC_ATTR_REMOTE_NODE "']"
|
||
|
|
||
|
/* search string to find CIB resources entries for remote nodes */
|
||
|
-#define XPATH_REMOTE_NODE_CONFIG \
|
||
|
+#define PCMK__XP_REMOTE_NODE_CONFIG \
|
||
|
"//" XML_TAG_CIB "//" XML_CIB_TAG_CONFIGURATION "//" XML_CIB_TAG_RESOURCE \
|
||
|
"[@type='remote'][@provider='pacemaker']"
|
||
|
|
||
|
/* search string to find CIB node status entries for pacemaker_remote nodes */
|
||
|
-#define XPATH_REMOTE_NODE_STATUS \
|
||
|
+#define PCMK__XP_REMOTE_NODE_STATUS \
|
||
|
"//" XML_TAG_CIB "//" XML_CIB_TAG_STATUS "//" XML_CIB_TAG_STATE \
|
||
|
"[@" XML_NODE_IS_REMOTE "='true']"
|
||
|
|
||
|
diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c
|
||
|
index 5841f16..d70091e 100644
|
||
|
--- a/lib/cluster/membership.c
|
||
|
+++ b/lib/cluster/membership.c
|
||
|
@@ -257,7 +257,7 @@ crm_remote_peer_cache_refresh(xmlNode *cib)
|
||
|
/* Look for guest nodes and remote nodes in the status section */
|
||
|
data.field = "id";
|
||
|
data.has_state = TRUE;
|
||
|
- crm_foreach_xpath_result(cib, XPATH_REMOTE_NODE_STATUS,
|
||
|
+ crm_foreach_xpath_result(cib, PCMK__XP_REMOTE_NODE_STATUS,
|
||
|
remote_cache_refresh_helper, &data);
|
||
|
|
||
|
/* Look for guest nodes and remote nodes in the configuration section,
|
||
|
@@ -268,11 +268,11 @@ crm_remote_peer_cache_refresh(xmlNode *cib)
|
||
|
*/
|
||
|
data.field = "value";
|
||
|
data.has_state = FALSE;
|
||
|
- crm_foreach_xpath_result(cib, XPATH_GUEST_NODE_CONFIG,
|
||
|
+ crm_foreach_xpath_result(cib, PCMK__XP_GUEST_NODE_CONFIG,
|
||
|
remote_cache_refresh_helper, &data);
|
||
|
data.field = "id";
|
||
|
data.has_state = FALSE;
|
||
|
- crm_foreach_xpath_result(cib, XPATH_REMOTE_NODE_CONFIG,
|
||
|
+ crm_foreach_xpath_result(cib, PCMK__XP_REMOTE_NODE_CONFIG,
|
||
|
remote_cache_refresh_helper, &data);
|
||
|
|
||
|
/* Remove all old cache entries that weren't seen in the CIB */
|
||
|
@@ -1232,7 +1232,7 @@ known_node_cache_refresh_helper(xmlNode *xml_node, void *user_data)
|
||
|
|
||
|
}
|
||
|
|
||
|
-#define XPATH_MEMBER_NODE_CONFIG \
|
||
|
+#define PCMK__XP_MEMBER_NODE_CONFIG \
|
||
|
"//" XML_TAG_CIB "/" XML_CIB_TAG_CONFIGURATION "/" XML_CIB_TAG_NODES \
|
||
|
"/" XML_CIB_TAG_NODE "[not(@type) or @type='member']"
|
||
|
|
||
|
@@ -1243,7 +1243,7 @@ crm_known_peer_cache_refresh(xmlNode *cib)
|
||
|
|
||
|
g_hash_table_foreach(crm_known_peer_cache, mark_dirty, NULL);
|
||
|
|
||
|
- crm_foreach_xpath_result(cib, XPATH_MEMBER_NODE_CONFIG,
|
||
|
+ crm_foreach_xpath_result(cib, PCMK__XP_MEMBER_NODE_CONFIG,
|
||
|
known_peer_cache_refresh_helper, NULL);
|
||
|
|
||
|
/* Remove all old cache entries that weren't seen in the CIB */
|
||
|
diff --git a/lib/pacemaker/pcmk_cluster_queries.c b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
index fc5cfc4..e512f32 100644
|
||
|
--- a/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
+++ b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
@@ -467,21 +467,21 @@ pcmk__list_nodes(pcmk__output_t *out, char *node_types, gboolean BASH_EXPORT)
|
||
|
if (pcmk__str_empty(node_types) || strstr(node_types, "pacemaker_remote")) {
|
||
|
data.field = "id";
|
||
|
data.type = "pacemaker_remote";
|
||
|
- crm_foreach_xpath_result(xml_node, XPATH_REMOTE_NODE_STATUS,
|
||
|
+ crm_foreach_xpath_result(xml_node, PCMK__XP_REMOTE_NODE_STATUS,
|
||
|
remote_node_print_helper, &data);
|
||
|
}
|
||
|
|
||
|
if (pcmk__str_empty(node_types) || strstr(node_types, "guest")) {
|
||
|
data.field = "value";
|
||
|
data.type = "guest";
|
||
|
- crm_foreach_xpath_result(xml_node, XPATH_GUEST_NODE_CONFIG,
|
||
|
+ crm_foreach_xpath_result(xml_node, PCMK__XP_GUEST_NODE_CONFIG,
|
||
|
remote_node_print_helper, &data);
|
||
|
}
|
||
|
|
||
|
if (pcmk__str_empty(node_types) || !pcmk__strcmp(node_types, ",|^remote", pcmk__str_regex)) {
|
||
|
data.field = "id";
|
||
|
data.type = "remote";
|
||
|
- crm_foreach_xpath_result(xml_node, XPATH_REMOTE_NODE_CONFIG,
|
||
|
+ crm_foreach_xpath_result(xml_node, PCMK__XP_REMOTE_NODE_CONFIG,
|
||
|
remote_node_print_helper, &data);
|
||
|
}
|
||
|
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|
||
|
|
||
|
From 225d5fabedb1319245a2a3e661df2252e60aca1a Mon Sep 17 00:00:00 2001
|
||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||
|
Date: Fri, 22 Jan 2021 16:34:39 +0100
|
||
|
Subject: [PATCH 4/7] Fix: crmadmin: use cluster instead of member term and
|
||
|
remove pacemaker_remote node type
|
||
|
|
||
|
---
|
||
|
include/pacemaker.h | 1 +
|
||
|
lib/cluster/membership.c | 2 +-
|
||
|
lib/pacemaker/pcmk_cluster_queries.c | 10 +---------
|
||
|
lib/pacemaker/pcmk_output.c | 4 ++--
|
||
|
tools/crmadmin.c | 4 ++--
|
||
|
5 files changed, 7 insertions(+), 14 deletions(-)
|
||
|
|
||
|
diff --git a/include/pacemaker.h b/include/pacemaker.h
|
||
|
index 42d096f..a6a9d13 100644
|
||
|
--- a/include/pacemaker.h
|
||
|
+++ b/include/pacemaker.h
|
||
|
@@ -77,6 +77,7 @@ int pcmk_resource_digests(xmlNodePtr *xml, pe_resource_t *rsc,
|
||
|
* \brief Get nodes list
|
||
|
*
|
||
|
* \param[in,out] xml The destination for the result, as an XML tree.
|
||
|
+ * \param[in] node_types Node type(s) to return (default: all)
|
||
|
*
|
||
|
* \return Standard Pacemaker return code
|
||
|
*/
|
||
|
diff --git a/lib/pacemaker/pcmk_cluster_queries.c b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
index e512f32..9f19915 100644
|
||
|
--- a/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
+++ b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
@@ -448,11 +448,10 @@ pcmk__list_nodes(pcmk__output_t *out, char *node_types, gboolean BASH_EXPORT)
|
||
|
node_types = NULL;
|
||
|
}
|
||
|
|
||
|
- if (pcmk__str_empty(node_types) || strstr(node_types, "member")) {
|
||
|
+ if (pcmk__str_empty(node_types) || strstr(node_types, "cluster")) {
|
||
|
for (node = first_named_child(nodes, XML_CIB_TAG_NODE); node != NULL;
|
||
|
node = crm_next_same_xml(node)) {
|
||
|
const char *node_type = crm_element_value(node, XML_ATTR_TYPE);
|
||
|
- //if (node_type == NULL || !strcmp(node_type, "member")) {
|
||
|
if (node_type == NULL) {
|
||
|
out->message(out, "crmadmin-node", node_type,
|
||
|
crm_str(crm_element_value(node, XML_ATTR_UNAME)),
|
||
|
@@ -464,13 +463,6 @@ pcmk__list_nodes(pcmk__output_t *out, char *node_types, gboolean BASH_EXPORT)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
- if (pcmk__str_empty(node_types) || strstr(node_types, "pacemaker_remote")) {
|
||
|
- data.field = "id";
|
||
|
- data.type = "pacemaker_remote";
|
||
|
- crm_foreach_xpath_result(xml_node, PCMK__XP_REMOTE_NODE_STATUS,
|
||
|
- remote_node_print_helper, &data);
|
||
|
- }
|
||
|
-
|
||
|
if (pcmk__str_empty(node_types) || strstr(node_types, "guest")) {
|
||
|
data.field = "value";
|
||
|
data.type = "guest";
|
||
|
diff --git a/lib/pacemaker/pcmk_output.c b/lib/pacemaker/pcmk_output.c
|
||
|
index 8f5e301..655b723 100644
|
||
|
--- a/lib/pacemaker/pcmk_output.c
|
||
|
+++ b/lib/pacemaker/pcmk_output.c
|
||
|
@@ -483,7 +483,7 @@ crmadmin_node_text(pcmk__output_t *out, va_list args)
|
||
|
} else if (BASH_EXPORT) {
|
||
|
out->info(out, "export %s=%s", crm_str(name), crm_str(id));
|
||
|
} else {
|
||
|
- out->info(out, "%s node: %s (%s)", type ? type : "member",
|
||
|
+ out->info(out, "%s node: %s (%s)", type ? type : "cluster",
|
||
|
crm_str(name), crm_str(id));
|
||
|
}
|
||
|
|
||
|
@@ -499,7 +499,7 @@ crmadmin_node_xml(pcmk__output_t *out, va_list args)
|
||
|
const char *id = va_arg(args, const char *);
|
||
|
|
||
|
pcmk__output_create_xml_node(out, "node",
|
||
|
- "type", type ? type : "member",
|
||
|
+ "type", type ? type : "cluster",
|
||
|
"name", crm_str(name),
|
||
|
"id", crm_str(id),
|
||
|
NULL);
|
||
|
diff --git a/tools/crmadmin.c b/tools/crmadmin.c
|
||
|
index 3f31c69..d699786 100644
|
||
|
--- a/tools/crmadmin.c
|
||
|
+++ b/tools/crmadmin.c
|
||
|
@@ -96,8 +96,8 @@ static GOptionEntry additional_options[] = {
|
||
|
NULL
|
||
|
},
|
||
|
{ "node-types", 'T', 0, G_OPTION_ARG_STRING, &options.node_types,
|
||
|
- "Node types to list (available options: all, member, pacemaker_remote,"
|
||
|
- "\n guest, remote) (valid with -N/--nodes)",
|
||
|
+ "Node types to list (available options: all, cluster, guest, remote)"
|
||
|
+ "\n (valid with -N/--nodes)",
|
||
|
NULL
|
||
|
},
|
||
|
{ "bash-export", 'B', 0, G_OPTION_ARG_NONE, &options.BASH_EXPORT,
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|
||
|
|
||
|
From ceacef32c70d1760a4dd89c00134373d42457ea2 Mon Sep 17 00:00:00 2001
|
||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||
|
Date: Mon, 25 Jan 2021 16:52:00 +0100
|
||
|
Subject: [PATCH 5/7] Refactor: crmadmin/pcmk__list_nodes(): use
|
||
|
crm_foreach_xpath_result() for all types of nodes
|
||
|
|
||
|
---
|
||
|
include/crm/common/xml_internal.h | 5 +++++
|
||
|
lib/cluster/membership.c | 4 ----
|
||
|
lib/pacemaker/pcmk_cluster_queries.c | 25 ++++++++-----------------
|
||
|
3 files changed, 13 insertions(+), 21 deletions(-)
|
||
|
|
||
|
diff --git a/include/crm/common/xml_internal.h b/include/crm/common/xml_internal.h
|
||
|
index 4501bee..2193b50 100644
|
||
|
--- a/include/crm/common/xml_internal.h
|
||
|
+++ b/include/crm/common/xml_internal.h
|
||
|
@@ -125,6 +125,11 @@ do {
|
||
|
|
||
|
/* XML search strings for guest, remote and pacemaker_remote nodes */
|
||
|
|
||
|
+/* search string to find CIB resources entries for cluster nodes */
|
||
|
+#define PCMK__XP_MEMBER_NODE_CONFIG \
|
||
|
+ "//" XML_TAG_CIB "/" XML_CIB_TAG_CONFIGURATION "/" XML_CIB_TAG_NODES \
|
||
|
+ "/" XML_CIB_TAG_NODE "[not(@type) or @type='member']"
|
||
|
+
|
||
|
/* search string to find CIB resources entries for guest nodes */
|
||
|
#define PCMK__XP_GUEST_NODE_CONFIG \
|
||
|
"//" XML_TAG_CIB "//" XML_CIB_TAG_CONFIGURATION "//" XML_CIB_TAG_RESOURCE \
|
||
|
diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c
|
||
|
index 3417836..5d042e2 100644
|
||
|
--- a/lib/cluster/membership.c
|
||
|
+++ b/lib/cluster/membership.c
|
||
|
@@ -1232,10 +1232,6 @@ known_node_cache_refresh_helper(xmlNode *xml_node, void *user_data)
|
||
|
|
||
|
}
|
||
|
|
||
|
-#define PCMK__XP_MEMBER_NODE_CONFIG \
|
||
|
- "//" XML_TAG_CIB "/" XML_CIB_TAG_CONFIGURATION "/" XML_CIB_TAG_NODES \
|
||
|
- "/" XML_CIB_TAG_NODE "[not(@type) or @type='member']"
|
||
|
-
|
||
|
static void
|
||
|
crm_known_peer_cache_refresh(xmlNode *cib)
|
||
|
{
|
||
|
diff --git a/lib/pacemaker/pcmk_cluster_queries.c b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
index 9f19915..6e6acda 100644
|
||
|
--- a/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
+++ b/lib/pacemaker/pcmk_cluster_queries.c
|
||
|
@@ -405,12 +405,13 @@ remote_node_print_helper(xmlNode *result, void *user_data)
|
||
|
{
|
||
|
struct node_data *data = user_data;
|
||
|
pcmk__output_t *out = data->out;
|
||
|
- const char *remote = crm_element_value(result, data->field);
|
||
|
+ const char *name = crm_element_value(result, XML_ATTR_UNAME);
|
||
|
+ const char *id = crm_element_value(result, data->field);
|
||
|
|
||
|
// node name and node id are the same for remote/guest nodes
|
||
|
out->message(out, "crmadmin-node", data->type,
|
||
|
- remote,
|
||
|
- remote,
|
||
|
+ name ? name : id,
|
||
|
+ id,
|
||
|
data->BASH_EXPORT);
|
||
|
data->found++;
|
||
|
}
|
||
|
@@ -434,8 +435,6 @@ pcmk__list_nodes(pcmk__output_t *out, char *node_types, gboolean BASH_EXPORT)
|
||
|
rc = the_cib->cmds->query(the_cib, NULL, &xml_node,
|
||
|
cib_scope_local | cib_sync_call);
|
||
|
if (rc == pcmk_ok) {
|
||
|
- xmlNode *node = NULL;
|
||
|
- xmlNode *nodes = get_object_root(XML_CIB_TAG_NODES, xml_node);
|
||
|
struct node_data data = {
|
||
|
.out = out,
|
||
|
.found = 0,
|
||
|
@@ -449,18 +448,10 @@ pcmk__list_nodes(pcmk__output_t *out, char *node_types, gboolean BASH_EXPORT)
|
||
|
}
|
||
|
|
||
|
if (pcmk__str_empty(node_types) || strstr(node_types, "cluster")) {
|
||
|
- for (node = first_named_child(nodes, XML_CIB_TAG_NODE); node != NULL;
|
||
|
- node = crm_next_same_xml(node)) {
|
||
|
- const char *node_type = crm_element_value(node, XML_ATTR_TYPE);
|
||
|
- if (node_type == NULL) {
|
||
|
- out->message(out, "crmadmin-node", node_type,
|
||
|
- crm_str(crm_element_value(node, XML_ATTR_UNAME)),
|
||
|
- crm_str(crm_element_value(node, XML_ATTR_ID)),
|
||
|
- BASH_EXPORT);
|
||
|
- data.found++;
|
||
|
- }
|
||
|
-
|
||
|
- }
|
||
|
+ data.field = "id";
|
||
|
+ data.type = "cluster";
|
||
|
+ crm_foreach_xpath_result(xml_node, PCMK__XP_MEMBER_NODE_CONFIG,
|
||
|
+ remote_node_print_helper, &data);
|
||
|
}
|
||
|
|
||
|
if (pcmk__str_empty(node_types) || strstr(node_types, "guest")) {
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|
||
|
|
||
|
From a56ce0cf463798ac8d7ff945dda3be019cb9297d Mon Sep 17 00:00:00 2001
|
||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||
|
Date: Tue, 26 Jan 2021 11:03:10 +0100
|
||
|
Subject: [PATCH 6/7] Refactor: crmadmin: move new -T functionality to -N
|
||
|
parameter
|
||
|
|
||
|
---
|
||
|
include/crm/crm.h | 2 +-
|
||
|
tools/crmadmin.c | 30 ++++++++++++------------------
|
||
|
2 files changed, 13 insertions(+), 19 deletions(-)
|
||
|
|
||
|
diff --git a/include/crm/crm.h b/include/crm/crm.h
|
||
|
index 3f22c4b..09643c2 100644
|
||
|
--- a/include/crm/crm.h
|
||
|
+++ b/include/crm/crm.h
|
||
|
@@ -51,7 +51,7 @@ extern "C" {
|
||
|
* >=3.0.13: Fail counts include operation name and interval
|
||
|
* >=3.2.0: DC supports PCMK_LRM_OP_INVALID and PCMK_LRM_OP_NOT_CONNECTED
|
||
|
*/
|
||
|
-# define CRM_FEATURE_SET "3.7.0"
|
||
|
+# define CRM_FEATURE_SET "3.7.1"
|
||
|
|
||
|
# define EOS '\0'
|
||
|
# define DIMOF(a) ((int) (sizeof(a)/sizeof(a[0])) )
|
||
|
diff --git a/tools/crmadmin.c b/tools/crmadmin.c
|
||
|
index d699786..9c280aa 100644
|
||
|
--- a/tools/crmadmin.c
|
||
|
+++ b/tools/crmadmin.c
|
||
|
@@ -36,14 +36,12 @@ static enum {
|
||
|
struct {
|
||
|
gboolean health;
|
||
|
gint timeout;
|
||
|
- char *dest_node;
|
||
|
+ char *optarg;
|
||
|
char *ipc_name;
|
||
|
- char *node_types;
|
||
|
gboolean BASH_EXPORT;
|
||
|
} options = {
|
||
|
- .dest_node = NULL,
|
||
|
+ .optarg = NULL,
|
||
|
.ipc_name = NULL,
|
||
|
- .node_types = NULL,
|
||
|
.BASH_EXPORT = FALSE
|
||
|
};
|
||
|
|
||
|
@@ -69,9 +67,10 @@ static GOptionEntry command_options[] = {
|
||
|
"\n node to examine the logs.",
|
||
|
NULL
|
||
|
},
|
||
|
- { "nodes", 'N', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, command_cb,
|
||
|
- "Display the uname of all member nodes",
|
||
|
- NULL
|
||
|
+ { "nodes", 'N', G_OPTION_FLAG_OPTIONAL_ARG, G_OPTION_ARG_CALLBACK, command_cb,
|
||
|
+ "Display the uname of all member nodes [optionally filtered by type (comma-separated)]"
|
||
|
+ "\n Types: all (default), cluster, guest, remote",
|
||
|
+ "TYPE"
|
||
|
},
|
||
|
{ "election", 'E', G_OPTION_FLAG_HIDDEN|G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, command_cb,
|
||
|
"(Advanced) Start an election for the cluster co-ordinator",
|
||
|
@@ -95,11 +94,6 @@ static GOptionEntry additional_options[] = {
|
||
|
"\n operation failed",
|
||
|
NULL
|
||
|
},
|
||
|
- { "node-types", 'T', 0, G_OPTION_ARG_STRING, &options.node_types,
|
||
|
- "Node types to list (available options: all, cluster, guest, remote)"
|
||
|
- "\n (valid with -N/--nodes)",
|
||
|
- NULL
|
||
|
- },
|
||
|
{ "bash-export", 'B', 0, G_OPTION_ARG_NONE, &options.BASH_EXPORT,
|
||
|
"Display nodes as shell commands of the form 'export uname=uuid'"
|
||
|
"\n (valid with -N/--nodes)",
|
||
|
@@ -142,10 +136,10 @@ command_cb(const gchar *option_name, const gchar *optarg, gpointer data, GError
|
||
|
}
|
||
|
|
||
|
if (optarg) {
|
||
|
- if (options.dest_node != NULL) {
|
||
|
- free(options.dest_node);
|
||
|
+ if (options.optarg != NULL) {
|
||
|
+ free(options.optarg);
|
||
|
}
|
||
|
- options.dest_node = strdup(optarg);
|
||
|
+ options.optarg = strdup(optarg);
|
||
|
}
|
||
|
|
||
|
return TRUE;
|
||
|
@@ -265,19 +259,19 @@ main(int argc, char **argv)
|
||
|
|
||
|
switch (command) {
|
||
|
case cmd_health:
|
||
|
- rc = pcmk__controller_status(out, options.dest_node, options.timeout);
|
||
|
+ rc = pcmk__controller_status(out, options.optarg, options.timeout);
|
||
|
break;
|
||
|
case cmd_pacemakerd_health:
|
||
|
rc = pcmk__pacemakerd_status(out, options.ipc_name, options.timeout);
|
||
|
break;
|
||
|
case cmd_list_nodes:
|
||
|
- rc = pcmk__list_nodes(out, options.node_types, options.BASH_EXPORT);
|
||
|
+ rc = pcmk__list_nodes(out, options.optarg, options.BASH_EXPORT);
|
||
|
break;
|
||
|
case cmd_whois_dc:
|
||
|
rc = pcmk__designated_controller(out, options.timeout);
|
||
|
break;
|
||
|
case cmd_shutdown:
|
||
|
- rc = pcmk__shutdown_controller(out, options.dest_node);
|
||
|
+ rc = pcmk__shutdown_controller(out, options.optarg);
|
||
|
break;
|
||
|
case cmd_elect_dc:
|
||
|
rc = pcmk__start_election(out);
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|
||
|
|
||
|
From dae5688edaf1b3008b70296421004ebdfbdf4b7b Mon Sep 17 00:00:00 2001
|
||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||
|
Date: Tue, 26 Jan 2021 15:02:39 +0100
|
||
|
Subject: [PATCH 7/7] Test: cts-cli: add crmadmin -N/--nodes tests
|
||
|
|
||
|
---
|
||
|
cts/Makefile.am | 1 +
|
||
|
cts/cli/crmadmin-cluster-remote-guest-nodes.xml | 483 ++++++++++++++++++++++++
|
||
|
cts/cli/regression.tools.exp | 24 ++
|
||
|
cts/cts-cli.in | 42 ++-
|
||
|
4 files changed, 543 insertions(+), 7 deletions(-)
|
||
|
create mode 100644 cts/cli/crmadmin-cluster-remote-guest-nodes.xml
|
||
|
|
||
|
diff --git a/cts/Makefile.am b/cts/Makefile.am
|
||
|
index de02aed..2a73774 100644
|
||
|
--- a/cts/Makefile.am
|
||
|
+++ b/cts/Makefile.am
|
||
|
@@ -61,6 +61,7 @@ cts_SCRIPTS = CTSlab.py \
|
||
|
|
||
|
clidir = $(testdir)/cli
|
||
|
dist_cli_DATA = cli/constraints.xml \
|
||
|
+ cli/crmadmin-cluster-remote-guest-nodes.xml \
|
||
|
cli/crm_diff_new.xml \
|
||
|
cli/crm_diff_old.xml \
|
||
|
cli/crm_mon.xml \
|
||
|
diff --git a/cts/cli/crmadmin-cluster-remote-guest-nodes.xml b/cts/cli/crmadmin-cluster-remote-guest-nodes.xml
|
||
|
new file mode 100644
|
||
|
index 0000000..8db656f
|
||
|
--- /dev/null
|
||
|
+++ b/cts/cli/crmadmin-cluster-remote-guest-nodes.xml
|
||
|
@@ -0,0 +1,483 @@
|
||
|
+<cib crm_feature_set="3.0.12" validate-with="pacemaker-3.0" epoch="24" num_updates="0" admin_epoch="0" cib-last-written="Fri Jul 14 08:50:25 2017" update-origin="overcloud-controller-0" update-client="cibadmin" update-user="overcloud-rabbit-0" have-quorum="1" dc-uuid="2" execution-date="1500022225">
|
||
|
+ <configuration>
|
||
|
+ <crm_config>
|
||
|
+ <cluster_property_set id="cib-bootstrap-options">
|
||
|
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
|
||
|
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.16-12.el7-94ff4df"/>
|
||
|
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
|
||
|
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="tripleo_cluster"/>
|
||
|
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
|
||
|
+ <nvpair id="cib-bootstrap-options-cluster-recheck-interval" name="cluster-recheck-interval" value="60s"/>
|
||
|
+ </cluster_property_set>
|
||
|
+ </crm_config>
|
||
|
+ <nodes>
|
||
|
+ <node id="1" uname="overcloud-controller-0"/>
|
||
|
+ <node id="2" uname="overcloud-controller-1"/>
|
||
|
+ <node id="3" uname="overcloud-controller-2"/>
|
||
|
+ <node id="4" uname="overcloud-galera-0">
|
||
|
+ <instance_attributes id="nodes-4">
|
||
|
+ <nvpair id="nodes-4-galera-role" name="galera-role" value="true"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </node>
|
||
|
+ <node id="5" uname="overcloud-galera-1">
|
||
|
+ <instance_attributes id="nodes-5">
|
||
|
+ <nvpair id="nodes-5-galera-role" name="galera-role" value="true"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </node>
|
||
|
+ <node id="6" uname="overcloud-galera-2">
|
||
|
+ <instance_attributes id="nodes-6">
|
||
|
+ <nvpair id="nodes-6-galera-role" name="galera-role" value="true"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </node>
|
||
|
+ <node id="overcloud-rabbit-0" type="remote" uname="overcloud-rabbit-0">
|
||
|
+ <instance_attributes id="nodes-overcloud-rabbit-0">
|
||
|
+ <nvpair id="nodes-overcloud-rabbit-0-rabbitmq-role" name="rabbitmq-role" value="true"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </node>
|
||
|
+ <node id="overcloud-rabbit-1" type="remote" uname="overcloud-rabbit-1">
|
||
|
+ <instance_attributes id="nodes-overcloud-rabbit-1">
|
||
|
+ <nvpair id="nodes-overcloud-rabbit-1-rabbitmq-role" name="rabbitmq-role" value="true"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </node>
|
||
|
+ <node id="overcloud-rabbit-2" type="remote" uname="overcloud-rabbit-2">
|
||
|
+ <instance_attributes id="nodes-overcloud-rabbit-2">
|
||
|
+ <nvpair id="nodes-overcloud-rabbit-2-rabbitmq-role" name="rabbitmq-role" value="true"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </node>
|
||
|
+ </nodes>
|
||
|
+ <resources>
|
||
|
+ <primitive class="ocf" id="overcloud-rabbit-0" provider="pacemaker" type="remote">
|
||
|
+ <instance_attributes id="overcloud-rabbit-0-instance_attributes">
|
||
|
+ <nvpair id="overcloud-rabbit-0-instance_attributes-reconnect_interval" name="reconnect_interval" value="60"/>
|
||
|
+ </instance_attributes>
|
||
|
+ <operations>
|
||
|
+ <op id="overcloud-rabbit-0-monitor-interval-20" interval="20" name="monitor"/>
|
||
|
+ <op id="overcloud-rabbit-0-start-interval-0s" interval="0s" name="start" timeout="60"/>
|
||
|
+ <op id="overcloud-rabbit-0-stop-interval-0s" interval="0s" name="stop" timeout="60"/>
|
||
|
+ </operations>
|
||
|
+ </primitive>
|
||
|
+ <primitive class="ocf" id="overcloud-rabbit-1" provider="pacemaker" type="remote">
|
||
|
+ <instance_attributes id="overcloud-rabbit-1-instance_attributes">
|
||
|
+ <nvpair id="overcloud-rabbit-1-instance_attributes-reconnect_interval" name="reconnect_interval" value="60"/>
|
||
|
+ </instance_attributes>
|
||
|
+ <operations>
|
||
|
+ <op id="overcloud-rabbit-1-monitor-interval-20" interval="20" name="monitor"/>
|
||
|
+ <op id="overcloud-rabbit-1-start-interval-0s" interval="0s" name="start" timeout="60"/>
|
||
|
+ <op id="overcloud-rabbit-1-stop-interval-0s" interval="0s" name="stop" timeout="60"/>
|
||
|
+ </operations>
|
||
|
+ </primitive>
|
||
|
+ <primitive class="ocf" id="overcloud-rabbit-2" provider="pacemaker" type="remote">
|
||
|
+ <instance_attributes id="overcloud-rabbit-2-instance_attributes">
|
||
|
+ <nvpair id="overcloud-rabbit-2-instance_attributes-reconnect_interval" name="reconnect_interval" value="60"/>
|
||
|
+ </instance_attributes>
|
||
|
+ <operations>
|
||
|
+ <op id="overcloud-rabbit-2-monitor-interval-20" interval="20" name="monitor"/>
|
||
|
+ <op id="overcloud-rabbit-2-start-interval-0s" interval="0s" name="start" timeout="60"/>
|
||
|
+ <op id="overcloud-rabbit-2-stop-interval-0s" interval="0s" name="stop" timeout="60"/>
|
||
|
+ </operations>
|
||
|
+ </primitive>
|
||
|
+ <primitive class="ocf" id="container1" provider="heartbeat" type="VirtualDomain">
|
||
|
+ <instance_attributes id="container1-instance_attributes">
|
||
|
+ <nvpair id="container1-instance_attributes-force_stop" name="force_stop" value="true"/>
|
||
|
+ <nvpair id="container1-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
|
||
|
+ <nvpair id="container1-instance_attributes-config" name="config" value="/var/lib/pacemaker/cts/lxc/lxc1.xml"/>
|
||
|
+ </instance_attributes>
|
||
|
+ <utilization id="container1-utilization">
|
||
|
+ <nvpair id="container1-utilization-cpu" name="cpu" value="1"/>
|
||
|
+ <nvpair id="container1-utilization-hv_memory" name="hv_memory" value="196"/>
|
||
|
+ </utilization>
|
||
|
+ <meta_attributes id="container1-meta_attributes">
|
||
|
+ <nvpair id="container1-meta_attributes-remote-node" name="remote-node" value="lxc1"/>
|
||
|
+ </meta_attributes>
|
||
|
+ </primitive>
|
||
|
+ <primitive class="ocf" id="container2" provider="heartbeat" type="VirtualDomain">
|
||
|
+ <instance_attributes id="container2-instance_attributes">
|
||
|
+ <nvpair id="container2-instance_attributes-force_stop" name="force_stop" value="true"/>
|
||
|
+ <nvpair id="container2-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
|
||
|
+ <nvpair id="container2-instance_attributes-config" name="config" value="/var/lib/pacemaker/cts/lxc/lxc2.xml"/>
|
||
|
+ </instance_attributes>
|
||
|
+ <utilization id="container2-utilization">
|
||
|
+ <nvpair id="container2-utilization-cpu" name="cpu" value="1"/>
|
||
|
+ <nvpair id="container2-utilization-hv_memory" name="hv_memory" value="196"/>
|
||
|
+ </utilization>
|
||
|
+ <meta_attributes id="container2-meta_attributes">
|
||
|
+ <nvpair id="container2-meta_attributes-remote-node" name="remote-node" value="lxc2"/>
|
||
|
+ </meta_attributes>
|
||
|
+ </primitive>
|
||
|
+ <bundle id="rabbitmq-bundle">
|
||
|
+ <docker image="192.168.24.1:8787/tripleoupstream/centos-binary-rabbitmq:latest" network="host" options="--user=root --log-driver=journald -e KOLLA_CONFIG_STRATEGY=COPY_ALWAYS" replicas="3" run-command="/bin/bash /usr/local/bin/kolla_start"/>
|
||
|
+ <network control-port="3121"/>
|
||
|
+ <storage>
|
||
|
+ <storage-mapping id="rabbitmq-cfg-files" options="ro" source-dir="/var/lib/kolla/config_files/rabbitmq.json" target-dir="/var/lib/kolla/config_files/config.json"/>
|
||
|
+ <storage-mapping id="rabbitmq-cfg-data" options="ro" source-dir="/var/lib/config-data/puppet-generated/rabbitmq/" target-dir="/var/lib/kolla/config_files/src"/>
|
||
|
+ <storage-mapping id="rabbitmq-hosts" options="ro" source-dir="/etc/hosts" target-dir="/etc/hosts"/>
|
||
|
+ <storage-mapping id="rabbitmq-localtime" options="ro" source-dir="/etc/localtime" target-dir="/etc/localtime"/>
|
||
|
+ <storage-mapping id="rabbitmq-lib" options="rw" source-dir="/var/lib/rabbitmq" target-dir="/var/lib/rabbitmq"/>
|
||
|
+ <storage-mapping id="rabbitmq-pki-extracted" options="ro" source-dir="/etc/pki/ca-trust/extracted" target-dir="/etc/pki/ca-trust/extracted"/>
|
||
|
+ <storage-mapping id="rabbitmq-pki-ca-bundle-crt" options="ro" source-dir="/etc/pki/tls/certs/ca-bundle.crt" target-dir="/etc/pki/tls/certs/ca-bundle.crt"/>
|
||
|
+ <storage-mapping id="rabbitmq-pki-ca-bundle-trust-crt" options="ro" source-dir="/etc/pki/tls/certs/ca-bundle.trust.crt" target-dir="/etc/pki/tls/certs/ca-bundle.trust.crt"/>
|
||
|
+ <storage-mapping id="rabbitmq-pki-cert" options="ro" source-dir="/etc/pki/tls/cert.pem" target-dir="/etc/pki/tls/cert.pem"/>
|
||
|
+ <storage-mapping id="rabbitmq-dev-log" options="rw" source-dir="/dev/log" target-dir="/dev/log"/>
|
||
|
+ </storage>
|
||
|
+ <primitive class="ocf" id="rabbitmq" provider="heartbeat" type="rabbitmq-cluster">
|
||
|
+ <instance_attributes id="rabbitmq-instance_attributes">
|
||
|
+ <nvpair id="rabbitmq-instance_attributes-set_policy" name="set_policy" value="ha-all ^(?!amq\.).* {"ha-mode":"all"}"/>
|
||
|
+ </instance_attributes>
|
||
|
+ <meta_attributes id="rabbitmq-meta_attributes">
|
||
|
+ <nvpair id="rabbitmq-meta_attributes-notify" name="notify" value="true"/>
|
||
|
+ </meta_attributes>
|
||
|
+ <operations>
|
||
|
+ <op id="rabbitmq-monitor-interval-10" interval="10" name="monitor" timeout="40"/>
|
||
|
+ <op id="rabbitmq-start-interval-0s" interval="0s" name="start" timeout="200s"/>
|
||
|
+ <op id="rabbitmq-stop-interval-0s" interval="0s" name="stop" timeout="200s"/>
|
||
|
+ </operations>
|
||
|
+ </primitive>
|
||
|
+ </bundle>
|
||
|
+ <bundle id="galera-bundle">
|
||
|
+ <docker image="192.168.24.1:8787/tripleoupstream/centos-binary-mariadb:latest" promoted-max="3" network="host" options="--user=root --log-driver=journald -e KOLLA_CONFIG_STRATEGY=COPY_ALWAYS" replicas="3" run-command="/bin/bash /usr/local/bin/kolla_start"/>
|
||
|
+ <network control-port="3123"/>
|
||
|
+ <storage>
|
||
|
+ <storage-mapping id="mysql-cfg-files" options="ro" source-dir="/var/lib/kolla/config_files/mysql.json" target-dir="/var/lib/kolla/config_files/config.json"/>
|
||
|
+ <storage-mapping id="mysql-cfg-data" options="ro" source-dir="/var/lib/config-data/puppet-generated/mysql/" target-dir="/var/lib/kolla/config_files/src"/>
|
||
|
+ <storage-mapping id="mysql-hosts" options="ro" source-dir="/etc/hosts" target-dir="/etc/hosts"/>
|
||
|
+ <storage-mapping id="mysql-localtime" options="ro" source-dir="/etc/localtime" target-dir="/etc/localtime"/>
|
||
|
+ <storage-mapping id="mysql-lib" options="rw" source-dir="/var/lib/mysql" target-dir="/var/lib/mysql"/>
|
||
|
+ <storage-mapping id="mysql-log-mariadb" options="rw" source-dir="/var/log/mariadb" target-dir="/var/log/mariadb"/>
|
||
|
+ <storage-mapping id="mysql-pki-extracted" options="ro" source-dir="/etc/pki/ca-trust/extracted" target-dir="/etc/pki/ca-trust/extracted"/>
|
||
|
+ <storage-mapping id="mysql-pki-ca-bundle-crt" options="ro" source-dir="/etc/pki/tls/certs/ca-bundle.crt" target-dir="/etc/pki/tls/certs/ca-bundle.crt"/>
|
||
|
+ <storage-mapping id="mysql-pki-ca-bundle-trust-crt" options="ro" source-dir="/etc/pki/tls/certs/ca-bundle.trust.crt" target-dir="/etc/pki/tls/certs/ca-bundle.trust.crt"/>
|
||
|
+ <storage-mapping id="mysql-pki-cert" options="ro" source-dir="/etc/pki/tls/cert.pem" target-dir="/etc/pki/tls/cert.pem"/>
|
||
|
+ <storage-mapping id="mysql-dev-log" options="rw" source-dir="/dev/log" target-dir="/dev/log"/>
|
||
|
+ </storage>
|
||
|
+ </bundle>
|
||
|
+ </resources>
|
||
|
+ <constraints>
|
||
|
+ <rsc_location id="location-rabbitmq-bundle" resource-discovery="exclusive" rsc="rabbitmq-bundle">
|
||
|
+ <rule id="location-rabbitmq-bundle-rule" score="1">
|
||
|
+ <expression attribute="rabbitmq-role" id="location-rabbitmq-bundle-rule-expr" operation="eq" value="true"/>
|
||
|
+ </rule>
|
||
|
+ </rsc_location>
|
||
|
+ <rsc_location id="location-galera-bundle" resource-discovery="exclusive" rsc="galera-bundle">
|
||
|
+ <rule id="location-galera-bundle-rule" score="0">
|
||
|
+ <expression attribute="galera-role" id="location-galera-bundle-rule-expr" operation="eq" value="true"/>
|
||
|
+ </rule>
|
||
|
+ </rsc_location>
|
||
|
+ </constraints>
|
||
|
+ <rsc_defaults>
|
||
|
+ <meta_attributes id="rsc_defaults-options">
|
||
|
+ <nvpair id="rsc_defaults-options-resource-stickiness" name="resource-stickiness" value="INFINITY"/>
|
||
|
+ </meta_attributes>
|
||
|
+ </rsc_defaults>
|
||
|
+ </configuration>
|
||
|
+ <status>
|
||
|
+ <node_state id="1" uname="overcloud-controller-0" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
|
||
|
+ <lrm id="1">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:2:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;8:2:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="2" rc-code="0" op-status="0" interval="0" last-run="1500021991" last-rc-change="1500021991" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-0_monitor_20000" operation_key="overcloud-rabbit-0_monitor_20000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="4:3:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;4:3:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="3" rc-code="0" op-status="0" interval="20000" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="6e5bb737f46c381d8a46fb4162afd9e0"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="3:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;3:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="4" rc-code="7" op-status="0" interval="0" last-run="1500021998" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="4:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;4:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1500022004" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="5:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;5:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="8" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="42" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="6:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;6:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="12" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="54" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;7:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1500022210" last-rc-change="1500022210" exec-time="58" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;8:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="79" queue-time="0" op-digest="4672b28c350bc4f5445fd6678c0c2a56"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="9:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;9:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="24" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="55" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="10:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;10:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="28" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="122" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ <transient_attributes id="1">
|
||
|
+ <instance_attributes id="status-1">
|
||
|
+ <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </transient_attributes>
|
||
|
+ </node_state>
|
||
|
+ <node_state id="3" uname="overcloud-controller-2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
|
||
|
+ <lrm id="3">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="4:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;4:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1500021990" last-rc-change="1500021990" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="5:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;5:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1500021998" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="14:6:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;14:6:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="4" rc-code="0" op-status="0" interval="0" last-run="1500022004" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-2_monitor_20000" operation_key="overcloud-rabbit-2_monitor_20000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="10:7:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;10:7:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="5" rc-code="0" op-status="0" interval="20000" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="6e5bb737f46c381d8a46fb4162afd9e0"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="11:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;11:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="8" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="46" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="12:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;12:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="12" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="54" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="13:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;13:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="53" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="14:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;14:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="63" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="15:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;15:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="24" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="43" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="16:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;16:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="28" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="66" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ <transient_attributes id="3">
|
||
|
+ <instance_attributes id="status-3">
|
||
|
+ <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </transient_attributes>
|
||
|
+ </node_state>
|
||
|
+ <node_state id="4" uname="overcloud-galera-0" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
|
||
|
+ <lrm id="4">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="5:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;5:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1500021991" last-rc-change="1500021991" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="6:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;6:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1500021998" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;7:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="3" rc-code="7" op-status="0" interval="0" last-run="1500022004" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="14:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;14:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="8" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="73" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="15:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;15:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="12" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="43" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="16:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;16:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="61" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="20:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;20:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1500022223" last-rc-change="1500022223" exec-time="443" queue-time="0" op-digest="4672b28c350bc4f5445fd6678c0c2a56"/>
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_monitor_60000" operation_key="galera-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="21:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;21:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="30" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022224" exec-time="111" queue-time="0" op-digest="4b2ba27785766c4876e892f67e694055"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="18:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;18:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="24" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="43" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="19:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;19:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="28" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="60" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ <transient_attributes id="4">
|
||
|
+ <instance_attributes id="status-4">
|
||
|
+ <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </transient_attributes>
|
||
|
+ </node_state>
|
||
|
+ <node_state id="2" uname="overcloud-controller-1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
|
||
|
+ <lrm id="2">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="3:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;3:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1500021991" last-rc-change="1500021991" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="11:4:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;11:4:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="3" rc-code="0" op-status="0" interval="0" last-run="1500021998" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-1_monitor_20000" operation_key="overcloud-rabbit-1_monitor_20000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:5:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;7:5:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="4" rc-code="0" op-status="0" interval="20000" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="6e5bb737f46c381d8a46fb4162afd9e0"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="5:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;5:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1500022004" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;8:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="8" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="40" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="9:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;9:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="12" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="99" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="10:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;10:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="105" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="11:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;11:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="38" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="12:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;12:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="24" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="72" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="13:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;13:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="28" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="40" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ <transient_attributes id="2">
|
||
|
+ <instance_attributes id="status-2">
|
||
|
+ <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </transient_attributes>
|
||
|
+ </node_state>
|
||
|
+ <node_state id="5" uname="overcloud-galera-1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
|
||
|
+ <lrm id="5">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="6:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;6:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1500021990" last-rc-change="1500021990" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;7:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1500021998" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;8:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="3" rc-code="7" op-status="0" interval="0" last-run="1500022004" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="17:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;17:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="8" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="30" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="18:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;18:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="12" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="48" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="19:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;19:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="88" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="20:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;20:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="59" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="22:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;22:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1500022223" last-rc-change="1500022223" exec-time="463" queue-time="0" op-digest="4672b28c350bc4f5445fd6678c0c2a56"/>
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_monitor_60000" operation_key="galera-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="23:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;23:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="30" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022224" exec-time="104" queue-time="1" op-digest="4b2ba27785766c4876e892f67e694055"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="22:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;22:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="28" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="86" queue-time="1" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ <transient_attributes id="5">
|
||
|
+ <instance_attributes id="status-5">
|
||
|
+ <nvpair id="status-5-shutdown" name="shutdown" value="0"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </transient_attributes>
|
||
|
+ </node_state>
|
||
|
+ <node_state id="6" uname="overcloud-galera-2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
|
||
|
+ <lrm id="6">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;7:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1500021991" last-rc-change="1500021991" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;8:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1500021998" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
|
||
|
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="9:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;9:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="3" rc-code="7" op-status="0" interval="0" last-run="1500022004" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="20:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;20:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="8" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="62" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="21:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;21:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="12" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="71" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="22:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;22:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="47" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="23:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;23:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="58" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="24:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;24:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="24" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="67" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="24:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;24:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1500022223" last-rc-change="1500022223" exec-time="532" queue-time="0" op-digest="4672b28c350bc4f5445fd6678c0c2a56"/>
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_monitor_60000" operation_key="galera-bundle-docker-2_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="25:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;25:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="30" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022224" exec-time="84" queue-time="0" op-digest="4b2ba27785766c4876e892f67e694055"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ <transient_attributes id="6">
|
||
|
+ <instance_attributes id="status-6">
|
||
|
+ <nvpair id="status-6-shutdown" name="shutdown" value="0"/>
|
||
|
+ </instance_attributes>
|
||
|
+ </transient_attributes>
|
||
|
+ </node_state>
|
||
|
+ <node_state remote_node="true" id="overcloud-rabbit-0" uname="overcloud-rabbit-0" in_ccm="true" crm-debug-origin="do_update_resource" node_fenced="0">
|
||
|
+ <lrm id="overcloud-rabbit-0">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="11:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;11:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="101" rc-code="0" op-status="0" interval="0" last-run="1500022215" last-rc-change="1500022215" exec-time="743" queue-time="0" op-digest="8c0a285f208d4d9a67aff645d6afa451"/>
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_monitor_60000" operation_key="rabbitmq-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="12:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;12:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="106" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022216" exec-time="116" queue-time="0" op-digest="22abb108ae9d2c7687fd55cec05e3eb1"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="24:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;24:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="80" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="34" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="25:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;25:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="86" rc-code="7" op-status="0" interval="0" last-run="1500022210" last-rc-change="1500022210" exec-time="51" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="26:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;26:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="39" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="27:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;27:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="119" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="32" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="28:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;28:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="123" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="27" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ </node_state>
|
||
|
+ <node_state remote_node="true" id="overcloud-rabbit-1" uname="overcloud-rabbit-1" in_ccm="true" crm-debug-origin="do_update_resource" node_fenced="0">
|
||
|
+ <lrm id="overcloud-rabbit-1">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="26:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;26:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="41" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="13:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;13:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1500022215" last-rc-change="1500022215" exec-time="839" queue-time="0" op-digest="f16474ea54754bd1c314820340573331"/>
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_monitor_60000" operation_key="rabbitmq-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="14:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;14:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="26" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022216" exec-time="171" queue-time="0" op-digest="77a7f86a24beebea976cd186a4b67311"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="28:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;28:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="24" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="54" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="29:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;29:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="31" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="30:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;30:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1500022218" last-rc-change="1500022218" exec-time="34" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="31:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;31:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="94" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ </node_state>
|
||
|
+ <node_state remote_node="true" id="overcloud-rabbit-2" uname="overcloud-rabbit-2" in_ccm="true" crm-debug-origin="do_update_resource" node_fenced="0">
|
||
|
+ <lrm id="overcloud-rabbit-2">
|
||
|
+ <lrm_resources>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="29:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;29:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="51" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="30:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;30:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1500022209" last-rc-change="1500022209" exec-time="83" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="15:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;15:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1500022216" last-rc-change="1500022216" exec-time="825" queue-time="0" op-digest="0e859e53e780b236b7edb6b7a399e031"/>
|
||
|
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_monitor_60000" operation_key="rabbitmq-bundle-docker-2_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="16:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;16:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="26" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022217" exec-time="125" queue-time="0" op-digest="57d17ff3d69c0f58c3556fd7f904ec61"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="32:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;32:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="42" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="33:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;33:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="87" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
|
||
|
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="34:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;34:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1500022219" last-rc-change="1500022219" exec-time="73" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
|
||
|
+ </lrm_resource>
|
||
|
+ </lrm_resources>
|
||
|
+ </lrm>
|
||
|
+ </node_state>
|
||
|
+ </status>
|
||
|
+</cib>
|
||
|
diff --git a/cts/cli/regression.tools.exp b/cts/cli/regression.tools.exp
|
||
|
index 510cc0a..7324053 100644
|
||
|
--- a/cts/cli/regression.tools.exp
|
||
|
+++ b/cts/cli/regression.tools.exp
|
||
|
@@ -4053,3 +4053,27 @@ Resources colocated with clone:
|
||
|
</pacemaker-result>
|
||
|
=#=#=#= End test: Show resource digests with overrides - OK (0) =#=#=#=
|
||
|
* Passed: crm_resource - Show resource digests with overrides
|
||
|
+=#=#=#= Begin test: List all nodes =#=#=#=
|
||
|
+11
|
||
|
+=#=#=#= End test: List all nodes - OK (0) =#=#=#=
|
||
|
+* Passed: crmadmin - List all nodes
|
||
|
+=#=#=#= Begin test: List cluster nodes =#=#=#=
|
||
|
+6
|
||
|
+=#=#=#= End test: List cluster nodes - OK (0) =#=#=#=
|
||
|
+* Passed: crmadmin - List cluster nodes
|
||
|
+=#=#=#= Begin test: List guest nodes =#=#=#=
|
||
|
+2
|
||
|
+=#=#=#= End test: List guest nodes - OK (0) =#=#=#=
|
||
|
+* Passed: crmadmin - List guest nodes
|
||
|
+=#=#=#= Begin test: List remote nodes =#=#=#=
|
||
|
+3
|
||
|
+=#=#=#= End test: List remote nodes - OK (0) =#=#=#=
|
||
|
+* Passed: crmadmin - List remote nodes
|
||
|
+=#=#=#= Begin test: List cluster,remote nodes =#=#=#=
|
||
|
+9
|
||
|
+=#=#=#= End test: List cluster,remote nodes - OK (0) =#=#=#=
|
||
|
+* Passed: crmadmin - List cluster,remote nodes
|
||
|
+=#=#=#= Begin test: List guest,remote nodes =#=#=#=
|
||
|
+5
|
||
|
+=#=#=#= End test: List guest,remote nodes - OK (0) =#=#=#=
|
||
|
+* Passed: crmadmin - List guest,remote nodes
|
||
|
diff --git a/cts/cts-cli.in b/cts/cts-cli.in
|
||
|
index 96f5386..8e2dbe5 100755
|
||
|
--- a/cts/cts-cli.in
|
||
|
+++ b/cts/cts-cli.in
|
||
|
@@ -501,15 +501,15 @@ function test_tools() {
|
||
|
desc="Default standby value"
|
||
|
cmd="crm_standby -N node1 -G"
|
||
|
test_assert $CRM_EX_OK
|
||
|
-
|
||
|
+
|
||
|
desc="Set standby status"
|
||
|
cmd="crm_standby -N node1 -v true"
|
||
|
test_assert $CRM_EX_OK
|
||
|
-
|
||
|
+
|
||
|
desc="Query standby value"
|
||
|
cmd="crm_standby -N node1 -G"
|
||
|
test_assert $CRM_EX_OK
|
||
|
-
|
||
|
+
|
||
|
desc="Delete standby value"
|
||
|
cmd="crm_standby -N node1 -D"
|
||
|
test_assert $CRM_EX_OK
|
||
|
@@ -657,7 +657,7 @@ function test_tools() {
|
||
|
desc="Drop the status section"
|
||
|
cmd="cibadmin -R -o status --xml-text '<status/>'"
|
||
|
test_assert $CRM_EX_OK 0
|
||
|
-
|
||
|
+
|
||
|
desc="Create a clone"
|
||
|
cmd="cibadmin -C -o resources --xml-text '<clone id=\"test-clone\"><primitive id=\"test-primitive\" class=\"ocf\" provider=\"pacemaker\" type=\"Dummy\"/></clone>'"
|
||
|
test_assert $CRM_EX_OK 0
|
||
|
@@ -697,7 +697,7 @@ function test_tools() {
|
||
|
desc="Update existing resource meta attribute"
|
||
|
cmd="crm_resource -r test-clone --meta -p is-managed -v true"
|
||
|
test_assert $CRM_EX_OK
|
||
|
-
|
||
|
+
|
||
|
desc="Create a resource meta attribute in the parent"
|
||
|
cmd="crm_resource -r test-clone --meta -p is-managed -v true --force"
|
||
|
test_assert $CRM_EX_OK
|
||
|
@@ -803,6 +803,34 @@ function test_tools() {
|
||
|
test_assert $CRM_EX_OK 0
|
||
|
|
||
|
unset CIB_file
|
||
|
+
|
||
|
+ export CIB_file="$test_home/cli/crmadmin-cluster-remote-guest-nodes.xml"
|
||
|
+
|
||
|
+ desc="List all nodes"
|
||
|
+ cmd="crmadmin -N | wc -l | grep 11"
|
||
|
+ test_assert $CRM_EX_OK 0
|
||
|
+
|
||
|
+ desc="List cluster nodes"
|
||
|
+ cmd="crmadmin -N cluster | wc -l | grep 6"
|
||
|
+ test_assert $CRM_EX_OK 0
|
||
|
+
|
||
|
+ desc="List guest nodes"
|
||
|
+ cmd="crmadmin -N guest | wc -l | grep 2"
|
||
|
+ test_assert $CRM_EX_OK 0
|
||
|
+
|
||
|
+ desc="List remote nodes"
|
||
|
+ cmd="crmadmin -N remote | wc -l | grep 3"
|
||
|
+ test_assert $CRM_EX_OK 0
|
||
|
+
|
||
|
+ desc="List cluster,remote nodes"
|
||
|
+ cmd="crmadmin -N cluster,remote | wc -l | grep 9"
|
||
|
+ test_assert $CRM_EX_OK 0
|
||
|
+
|
||
|
+ desc="List guest,remote nodes"
|
||
|
+ cmd="crmadmin -N guest,remote | wc -l | grep 5"
|
||
|
+ test_assert $CRM_EX_OK 0
|
||
|
+
|
||
|
+ unset CIB_file
|
||
|
}
|
||
|
|
||
|
INVALID_PERIODS=(
|
||
|
@@ -822,7 +850,7 @@ INVALID_PERIODS=(
|
||
|
"P1Z/2019-02-20 00:00:00Z" # Invalid duration unit
|
||
|
"P1YM/2019-02-20 00:00:00Z" # No number for duration unit
|
||
|
)
|
||
|
-
|
||
|
+
|
||
|
function test_dates() {
|
||
|
# Ensure invalid period specifications are rejected
|
||
|
for spec in '' "${INVALID_PERIODS[@]}"; do
|
||
|
@@ -1665,7 +1693,7 @@ for t in $tests; do
|
||
|
done
|
||
|
|
||
|
rm -rf "${shadow_dir}"
|
||
|
-
|
||
|
+
|
||
|
failed=0
|
||
|
|
||
|
if [ $verbose -eq 1 ]; then
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|