MCPcopy Create free account
hub / github.com/ClusterLabs/pacemaker / crmd_remove_node_cache

Function crmd_remove_node_cache

tools/crm_node.c:119–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117}
118
119int
120crmd_remove_node_cache(const char *id)
121{
122 int n = 0;
123 int rc = -1;
124 char *name = NULL;
125 char *admin_uuid = NULL;
126 crm_ipc_t *conn = crm_ipc_new(CRM_SYSTEM_CRMD, 0);
127 xmlNode *cmd = NULL;
128 xmlNode *hello = NULL;
129 xmlNode *msg_data = NULL;
130 char *endptr = NULL;
131
132 if (!conn) {
133 goto rm_node_cleanup;
134 }
135
136 if (!crm_ipc_connect(conn)) {
137 goto rm_node_cleanup;
138 }
139
140 admin_uuid = calloc(1, 11);
141 snprintf(admin_uuid, 10, "%d", getpid());
142 admin_uuid[10] = '\0';
143
144 hello = create_hello_message(admin_uuid, "crm_node", "0", "1");
145 rc = crm_ipc_send(conn, hello, 0, 0, NULL);
146 if (rc < 0) {
147 goto rm_node_cleanup;
148 }
149
150 errno = 0;
151 n = strtol(id, &endptr, 10);
152 if(errno != 0 || endptr == id || *endptr != '\0') {
153 /* Argument was not a nodeid */
154 n = 0;
155 name = strdup(id);
156 } else {
157 name = get_node_name(n);
158 }
159
160 crm_trace("Removing %s aka. %s from the membership cache", name, id);
161
162 msg_data = create_xml_node(NULL, XML_TAG_OPTIONS);
163 if(n) {
164 crm_xml_add_int(msg_data, XML_ATTR_ID, n);
165 }
166 crm_xml_add(msg_data, XML_ATTR_UNAME, name);
167
168 cmd = create_request(CRM_OP_RM_NODE_CACHE,
169 msg_data,
170 NULL,
171 CRM_SYSTEM_CRMD,
172 "crm_node",
173 admin_uuid);
174
175 rc = crm_ipc_send(conn, cmd, 0, 0, NULL);
176 if(rc > 0) {

Callers 3

try_heartbeatFunction · 0.85
try_cmanFunction · 0.85
try_corosyncFunction · 0.85

Calls 12

crm_ipc_newFunction · 0.85
crm_ipc_connectFunction · 0.85
create_hello_messageFunction · 0.85
crm_ipc_sendFunction · 0.85
get_node_nameFunction · 0.85
create_xml_nodeFunction · 0.85
crm_xml_add_intFunction · 0.85
crm_xml_addFunction · 0.85
cib_remove_nodeFunction · 0.85
crm_ipc_closeFunction · 0.85
crm_ipc_destroyFunction · 0.85
free_xmlFunction · 0.85

Tested by

no test coverage detected