pacemaker  1.1.14-70404b0
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
msg_xml.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2004 Andrew Beekhof <andrew@beekhof.net>
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This software is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 #ifndef XML_TAGS__H
19 # define XML_TAGS__H
20 
21 # ifndef F_ORIG
22 # define F_ORIG "src"
23 # endif
24 
25 # ifndef F_SEQ
26 # define F_SEQ "seq"
27 # endif
28 
29 # ifndef F_SUBTYPE
30 # define F_SUBTYPE "subt"
31 # endif
32 
33 # ifndef F_TYPE
34 # define F_TYPE "t"
35 # endif
36 
37 # ifndef F_CLIENTNAME
38 # define F_CLIENTNAME "cn"
39 # endif
40 
41 # ifndef F_XML_TAGNAME
42 # define F_XML_TAGNAME "__name__"
43 # endif
44 
45 # ifndef T_CRM
46 # define T_CRM "crmd"
47 # endif
48 
49 # ifndef T_ATTRD
50 # define T_ATTRD "attrd"
51 # endif
52 
53 # define CIB_OPTIONS_FIRST "cib-bootstrap-options"
54 
55 # define F_CRM_DATA "crm_xml"
56 # define F_CRM_TASK "crm_task"
57 # define F_CRM_HOST_TO "crm_host_to"
58 # define F_CRM_MSG_TYPE F_SUBTYPE
59 # define F_CRM_SYS_TO "crm_sys_to"
60 # define F_CRM_SYS_FROM "crm_sys_from"
61 # define F_CRM_HOST_FROM F_ORIG
62 # define F_CRM_REFERENCE XML_ATTR_REFERENCE
63 # define F_CRM_VERSION XML_ATTR_VERSION
64 # define F_CRM_ORIGIN "origin"
65 # define F_CRM_USER "crm_user"
66 # define F_CRM_JOIN_ID "join_id"
67 # define F_CRM_ELECTION_ID "election-id"
68 # define F_CRM_ELECTION_AGE_S "election-age-sec"
69 # define F_CRM_ELECTION_AGE_US "election-age-nano-sec"
70 # define F_CRM_ELECTION_OWNER "election-owner"
71 # define F_CRM_TGRAPH "crm-tgraph"
72 # define F_CRM_TGRAPH_INPUT "crm-tgraph-in"
73 
74 # define F_CRM_THROTTLE_MODE "crm-limit-mode"
75 # define F_CRM_THROTTLE_MAX "crm-limit-max"
76 
77 /*---- Common tags/attrs */
78 # define XML_DIFF_MARKER "__crm_diff_marker__"
79 # define XML_ATTR_TAGNAME F_XML_TAGNAME
80 # define XML_TAG_CIB "cib"
81 # define XML_TAG_FAILED "failed"
82 
83 # define XML_ATTR_CRM_VERSION "crm_feature_set"
84 # define XML_ATTR_DIGEST "digest"
85 # define XML_ATTR_VALIDATION "validate-with"
86 
87 # define XML_ATTR_QUORUM_PANIC "no-quorum-panic"
88 # define XML_ATTR_HAVE_QUORUM "have-quorum"
89 # define XML_ATTR_HAVE_WATCHDOG "have-watchdog"
90 # define XML_ATTR_EXPECTED_VOTES "expected-quorum-votes"
91 # define XML_ATTR_GENERATION "epoch"
92 # define XML_ATTR_GENERATION_ADMIN "admin_epoch"
93 # define XML_ATTR_NUMUPDATES "num_updates"
94 # define XML_ATTR_TIMEOUT "timeout"
95 # define XML_ATTR_ORIGIN "crm-debug-origin"
96 # define XML_ATTR_TSTAMP "crm-timestamp"
97 # define XML_CIB_ATTR_WRITTEN "cib-last-written"
98 # define XML_ATTR_VERSION "version"
99 # define XML_ATTR_DESC "description"
100 # define XML_ATTR_ID "id"
101 # define XML_ATTR_IDREF "id-ref"
102 # define XML_ATTR_ID_LONG "long-id"
103 # define XML_ATTR_TYPE "type"
104 # define XML_ATTR_FILTER_TYPE "type-filter"
105 # define XML_ATTR_FILTER_ID "id-filter"
106 # define XML_ATTR_FILTER_PRIORITY "priority-filter"
107 # define XML_ATTR_VERBOSE "verbose"
108 # define XML_ATTR_OP "op"
109 # define XML_ATTR_DC "is_dc"
110 # define XML_ATTR_DC_UUID "dc-uuid"
111 # define XML_ATTR_UPDATE_ORIG "update-origin"
112 # define XML_ATTR_UPDATE_CLIENT "update-client"
113 # define XML_ATTR_UPDATE_USER "update-user"
114 
115 # define XML_BOOLEAN_TRUE "true"
116 # define XML_BOOLEAN_FALSE "false"
117 # define XML_BOOLEAN_YES XML_BOOLEAN_TRUE
118 # define XML_BOOLEAN_NO XML_BOOLEAN_FALSE
119 
120 # define XML_TAG_OPTIONS "options"
121 
122 /*---- top level tags/attrs */
123 # define XML_MSG_TAG "crm_message"
124 # define XML_MSG_TAG_DATA "msg_data"
125 # define XML_ATTR_REQUEST "request"
126 # define XML_ATTR_RESPONSE "response"
127 
128 # define XML_ATTR_UNAME "uname"
129 # define XML_ATTR_UUID "id"
130 # define XML_ATTR_REFERENCE "reference"
131 
132 # define XML_FAIL_TAG_RESOURCE "failed_resource"
133 
134 # define XML_FAILRES_ATTR_RESID "resource_id"
135 # define XML_FAILRES_ATTR_REASON "reason"
136 # define XML_FAILRES_ATTR_RESSTATUS "resource_status"
137 
138 # define XML_CRM_TAG_PING "ping_response"
139 # define XML_PING_ATTR_STATUS "result"
140 # define XML_PING_ATTR_SYSFROM "crm_subsystem"
141 
142 # define XML_TAG_FRAGMENT "cib_fragment"
143 # define XML_ATTR_RESULT "result"
144 # define XML_ATTR_SECTION "section"
145 
146 # define XML_FAIL_TAG_CIB "failed_update"
147 
148 # define XML_FAILCIB_ATTR_ID "id"
149 # define XML_FAILCIB_ATTR_OBJTYPE "object_type"
150 # define XML_FAILCIB_ATTR_OP "operation"
151 # define XML_FAILCIB_ATTR_REASON "reason"
152 
153 /*---- CIB specific tags/attrs */
154 # define XML_CIB_TAG_SECTION_ALL "all"
155 # define XML_CIB_TAG_CONFIGURATION "configuration"
156 # define XML_CIB_TAG_STATUS "status"
157 # define XML_CIB_TAG_RESOURCES "resources"
158 # define XML_CIB_TAG_NODES "nodes"
159 # define XML_CIB_TAG_DOMAINS "domains"
160 # define XML_CIB_TAG_CONSTRAINTS "constraints"
161 # define XML_CIB_TAG_CRMCONFIG "crm_config"
162 # define XML_CIB_TAG_OPCONFIG "op_defaults"
163 # define XML_CIB_TAG_RSCCONFIG "rsc_defaults"
164 # define XML_CIB_TAG_ACLS "acls"
165 
166 # define XML_CIB_TAG_STATE "node_state"
167 # define XML_CIB_TAG_NODE "node"
168 # define XML_CIB_TAG_DOMAIN "domain"
169 # define XML_CIB_TAG_CONSTRAINT "constraint"
170 # define XML_CIB_TAG_NVPAIR "nvpair"
171 
172 # define XML_CIB_TAG_PROPSET "cluster_property_set"
173 # define XML_TAG_ATTR_SETS "instance_attributes"
174 # define XML_TAG_META_SETS "meta_attributes"
175 # define XML_TAG_ATTRS "attributes"
176 # define XML_TAG_PARAMS "parameters"
177 # define XML_TAG_PARAM "param"
178 # define XML_TAG_UTILIZATION "utilization"
179 
180 # define XML_TAG_RESOURCE_REF "resource_ref"
181 # define XML_CIB_TAG_RESOURCE "primitive"
182 # define XML_CIB_TAG_GROUP "group"
183 # define XML_CIB_TAG_INCARNATION "clone"
184 # define XML_CIB_TAG_MASTER "master"
185 
186 # define XML_CIB_TAG_RSC_TEMPLATE "template"
187 
188 # define XML_RSC_ATTR_ISOLATION_INSTANCE "isolation-instance"
189 # define XML_RSC_ATTR_ISOLATION_WRAPPER "isolation-wrapper"
190 # define XML_RSC_ATTR_ISOLATION_HOST "isolation-host"
191 # define XML_RSC_ATTR_ISOLATION "isolation"
192 # define XML_RSC_ATTR_RESTART "restart-type"
193 # define XML_RSC_ATTR_ORDERED "ordered"
194 # define XML_RSC_ATTR_INTERLEAVE "interleave"
195 # define XML_RSC_ATTR_INCARNATION "clone"
196 # define XML_RSC_ATTR_INCARNATION_MAX "clone-max"
197 # define XML_RSC_ATTR_INCARNATION_MIN "clone-min"
198 # define XML_RSC_ATTR_INCARNATION_NODEMAX "clone-node-max"
199 # define XML_RSC_ATTR_MASTER_MAX "master-max"
200 # define XML_RSC_ATTR_MASTER_NODEMAX "master-node-max"
201 # define XML_RSC_ATTR_STATE "clone-state"
202 # define XML_RSC_ATTR_MANAGED "is-managed"
203 # define XML_RSC_ATTR_TARGET_ROLE "target-role"
204 # define XML_RSC_ATTR_UNIQUE "globally-unique"
205 # define XML_RSC_ATTR_NOTIFY "notify"
206 # define XML_RSC_ATTR_STICKINESS "resource-stickiness"
207 # define XML_RSC_ATTR_FAIL_STICKINESS "migration-threshold"
208 # define XML_RSC_ATTR_FAIL_TIMEOUT "failure-timeout"
209 # define XML_RSC_ATTR_MULTIPLE "multiple-active"
210 # define XML_RSC_ATTR_PRIORITY "priority"
211 # define XML_RSC_ATTR_REQUIRES "requires"
212 # define XML_RSC_ATTR_PROVIDES "provides"
213 # define XML_RSC_ATTR_CONTAINER "container"
214 # define XML_RSC_ATTR_INTERNAL_RSC "internal_rsc"
215 # define XML_RSC_ATTR_MAINTENANCE "maintenance"
216 # define XML_RSC_ATTR_REMOTE_NODE "remote-node"
217 
218 # define XML_REMOTE_ATTR_RECONNECT_INTERVAL "reconnect_interval"
219 
220 # define XML_OP_ATTR_ON_FAIL "on-fail"
221 # define XML_OP_ATTR_START_DELAY "start-delay"
222 # define XML_OP_ATTR_ALLOW_MIGRATE "allow-migrate"
223 # define XML_OP_ATTR_DEPENDENT "dependent-on"
224 # define XML_OP_ATTR_ORIGIN "interval-origin"
225 # define XML_OP_ATTR_PENDING "record-pending"
226 
227 # define XML_CIB_TAG_LRM "lrm"
228 # define XML_LRM_TAG_RESOURCES "lrm_resources"
229 # define XML_LRM_TAG_RESOURCE "lrm_resource"
230 # define XML_LRM_TAG_AGENTS "lrm_agents"
231 # define XML_LRM_TAG_AGENT "lrm_agent"
232 # define XML_LRM_TAG_RSC_OP "lrm_rsc_op"
233 # define XML_AGENT_ATTR_CLASS "class"
234 # define XML_AGENT_ATTR_PROVIDER "provider"
235 # define XML_LRM_TAG_ATTRIBUTES "attributes"
236 
237 # define XML_CIB_ATTR_REPLACE "replace"
238 # define XML_CIB_ATTR_SOURCE "source"
239 
240 # define XML_CIB_ATTR_HEALTH "health"
241 # define XML_CIB_ATTR_WEIGHT "weight"
242 # define XML_CIB_ATTR_PRIORITY "priority"
243 # define XML_CIB_ATTR_CLEAR "clear_on"
244 # define XML_CIB_ATTR_SOURCE "source"
245 
246 # define XML_NODE_JOIN_STATE "join"
247 # define XML_NODE_EXPECTED "expected"
248 # define XML_NODE_IN_CLUSTER "in_ccm"
249 # define XML_NODE_IS_PEER "crmd"
250 # define XML_NODE_IS_REMOTE "remote_node"
251 # define XML_NODE_IS_FENCED "node_fenced"
252 
253 # define XML_CIB_ATTR_SHUTDOWN "shutdown"
254 # define XML_CIB_ATTR_STONITH "stonith"
255 
256 # define XML_LRM_ATTR_INTERVAL "interval"
257 # define XML_LRM_ATTR_TASK "operation"
258 # define XML_LRM_ATTR_TASK_KEY "operation_key"
259 # define XML_LRM_ATTR_TARGET "on_node"
260 
265 # define XML_LRM_ATTR_ROUTER_NODE "router_node"
266 # define XML_LRM_ATTR_TARGET_UUID "on_node_uuid"
267 # define XML_LRM_ATTR_RSCID "rsc-id"
268 # define XML_LRM_ATTR_OPSTATUS "op-status"
269 # define XML_LRM_ATTR_RC "rc-code"
270 # define XML_LRM_ATTR_CALLID "call-id"
271 # define XML_LRM_ATTR_OP_DIGEST "op-digest"
272 # define XML_LRM_ATTR_OP_RESTART "op-force-restart"
273 # define XML_LRM_ATTR_OP_SECURE "op-secure-params"
274 # define XML_LRM_ATTR_RESTART_DIGEST "op-restart-digest"
275 # define XML_LRM_ATTR_SECURE_DIGEST "op-secure-digest"
276 # define XML_LRM_ATTR_EXIT_REASON "exit-reason"
277 
278 # define XML_RSC_OP_LAST_CHANGE "last-rc-change"
279 # define XML_RSC_OP_LAST_RUN "last-run"
280 # define XML_RSC_OP_T_EXEC "exec-time"
281 # define XML_RSC_OP_T_QUEUE "queue-time"
282 
283 # define XML_LRM_ATTR_MIGRATE_SOURCE "migrate_source"
284 # define XML_LRM_ATTR_MIGRATE_TARGET "migrate_target"
285 
286 # define XML_TAG_GRAPH "transition_graph"
287 # define XML_GRAPH_TAG_RSC_OP "rsc_op"
288 # define XML_GRAPH_TAG_PSEUDO_EVENT "pseudo_event"
289 # define XML_GRAPH_TAG_CRM_EVENT "crm_event"
290 
291 # define XML_TAG_RULE "rule"
292 # define XML_RULE_ATTR_SCORE "score"
293 # define XML_RULE_ATTR_SCORE_ATTRIBUTE "score-attribute"
294 # define XML_RULE_ATTR_SCORE_MANGLED "score-attribute-mangled"
295 # define XML_RULE_ATTR_ROLE "role"
296 # define XML_RULE_ATTR_RESULT "result"
297 # define XML_RULE_ATTR_BOOLEAN_OP "boolean-op"
298 
299 # define XML_TAG_EXPRESSION "expression"
300 # define XML_EXPR_ATTR_ATTRIBUTE "attribute"
301 # define XML_EXPR_ATTR_OPERATION "operation"
302 # define XML_EXPR_ATTR_VALUE "value"
303 # define XML_EXPR_ATTR_TYPE "type"
304 
305 # define XML_CONS_TAG_RSC_DEPEND "rsc_colocation"
306 # define XML_CONS_TAG_RSC_ORDER "rsc_order"
307 # define XML_CONS_TAG_RSC_LOCATION "rsc_location"
308 # define XML_CONS_TAG_RSC_TICKET "rsc_ticket"
309 # define XML_CONS_TAG_RSC_SET "resource_set"
310 # define XML_CONS_ATTR_SYMMETRICAL "symmetrical"
311 
312 # define XML_LOCATION_ATTR_DISCOVERY "resource-discovery"
313 
314 # define XML_COLOC_ATTR_SOURCE "rsc"
315 # define XML_COLOC_ATTR_SOURCE_ROLE "rsc-role"
316 # define XML_COLOC_ATTR_TARGET "with-rsc"
317 # define XML_COLOC_ATTR_TARGET_ROLE "with-rsc-role"
318 # define XML_COLOC_ATTR_NODE_ATTR "node-attribute"
319 # define XML_COLOC_ATTR_SOURCE_INSTANCE "rsc-instance"
320 # define XML_COLOC_ATTR_TARGET_INSTANCE "with-rsc-instance"
321 
322 # define XML_ORDER_ATTR_FIRST "first"
323 # define XML_ORDER_ATTR_THEN "then"
324 # define XML_ORDER_ATTR_FIRST_ACTION "first-action"
325 # define XML_ORDER_ATTR_THEN_ACTION "then-action"
326 # define XML_ORDER_ATTR_FIRST_INSTANCE "first-instance"
327 # define XML_ORDER_ATTR_THEN_INSTANCE "then-instance"
328 # define XML_ORDER_ATTR_KIND "kind"
329 
330 # define XML_TICKET_ATTR_TICKET "ticket"
331 # define XML_TICKET_ATTR_LOSS_POLICY "loss-policy"
332 
333 # define XML_NVPAIR_ATTR_NAME "name"
334 # define XML_NVPAIR_ATTR_VALUE "value"
335 
336 # define XML_NODE_ATTR_STATE "state"
337 # define XML_NODE_ATTR_RSC_DISCOVERY "resource-discovery-enabled"
338 
339 # define XML_CONFIG_ATTR_DC_DEADTIME "dc-deadtime"
340 # define XML_CONFIG_ATTR_ELECTION_FAIL "election-timeout"
341 # define XML_CONFIG_ATTR_FORCE_QUIT "shutdown-escalation"
342 # define XML_CONFIG_ATTR_RECHECK "cluster-recheck-interval"
343 
344 # define XML_CIB_TAG_GENERATION_TUPPLE "generation_tuple"
345 
346 # define XML_ATTR_TRANSITION_MAGIC "transition-magic"
347 # define XML_ATTR_TRANSITION_KEY "transition-key"
348 
349 # define XML_ATTR_TE_NOWAIT "op_no_wait"
350 # define XML_ATTR_TE_TARGET_RC "op_target_rc"
351 # define XML_ATTR_LRM_PROBE "lrm-is-probe"
352 # define XML_TAG_TRANSIENT_NODEATTRS "transient_attributes"
353 
354 # define XML_TAG_DIFF_ADDED "diff-added"
355 # define XML_TAG_DIFF_REMOVED "diff-removed"
356 
357 # define XML_ACL_TAG_USER "acl_target"
358 # define XML_ACL_TAG_USERv1 "acl_user"
359 # define XML_ACL_TAG_GROUP "acl_group"
360 # define XML_ACL_TAG_ROLE "acl_role"
361 # define XML_ACL_TAG_PERMISSION "acl_permission"
362 # define XML_ACL_TAG_ROLE_REF "role"
363 # define XML_ACL_TAG_ROLE_REFv1 "role_ref"
364 # define XML_ACL_ATTR_KIND "kind"
365 # define XML_ACL_TAG_READ "read"
366 # define XML_ACL_TAG_WRITE "write"
367 # define XML_ACL_TAG_DENY "deny"
368 # define XML_ACL_ATTR_REF "reference"
369 # define XML_ACL_ATTR_REFv1 "ref"
370 # define XML_ACL_ATTR_TAG "object-type"
371 # define XML_ACL_ATTR_TAGv1 "tag"
372 # define XML_ACL_ATTR_XPATH "xpath"
373 # define XML_ACL_ATTR_ATTRIBUTE "attribute"
374 
375 # define XML_CIB_TAG_TICKETS "tickets"
376 # define XML_CIB_TAG_TICKET_STATE "ticket_state"
377 
378 # define XML_CIB_TAG_TAGS "tags"
379 # define XML_CIB_TAG_TAG "tag"
380 # define XML_CIB_TAG_OBJ_REF "obj_ref"
381 
382 # define XML_TAG_FENCING_TOPOLOGY "fencing-topology"
383 # define XML_TAG_FENCING_LEVEL "fencing-level"
384 # define XML_ATTR_STONITH_INDEX "index"
385 # define XML_ATTR_STONITH_TARGET "target"
386 # define XML_ATTR_STONITH_TARGET_VALUE "target-value"
387 # define XML_ATTR_STONITH_TARGET_PATTERN "target-pattern"
388 # define XML_ATTR_STONITH_TARGET_ATTRIBUTE "target-attribute"
389 # define XML_ATTR_STONITH_DEVICES "devices"
390 
391 # define XML_TAG_DIFF "diff"
392 # define XML_DIFF_VERSION "version"
393 # define XML_DIFF_VSOURCE "source"
394 # define XML_DIFF_VTARGET "target"
395 # define XML_DIFF_CHANGE "change"
396 # define XML_DIFF_LIST "change-list"
397 # define XML_DIFF_ATTR "change-attr"
398 # define XML_DIFF_RESULT "change-result"
399 # define XML_DIFF_OP "operation"
400 # define XML_DIFF_PATH "path"
401 # define XML_DIFF_POSITION "position"
402 
403 /* Defined for backward API compatibility but no longer used by Pacemaker */
404 # define XML_ATTR_TE_ALLOWFAIL "op_allow_fail"
405 
406 # include <crm/common/xml.h>
407 
408 # define ID(x) crm_element_value(x, XML_ATTR_ID)
409 # define INSTANCE(x) crm_element_value(x, XML_CIB_ATTR_INSTANCE)
410 # define TSTAMP(x) crm_element_value(x, XML_ATTR_TSTAMP)
411 # define TYPE(x) crm_element_name(x)
412 # define NAME(x) crm_element_value(x, XML_NVPAIR_ATTR_NAME)
413 # define VALUE(x) crm_element_value(x, XML_NVPAIR_ATTR_VALUE)
414 
415 #endif
Wrappers for and extensions to libxml2.