pacemaker
2.0.1-9e909a5bdd
Scalable High-Availability cluster resource manager
include
crm
msg_xml.h
Go to the documentation of this file.
1
/*
2
* Copyright 2004-2018 Andrew Beekhof <andrew@beekhof.net>
3
*
4
* This source code is licensed under the GNU Lesser General Public License
5
* version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
6
*/
7
8
#ifndef XML_TAGS__H
9
# define XML_TAGS__H
10
11
#ifdef __cplusplus
12
extern
"C"
{
13
#endif
14
15
# ifndef F_ORIG
16
# define F_ORIG "src"
17
# endif
18
19
# ifndef F_SEQ
20
# define F_SEQ "seq"
21
# endif
22
23
# ifndef F_SUBTYPE
24
# define F_SUBTYPE "subt"
25
# endif
26
27
# ifndef F_TYPE
28
# define F_TYPE "t"
29
# endif
30
31
# ifndef F_CLIENTNAME
32
# define F_CLIENTNAME "cn"
33
# endif
34
35
# ifndef F_XML_TAGNAME
36
# define F_XML_TAGNAME "__name__"
37
# endif
38
39
# ifndef T_CRM
40
# define T_CRM "crmd"
41
# endif
42
43
# ifndef T_ATTRD
44
# define T_ATTRD "attrd"
45
# endif
46
47
# define CIB_OPTIONS_FIRST "cib-bootstrap-options"
48
49
# define F_CRM_DATA "crm_xml"
50
# define F_CRM_TASK "crm_task"
51
# define F_CRM_HOST_TO "crm_host_to"
52
# define F_CRM_MSG_TYPE F_SUBTYPE
53
# define F_CRM_SYS_TO "crm_sys_to"
54
# define F_CRM_SYS_FROM "crm_sys_from"
55
# define F_CRM_HOST_FROM F_ORIG
56
# define F_CRM_REFERENCE XML_ATTR_REFERENCE
57
# define F_CRM_VERSION XML_ATTR_VERSION
58
# define F_CRM_ORIGIN "origin"
59
# define F_CRM_USER "crm_user"
60
# define F_CRM_JOIN_ID "join_id"
61
# define F_CRM_DC_LEAVING "dc-leaving"
62
# define F_CRM_ELECTION_ID "election-id"
63
# define F_CRM_ELECTION_AGE_S "election-age-sec"
64
# define F_CRM_ELECTION_AGE_US "election-age-nano-sec"
65
# define F_CRM_ELECTION_OWNER "election-owner"
66
# define F_CRM_TGRAPH "crm-tgraph-file"
67
# define F_CRM_TGRAPH_INPUT "crm-tgraph-in"
68
69
# define F_CRM_THROTTLE_MODE "crm-limit-mode"
70
# define F_CRM_THROTTLE_MAX "crm-limit-max"
71
72
/*---- Common tags/attrs */
73
# define XML_DIFF_MARKER "__crm_diff_marker__"
74
# define XML_TAG_CIB "cib"
75
# define XML_TAG_FAILED "failed"
76
77
# define XML_ATTR_CRM_VERSION "crm_feature_set"
78
# define XML_ATTR_DIGEST "digest"
79
# define XML_ATTR_VALIDATION "validate-with"
80
# define XML_ATTR_RA_VERSION "ra-version"
81
82
# define XML_ATTR_QUORUM_PANIC "no-quorum-panic"
83
# define XML_ATTR_HAVE_QUORUM "have-quorum"
84
# define XML_ATTR_HAVE_WATCHDOG "have-watchdog"
85
# define XML_ATTR_GENERATION "epoch"
86
# define XML_ATTR_GENERATION_ADMIN "admin_epoch"
87
# define XML_ATTR_NUMUPDATES "num_updates"
88
# define XML_ATTR_TIMEOUT "timeout"
89
# define XML_ATTR_ORIGIN "crm-debug-origin"
90
# define XML_ATTR_TSTAMP "crm-timestamp"
91
# define XML_CIB_ATTR_WRITTEN "cib-last-written"
92
# define XML_ATTR_VERSION "version"
93
# define XML_ATTR_DESC "description"
94
# define XML_ATTR_ID "id"
95
# define XML_ATTR_IDREF "id-ref"
96
# define XML_ATTR_ID_LONG "long-id"
97
# define XML_ATTR_TYPE "type"
98
# define XML_ATTR_VERBOSE "verbose"
99
# define XML_ATTR_OP "op"
100
# define XML_ATTR_DC_UUID "dc-uuid"
101
# define XML_ATTR_UPDATE_ORIG "update-origin"
102
# define XML_ATTR_UPDATE_CLIENT "update-client"
103
# define XML_ATTR_UPDATE_USER "update-user"
104
105
# define XML_BOOLEAN_TRUE "true"
106
# define XML_BOOLEAN_FALSE "false"
107
# define XML_BOOLEAN_YES XML_BOOLEAN_TRUE
108
# define XML_BOOLEAN_NO XML_BOOLEAN_FALSE
109
110
# define XML_TAG_OPTIONS "options"
111
112
/*---- top level tags/attrs */
113
# define XML_ATTR_REQUEST "request"
114
# define XML_ATTR_RESPONSE "response"
115
116
# define XML_ATTR_UNAME "uname"
117
# define XML_ATTR_UUID "id"
118
# define XML_ATTR_REFERENCE "reference"
119
120
# define XML_CRM_TAG_PING "ping_response"
121
# define XML_PING_ATTR_STATUS "result"
122
# define XML_PING_ATTR_SYSFROM "crm_subsystem"
123
# define XML_PING_ATTR_CRMDSTATE "crmd_state"
124
125
# define XML_TAG_FRAGMENT "cib_fragment"
126
127
# define XML_FAIL_TAG_CIB "failed_update"
128
129
# define XML_FAILCIB_ATTR_ID "id"
130
# define XML_FAILCIB_ATTR_OBJTYPE "object_type"
131
# define XML_FAILCIB_ATTR_OP "operation"
132
# define XML_FAILCIB_ATTR_REASON "reason"
133
134
/*---- CIB specific tags/attrs */
135
# define XML_CIB_TAG_SECTION_ALL "all"
136
# define XML_CIB_TAG_CONFIGURATION "configuration"
137
# define XML_CIB_TAG_STATUS "status"
138
# define XML_CIB_TAG_RESOURCES "resources"
139
# define XML_CIB_TAG_NODES "nodes"
140
# define XML_CIB_TAG_DOMAINS "domains"
141
# define XML_CIB_TAG_CONSTRAINTS "constraints"
142
# define XML_CIB_TAG_CRMCONFIG "crm_config"
143
# define XML_CIB_TAG_OPCONFIG "op_defaults"
144
# define XML_CIB_TAG_RSCCONFIG "rsc_defaults"
145
# define XML_CIB_TAG_ACLS "acls"
146
# define XML_CIB_TAG_ALERTS "alerts"
147
# define XML_CIB_TAG_ALERT "alert"
148
# define XML_CIB_TAG_ALERT_RECIPIENT "recipient"
149
# define XML_CIB_TAG_ALERT_SELECT "select"
150
# define XML_CIB_TAG_ALERT_ATTRIBUTES "select_attributes"
151
# define XML_CIB_TAG_ALERT_FENCING "select_fencing"
152
# define XML_CIB_TAG_ALERT_NODES "select_nodes"
153
# define XML_CIB_TAG_ALERT_RESOURCES "select_resources"
154
# define XML_CIB_TAG_ALERT_ATTR "attribute"
155
156
# define XML_CIB_TAG_STATE "node_state"
157
# define XML_CIB_TAG_NODE "node"
158
# define XML_CIB_TAG_NVPAIR "nvpair"
159
160
# define XML_CIB_TAG_PROPSET "cluster_property_set"
161
# define XML_TAG_ATTR_SETS "instance_attributes"
162
# define XML_TAG_META_SETS "meta_attributes"
163
# define XML_TAG_ATTRS "attributes"
164
# define XML_TAG_RSC_VER_ATTRS "rsc_versioned_attrs"
165
# define XML_TAG_OP_VER_ATTRS "op_versioned_attrs"
166
# define XML_TAG_OP_VER_META "op_versioned_meta"
167
# define XML_TAG_PARAMS "parameters"
168
# define XML_TAG_PARAM "param"
169
# define XML_TAG_UTILIZATION "utilization"
170
171
# define XML_TAG_RESOURCE_REF "resource_ref"
172
# define XML_CIB_TAG_RESOURCE "primitive"
173
# define XML_CIB_TAG_GROUP "group"
174
# define XML_CIB_TAG_INCARNATION "clone"
175
# define XML_CIB_TAG_MASTER "master" // deprecated since 2.0.0
176
# define XML_CIB_TAG_CONTAINER "bundle"
177
178
# define XML_CIB_TAG_RSC_TEMPLATE "template"
179
180
# define XML_RSC_ATTR_TARGET "container-attribute-target"
181
# define XML_RSC_ATTR_RESTART "restart-type"
182
# define XML_RSC_ATTR_ORDERED "ordered"
183
# define XML_RSC_ATTR_INTERLEAVE "interleave"
184
# define XML_RSC_ATTR_INCARNATION "clone"
185
# define XML_RSC_ATTR_INCARNATION_MAX "clone-max"
186
# define XML_RSC_ATTR_INCARNATION_MIN "clone-min"
187
# define XML_RSC_ATTR_INCARNATION_NODEMAX "clone-node-max"
188
# define XML_RSC_ATTR_PROMOTABLE "promotable"
189
# define XML_RSC_ATTR_PROMOTED_MAX "promoted-max"
190
# define XML_RSC_ATTR_PROMOTED_NODEMAX "promoted-node-max"
191
# define XML_RSC_ATTR_MASTER_MAX "master-max" // deprecated since 2.0.0
192
# define XML_RSC_ATTR_MASTER_NODEMAX "master-node-max" // deprecated since 2.0.0
193
# define XML_RSC_ATTR_MANAGED "is-managed"
194
# define XML_RSC_ATTR_TARGET_ROLE "target-role"
195
# define XML_RSC_ATTR_UNIQUE "globally-unique"
196
# define XML_RSC_ATTR_NOTIFY "notify"
197
# define XML_RSC_ATTR_STICKINESS "resource-stickiness"
198
# define XML_RSC_ATTR_FAIL_STICKINESS "migration-threshold"
199
# define XML_RSC_ATTR_FAIL_TIMEOUT "failure-timeout"
200
# define XML_RSC_ATTR_MULTIPLE "multiple-active"
201
# define XML_RSC_ATTR_REQUIRES "requires"
202
# define XML_RSC_ATTR_PROVIDES "provides"
203
# define XML_RSC_ATTR_CONTAINER "container"
204
# define XML_RSC_ATTR_INTERNAL_RSC "internal_rsc"
205
# define XML_RSC_ATTR_MAINTENANCE "maintenance"
206
# define XML_RSC_ATTR_REMOTE_NODE "remote-node"
207
# define XML_RSC_ATTR_CLEAR_OP "clear_failure_op"
208
# define XML_RSC_ATTR_CLEAR_INTERVAL "clear_failure_interval"
209
# define XML_RSC_ATTR_REMOTE_RA_ADDR "addr"
210
# define XML_RSC_ATTR_REMOTE_RA_SERVER "server"
211
# define XML_RSC_ATTR_REMOTE_RA_PORT "port"
212
213
# define XML_REMOTE_ATTR_RECONNECT_INTERVAL "reconnect_interval"
214
215
# define XML_OP_ATTR_ON_FAIL "on-fail"
216
# define XML_OP_ATTR_START_DELAY "start-delay"
217
# define XML_OP_ATTR_ALLOW_MIGRATE "allow-migrate"
218
# define XML_OP_ATTR_ORIGIN "interval-origin"
219
# define XML_OP_ATTR_PENDING "record-pending"
220
# define XML_OP_ATTR_DIGESTS_ALL "digests-all"
221
# define XML_OP_ATTR_DIGESTS_SECURE "digests-secure"
222
223
# define XML_CIB_TAG_LRM "lrm"
224
# define XML_LRM_TAG_RESOURCES "lrm_resources"
225
# define XML_LRM_TAG_RESOURCE "lrm_resource"
226
# define XML_LRM_TAG_RSC_OP "lrm_rsc_op"
227
# define XML_AGENT_ATTR_CLASS "class"
228
# define XML_AGENT_ATTR_PROVIDER "provider"
229
230
# define XML_CIB_ATTR_REPLACE "replace"
231
# define XML_CIB_ATTR_SOURCE "source"
232
233
# define XML_CIB_ATTR_PRIORITY "priority"
234
# define XML_CIB_ATTR_SOURCE "source"
235
236
# define XML_NODE_JOIN_STATE "join"
237
# define XML_NODE_EXPECTED "expected"
238
# define XML_NODE_IN_CLUSTER "in_ccm"
239
# define XML_NODE_IS_PEER "crmd"
240
# define XML_NODE_IS_REMOTE "remote_node"
241
# define XML_NODE_IS_FENCED "node_fenced"
242
# define XML_NODE_IS_MAINTENANCE "node_in_maintenance"
243
244
# define XML_CIB_ATTR_SHUTDOWN "shutdown"
245
246
/* Aside from being an old name for the executor, LRM is a misnomer here because
247
* the controller and scheduler use these to track actions, which are not always
248
* executor operations.
249
*/
250
251
// XML attribute that takes interval specification (user-facing configuration)
252
# define XML_LRM_ATTR_INTERVAL "interval"
253
254
// XML attribute that takes interval in milliseconds (daemon APIs)
255
// (identical value as above, but different constant allows clearer code intent)
256
# define XML_LRM_ATTR_INTERVAL_MS XML_LRM_ATTR_INTERVAL
257
258
# define XML_LRM_ATTR_TASK "operation"
259
# define XML_LRM_ATTR_TASK_KEY "operation_key"
260
# define XML_LRM_ATTR_TARGET "on_node"
261
# define XML_LRM_ATTR_TARGET_UUID "on_node_uuid"
262
266
# define XML_LRM_ATTR_ROUTER_NODE "router_node"
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
# define XML_GRAPH_TAG_DOWNED "downed"
291
# define XML_GRAPH_TAG_MAINTENANCE "maintenance"
292
293
# define XML_TAG_RULE "rule"
294
# define XML_RULE_ATTR_SCORE "score"
295
# define XML_RULE_ATTR_SCORE_ATTRIBUTE "score-attribute"
296
# define XML_RULE_ATTR_ROLE "role"
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
# define XML_EXPR_ATTR_VALUE_SOURCE "value-source"
305
306
# define XML_CONS_TAG_RSC_DEPEND "rsc_colocation"
307
# define XML_CONS_TAG_RSC_ORDER "rsc_order"
308
# define XML_CONS_TAG_RSC_LOCATION "rsc_location"
309
# define XML_CONS_TAG_RSC_TICKET "rsc_ticket"
310
# define XML_CONS_TAG_RSC_SET "resource_set"
311
# define XML_CONS_ATTR_SYMMETRICAL "symmetrical"
312
313
# define XML_LOCATION_ATTR_DISCOVERY "resource-discovery"
314
315
# define XML_COLOC_ATTR_SOURCE "rsc"
316
# define XML_COLOC_ATTR_SOURCE_ROLE "rsc-role"
317
# define XML_COLOC_ATTR_TARGET "with-rsc"
318
# define XML_COLOC_ATTR_TARGET_ROLE "with-rsc-role"
319
# define XML_COLOC_ATTR_NODE_ATTR "node-attribute"
320
# define XML_COLOC_ATTR_SOURCE_INSTANCE "rsc-instance"
321
# define XML_COLOC_ATTR_TARGET_INSTANCE "with-rsc-instance"
322
323
# define XML_LOC_ATTR_SOURCE "rsc"
324
# define XML_LOC_ATTR_SOURCE_PATTERN "rsc-pattern"
325
326
# define XML_ORDER_ATTR_FIRST "first"
327
# define XML_ORDER_ATTR_THEN "then"
328
# define XML_ORDER_ATTR_FIRST_ACTION "first-action"
329
# define XML_ORDER_ATTR_THEN_ACTION "then-action"
330
# define XML_ORDER_ATTR_FIRST_INSTANCE "first-instance"
331
# define XML_ORDER_ATTR_THEN_INSTANCE "then-instance"
332
# define XML_ORDER_ATTR_KIND "kind"
333
334
# define XML_TICKET_ATTR_TICKET "ticket"
335
# define XML_TICKET_ATTR_LOSS_POLICY "loss-policy"
336
337
# define XML_NVPAIR_ATTR_NAME "name"
338
# define XML_NVPAIR_ATTR_VALUE "value"
339
340
# define XML_NODE_ATTR_RSC_DISCOVERY "resource-discovery-enabled"
341
342
# define XML_CONFIG_ATTR_DC_DEADTIME "dc-deadtime"
343
# define XML_CONFIG_ATTR_ELECTION_FAIL "election-timeout"
344
# define XML_CONFIG_ATTR_FORCE_QUIT "shutdown-escalation"
345
# define XML_CONFIG_ATTR_RECHECK "cluster-recheck-interval"
346
347
# define XML_ALERT_ATTR_PATH "path"
348
# define XML_ALERT_ATTR_TIMEOUT "timeout"
349
# define XML_ALERT_ATTR_TSTAMP_FORMAT "timestamp-format"
350
# define XML_ALERT_ATTR_REC_VALUE "value"
351
352
# define XML_CIB_TAG_GENERATION_TUPPLE "generation_tuple"
353
354
# define XML_ATTR_TRANSITION_MAGIC "transition-magic"
355
# define XML_ATTR_TRANSITION_KEY "transition-key"
356
357
# define XML_ATTR_TE_NOWAIT "op_no_wait"
358
# define XML_ATTR_TE_TARGET_RC "op_target_rc"
359
# define XML_TAG_TRANSIENT_NODEATTRS "transient_attributes"
360
361
# define XML_TAG_DIFF_ADDED "diff-added"
362
# define XML_TAG_DIFF_REMOVED "diff-removed"
363
364
# define XML_ACL_TAG_USER "acl_target"
365
# define XML_ACL_TAG_USERv1 "acl_user"
366
# define XML_ACL_TAG_GROUP "acl_group"
367
# define XML_ACL_TAG_ROLE "acl_role"
368
# define XML_ACL_TAG_PERMISSION "acl_permission"
369
# define XML_ACL_TAG_ROLE_REF "role"
370
# define XML_ACL_TAG_ROLE_REFv1 "role_ref"
371
# define XML_ACL_ATTR_KIND "kind"
372
# define XML_ACL_TAG_READ "read"
373
# define XML_ACL_TAG_WRITE "write"
374
# define XML_ACL_TAG_DENY "deny"
375
# define XML_ACL_ATTR_REF "reference"
376
# define XML_ACL_ATTR_REFv1 "ref"
377
# define XML_ACL_ATTR_TAG "object-type"
378
# define XML_ACL_ATTR_TAGv1 "tag"
379
# define XML_ACL_ATTR_XPATH "xpath"
380
# define XML_ACL_ATTR_ATTRIBUTE "attribute"
381
382
# define XML_CIB_TAG_TICKETS "tickets"
383
# define XML_CIB_TAG_TICKET_STATE "ticket_state"
384
385
# define XML_CIB_TAG_TAGS "tags"
386
# define XML_CIB_TAG_TAG "tag"
387
# define XML_CIB_TAG_OBJ_REF "obj_ref"
388
389
# define XML_TAG_FENCING_TOPOLOGY "fencing-topology"
390
# define XML_TAG_FENCING_LEVEL "fencing-level"
391
# define XML_ATTR_STONITH_INDEX "index"
392
# define XML_ATTR_STONITH_TARGET "target"
393
# define XML_ATTR_STONITH_TARGET_VALUE "target-value"
394
# define XML_ATTR_STONITH_TARGET_PATTERN "target-pattern"
395
# define XML_ATTR_STONITH_TARGET_ATTRIBUTE "target-attribute"
396
# define XML_ATTR_STONITH_DEVICES "devices"
397
398
# define XML_TAG_DIFF "diff"
399
# define XML_DIFF_VERSION "version"
400
# define XML_DIFF_VSOURCE "source"
401
# define XML_DIFF_VTARGET "target"
402
# define XML_DIFF_CHANGE "change"
403
# define XML_DIFF_LIST "change-list"
404
# define XML_DIFF_ATTR "change-attr"
405
# define XML_DIFF_RESULT "change-result"
406
# define XML_DIFF_OP "operation"
407
# define XML_DIFF_PATH "path"
408
# define XML_DIFF_POSITION "position"
409
410
# include <
crm/common/xml.h
>
411
412
# define ID(x) crm_element_value(x, XML_ATTR_ID)
413
# define TYPE(x) crm_element_name(x)
414
415
#ifdef __cplusplus
416
}
417
#endif
418
419
#endif
xml.h
Wrappers for and extensions to libxml2.
Generated on Sun Jun 2 2019 12:01:06 for pacemaker by
1.8.13