pacemaker 2.1.6-6fdc9deea29
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
msg_xml.h
Go to the documentation of this file.
1/*
2 * Copyright 2004-2023 the Pacemaker project contributors
3 *
4 * The version control history for this file may have further details.
5 *
6 * This source code is licensed under the GNU Lesser General Public License
7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8 */
9
10#ifndef PCMK__CRM_MSG_XML__H
11# define PCMK__CRM_MSG_XML__H
12
13# include <crm/common/xml.h>
14
15#if !defined(PCMK_ALLOW_DEPRECATED) || (PCMK_ALLOW_DEPRECATED == 1)
16#include <crm/msg_xml_compat.h>
17#endif
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23/* This file defines constants for various XML syntax (mainly element and
24 * attribute names).
25 *
26 * For consistency, new constants should start with "PCMK_", followed by "XE"
27 * for XML element names, "XA" for XML attribute names, and "META" for meta
28 * attribute names. Old names that don't follow this policy should eventually be
29 * deprecated and replaced with names that do.
30 */
31
32/*
33 * XML elements
34 */
35
36#define PCMK_XE_DATE_EXPRESSION "date_expression"
37#define PCMK_XE_OP_EXPRESSION "op_expression"
38
39/* This has been deprecated as a CIB element (an alias for <clone> with
40 * "promotable" set to "true") since 2.0.0.
41 */
42#define PCMK_XE_PROMOTABLE_LEGACY "master"
43
44#define PCMK_XE_RSC_EXPRESSION "rsc_expression"
45
46
47/*
48 * XML attributes
49 */
50
51/* These have been deprecated as CIB <clone> element attributes (aliases for
52 * "promoted-max" and "promoted-node-max") since 2.0.0.
53 */
54#define PCMK_XA_PROMOTED_MAX_LEGACY "master-max"
55#define PCMK_XA_PROMOTED_NODE_MAX_LEGACY "master-node-max"
56
57
58/*
59 * Meta attributes
60 */
61
62#define PCMK_META_ENABLED "enabled"
63
64
65/*
66 * Older constants that don't follow current naming
67 */
68
69# ifndef F_ORIG
70# define F_ORIG "src"
71# endif
72
73# ifndef F_SEQ
74# define F_SEQ "seq"
75# endif
76
77# ifndef F_SUBTYPE
78# define F_SUBTYPE "subt"
79# endif
80
81# ifndef F_TYPE
82# define F_TYPE "t"
83# endif
84
85# ifndef F_CLIENTNAME
86# define F_CLIENTNAME "cn"
87# endif
88
89# ifndef F_XML_TAGNAME
90# define F_XML_TAGNAME "__name__"
91# endif
92
93# ifndef T_CRM
94# define T_CRM "crmd"
95# endif
96
97# ifndef T_ATTRD
98# define T_ATTRD "attrd"
99# endif
100
101# define CIB_OPTIONS_FIRST "cib-bootstrap-options"
102
103# define F_CRM_DATA "crm_xml"
104# define F_CRM_TASK "crm_task"
105# define F_CRM_HOST_TO "crm_host_to"
106# define F_CRM_MSG_TYPE F_SUBTYPE
107# define F_CRM_SYS_TO "crm_sys_to"
108# define F_CRM_SYS_FROM "crm_sys_from"
109# define F_CRM_HOST_FROM F_ORIG
110# define F_CRM_REFERENCE XML_ATTR_REFERENCE
111# define F_CRM_VERSION XML_ATTR_VERSION
112# define F_CRM_ORIGIN "origin"
113# define F_CRM_USER "crm_user"
114# define F_CRM_JOIN_ID "join_id"
115# define F_CRM_DC_LEAVING "dc-leaving"
116# define F_CRM_ELECTION_ID "election-id"
117# define F_CRM_ELECTION_AGE_S "election-age-sec"
118# define F_CRM_ELECTION_AGE_US "election-age-nano-sec"
119# define F_CRM_ELECTION_OWNER "election-owner"
120# define F_CRM_TGRAPH "crm-tgraph-file"
121# define F_CRM_TGRAPH_INPUT "crm-tgraph-in"
122
123# define F_CRM_THROTTLE_MODE "crm-limit-mode"
124# define F_CRM_THROTTLE_MAX "crm-limit-max"
125
126/*---- Common tags/attrs */
127# define XML_DIFF_MARKER "__crm_diff_marker__"
128# define XML_TAG_CIB "cib"
129# define XML_TAG_FAILED "failed"
130
131# define XML_ATTR_CRM_VERSION "crm_feature_set"
132# define XML_ATTR_DIGEST "digest"
133# define XML_ATTR_VALIDATION "validate-with"
134
135# define XML_ATTR_QUORUM_PANIC "no-quorum-panic"
136# define XML_ATTR_HAVE_QUORUM "have-quorum"
137# define XML_ATTR_HAVE_WATCHDOG "have-watchdog"
138# define XML_ATTR_GENERATION "epoch"
139# define XML_ATTR_GENERATION_ADMIN "admin_epoch"
140# define XML_ATTR_NUMUPDATES "num_updates"
141# define XML_ATTR_TIMEOUT "timeout"
142# define XML_ATTR_ORIGIN "crm-debug-origin"
143# define XML_ATTR_TSTAMP "crm-timestamp"
144# define XML_CIB_ATTR_WRITTEN "cib-last-written"
145# define XML_ATTR_VERSION "version"
146# define XML_ATTR_DESC "description"
147# define XML_ATTR_ID "id"
148# define XML_ATTR_NAME "name"
149# define XML_ATTR_IDREF "id-ref"
150# define XML_ATTR_ID_LONG "long-id"
151# define XML_ATTR_TYPE "type"
152# define XML_ATTR_VERBOSE "verbose"
153# define XML_ATTR_OP "op"
154# define XML_ATTR_DC_UUID "dc-uuid"
155# define XML_ATTR_UPDATE_ORIG "update-origin"
156# define XML_ATTR_UPDATE_CLIENT "update-client"
157# define XML_ATTR_UPDATE_USER "update-user"
158
159# define XML_BOOLEAN_TRUE "true"
160# define XML_BOOLEAN_FALSE "false"
161# define XML_BOOLEAN_YES XML_BOOLEAN_TRUE
162# define XML_BOOLEAN_NO XML_BOOLEAN_FALSE
163
164# define XML_TAG_OPTIONS "options"
165
166/*---- top level tags/attrs */
167# define XML_ATTR_REQUEST "request"
168# define XML_ATTR_RESPONSE "response"
169
170# define XML_ATTR_UNAME "uname"
171# define XML_ATTR_REFERENCE "reference"
172
173# define XML_CRM_TAG_PING "ping_response"
174# define XML_PING_ATTR_STATUS "result"
175# define XML_PING_ATTR_SYSFROM "crm_subsystem"
176# define XML_PING_ATTR_CRMDSTATE "crmd_state"
177# define XML_PING_ATTR_PACEMAKERDSTATE "pacemakerd_state"
178# define XML_PING_ATTR_PACEMAKERDSTATE_INIT "init"
179# define XML_PING_ATTR_PACEMAKERDSTATE_STARTINGDAEMONS "starting_daemons"
180# define XML_PING_ATTR_PACEMAKERDSTATE_WAITPING "wait_for_ping"
181# define XML_PING_ATTR_PACEMAKERDSTATE_RUNNING "running"
182# define XML_PING_ATTR_PACEMAKERDSTATE_SHUTTINGDOWN "shutting_down"
183# define XML_PING_ATTR_PACEMAKERDSTATE_SHUTDOWNCOMPLETE "shutdown_complete"
184# define XML_PING_ATTR_PACEMAKERDSTATE_REMOTE "remote"
185
186# define XML_TAG_FRAGMENT "cib_fragment"
187
188# define XML_FAIL_TAG_CIB "failed_update"
189
190# define XML_FAILCIB_ATTR_ID "id"
191# define XML_FAILCIB_ATTR_OBJTYPE "object_type"
192# define XML_FAILCIB_ATTR_OP "operation"
193# define XML_FAILCIB_ATTR_REASON "reason"
194
195/*---- CIB specific tags/attrs */
196# define XML_CIB_TAG_SECTION_ALL "all"
197# define XML_CIB_TAG_CONFIGURATION "configuration"
198# define XML_CIB_TAG_STATUS "status"
199# define XML_CIB_TAG_RESOURCES "resources"
200# define XML_CIB_TAG_NODES "nodes"
201# define XML_CIB_TAG_DOMAINS "domains"
202# define XML_CIB_TAG_CONSTRAINTS "constraints"
203# define XML_CIB_TAG_CRMCONFIG "crm_config"
204# define XML_CIB_TAG_OPCONFIG "op_defaults"
205# define XML_CIB_TAG_RSCCONFIG "rsc_defaults"
206# define XML_CIB_TAG_ACLS "acls"
207# define XML_CIB_TAG_ALERTS "alerts"
208# define XML_CIB_TAG_ALERT "alert"
209# define XML_CIB_TAG_ALERT_RECIPIENT "recipient"
210# define XML_CIB_TAG_ALERT_SELECT "select"
211# define XML_CIB_TAG_ALERT_ATTRIBUTES "select_attributes"
212# define XML_CIB_TAG_ALERT_FENCING "select_fencing"
213# define XML_CIB_TAG_ALERT_NODES "select_nodes"
214# define XML_CIB_TAG_ALERT_RESOURCES "select_resources"
215# define XML_CIB_TAG_ALERT_ATTR "attribute"
216
217# define XML_CIB_TAG_STATE "node_state"
218# define XML_CIB_TAG_NODE "node"
219# define XML_CIB_TAG_NVPAIR "nvpair"
220
221# define XML_CIB_TAG_PROPSET "cluster_property_set"
222# define XML_TAG_ATTR_SETS "instance_attributes"
223# define XML_TAG_META_SETS "meta_attributes"
224# define XML_TAG_ATTRS "attributes"
225# define XML_TAG_PARAMS "parameters"
226# define XML_TAG_PARAM "param"
227# define XML_TAG_UTILIZATION "utilization"
228
229# define XML_TAG_RESOURCE_REF "resource_ref"
230# define XML_CIB_TAG_RESOURCE "primitive"
231# define XML_CIB_TAG_GROUP "group"
232# define XML_CIB_TAG_INCARNATION "clone"
233# define XML_CIB_TAG_CONTAINER "bundle"
234
235# define XML_CIB_TAG_RSC_TEMPLATE "template"
236
237# define XML_RSC_ATTR_TARGET "container-attribute-target"
238# define XML_RSC_ATTR_RESTART "restart-type"
239# define XML_RSC_ATTR_ORDERED "ordered"
240# define XML_RSC_ATTR_INTERLEAVE "interleave"
241# define XML_RSC_ATTR_INCARNATION "clone"
242# define XML_RSC_ATTR_INCARNATION_MAX "clone-max"
243# define XML_RSC_ATTR_INCARNATION_MIN "clone-min"
244# define XML_RSC_ATTR_INCARNATION_NODEMAX "clone-node-max"
245# define XML_RSC_ATTR_PROMOTABLE "promotable"
246# define XML_RSC_ATTR_PROMOTED_MAX "promoted-max"
247# define XML_RSC_ATTR_PROMOTED_NODEMAX "promoted-node-max"
248# define XML_RSC_ATTR_MANAGED "is-managed"
249# define XML_RSC_ATTR_TARGET_ROLE "target-role"
250# define XML_RSC_ATTR_UNIQUE "globally-unique"
251# define XML_RSC_ATTR_NOTIFY "notify"
252# define XML_RSC_ATTR_STICKINESS "resource-stickiness"
253# define XML_RSC_ATTR_FAIL_STICKINESS "migration-threshold"
254# define XML_RSC_ATTR_FAIL_TIMEOUT "failure-timeout"
255# define XML_RSC_ATTR_MULTIPLE "multiple-active"
256# define XML_RSC_ATTR_REQUIRES "requires"
257# define XML_RSC_ATTR_CONTAINER "container"
258# define XML_RSC_ATTR_INTERNAL_RSC "internal_rsc"
259# define XML_RSC_ATTR_MAINTENANCE "maintenance"
260# define XML_RSC_ATTR_REMOTE_NODE "remote-node"
261# define XML_RSC_ATTR_CLEAR_OP "clear_failure_op"
262# define XML_RSC_ATTR_CLEAR_INTERVAL "clear_failure_interval"
263# define XML_RSC_ATTR_REMOTE_RA_ADDR "addr"
264# define XML_RSC_ATTR_REMOTE_RA_SERVER "server"
265# define XML_RSC_ATTR_REMOTE_RA_PORT "port"
266# define XML_RSC_ATTR_CRITICAL "critical"
267
268# define XML_REMOTE_ATTR_RECONNECT_INTERVAL "reconnect_interval"
269
270# define XML_OP_ATTR_ON_FAIL "on-fail"
271# define XML_OP_ATTR_START_DELAY "start-delay"
272# define XML_OP_ATTR_ALLOW_MIGRATE "allow-migrate"
273# define XML_OP_ATTR_ORIGIN "interval-origin"
274# define XML_OP_ATTR_PENDING "record-pending"
275# define XML_OP_ATTR_DIGESTS_ALL "digests-all"
276# define XML_OP_ATTR_DIGESTS_SECURE "digests-secure"
277
278# define XML_CIB_TAG_LRM "lrm"
279# define XML_LRM_TAG_RESOURCES "lrm_resources"
280# define XML_LRM_TAG_RESOURCE "lrm_resource"
281# define XML_LRM_TAG_RSC_OP "lrm_rsc_op"
282# define XML_AGENT_ATTR_CLASS "class"
283# define XML_AGENT_ATTR_PROVIDER "provider"
284
286# define XML_CIB_ATTR_REPLACE "replace"
287
288# define XML_CIB_ATTR_SOURCE "source"
289
290# define XML_CIB_ATTR_PRIORITY "priority"
291# define XML_CIB_ATTR_SOURCE "source"
292
293# define XML_NODE_JOIN_STATE "join"
294# define XML_NODE_EXPECTED "expected"
295# define XML_NODE_IN_CLUSTER "in_ccm"
296# define XML_NODE_IS_PEER "crmd"
297# define XML_NODE_IS_REMOTE "remote_node"
298# define XML_NODE_IS_FENCED "node_fenced"
299# define XML_NODE_IS_MAINTENANCE "node_in_maintenance"
300
301# define XML_CIB_ATTR_SHUTDOWN "shutdown"
302
303/* Aside from being an old name for the executor, LRM is a misnomer here because
304 * the controller and scheduler use these to track actions, which are not always
305 * executor operations.
306 */
307
308// XML attribute that takes interval specification (user-facing configuration)
309# define XML_LRM_ATTR_INTERVAL "interval"
310
311// XML attribute that takes interval in milliseconds (daemon APIs)
312// (identical value as above, but different constant allows clearer code intent)
313# define XML_LRM_ATTR_INTERVAL_MS XML_LRM_ATTR_INTERVAL
314
315# define XML_LRM_ATTR_TASK "operation"
316# define XML_LRM_ATTR_TASK_KEY "operation_key"
317# define XML_LRM_ATTR_TARGET "on_node"
318# define XML_LRM_ATTR_TARGET_UUID "on_node_uuid"
323# define XML_LRM_ATTR_ROUTER_NODE "router_node"
324# define XML_LRM_ATTR_RSCID "rsc-id"
325# define XML_LRM_ATTR_OPSTATUS "op-status"
326# define XML_LRM_ATTR_RC "rc-code"
327# define XML_LRM_ATTR_CALLID "call-id"
328# define XML_LRM_ATTR_OP_DIGEST "op-digest"
329# define XML_LRM_ATTR_OP_RESTART "op-force-restart"
330# define XML_LRM_ATTR_OP_SECURE "op-secure-params"
331# define XML_LRM_ATTR_RESTART_DIGEST "op-restart-digest"
332# define XML_LRM_ATTR_SECURE_DIGEST "op-secure-digest"
333# define XML_LRM_ATTR_EXIT_REASON "exit-reason"
334
335# define XML_RSC_OP_LAST_CHANGE "last-rc-change"
336# define XML_RSC_OP_LAST_RUN "last-run" // deprecated since 2.0.3
337# define XML_RSC_OP_T_EXEC "exec-time"
338# define XML_RSC_OP_T_QUEUE "queue-time"
339
340# define XML_LRM_ATTR_MIGRATE_SOURCE "migrate_source"
341# define XML_LRM_ATTR_MIGRATE_TARGET "migrate_target"
342
343# define XML_TAG_GRAPH "transition_graph"
344# define XML_GRAPH_TAG_RSC_OP "rsc_op"
345# define XML_GRAPH_TAG_PSEUDO_EVENT "pseudo_event"
346# define XML_GRAPH_TAG_CRM_EVENT "crm_event"
347# define XML_GRAPH_TAG_DOWNED "downed"
348# define XML_GRAPH_TAG_MAINTENANCE "maintenance"
349
350# define XML_TAG_RULE "rule"
351# define XML_RULE_ATTR_SCORE "score"
352# define XML_RULE_ATTR_SCORE_ATTRIBUTE "score-attribute"
353# define XML_RULE_ATTR_ROLE "role"
354# define XML_RULE_ATTR_BOOLEAN_OP "boolean-op"
355
356# define XML_TAG_EXPRESSION "expression"
357# define XML_EXPR_ATTR_ATTRIBUTE "attribute"
358# define XML_EXPR_ATTR_OPERATION "operation"
359# define XML_EXPR_ATTR_VALUE "value"
360# define XML_EXPR_ATTR_TYPE "type"
361# define XML_EXPR_ATTR_VALUE_SOURCE "value-source"
362
363# define XML_CONS_TAG_RSC_DEPEND "rsc_colocation"
364# define XML_CONS_TAG_RSC_ORDER "rsc_order"
365# define XML_CONS_TAG_RSC_LOCATION "rsc_location"
366# define XML_CONS_TAG_RSC_TICKET "rsc_ticket"
367# define XML_CONS_TAG_RSC_SET "resource_set"
368# define XML_CONS_ATTR_SYMMETRICAL "symmetrical"
369
370# define XML_LOCATION_ATTR_DISCOVERY "resource-discovery"
371
372# define XML_COLOC_ATTR_SOURCE "rsc"
373# define XML_COLOC_ATTR_SOURCE_ROLE "rsc-role"
374# define XML_COLOC_ATTR_TARGET "with-rsc"
375# define XML_COLOC_ATTR_TARGET_ROLE "with-rsc-role"
376# define XML_COLOC_ATTR_NODE_ATTR "node-attribute"
377# define XML_COLOC_ATTR_INFLUENCE "influence"
378
380# define XML_COLOC_ATTR_SOURCE_INSTANCE "rsc-instance"
381
383# define XML_COLOC_ATTR_TARGET_INSTANCE "with-rsc-instance"
384
385# define XML_LOC_ATTR_SOURCE "rsc"
386# define XML_LOC_ATTR_SOURCE_PATTERN "rsc-pattern"
387
388# define XML_ORDER_ATTR_FIRST "first"
389# define XML_ORDER_ATTR_THEN "then"
390# define XML_ORDER_ATTR_FIRST_ACTION "first-action"
391# define XML_ORDER_ATTR_THEN_ACTION "then-action"
392# define XML_ORDER_ATTR_KIND "kind"
393
395# define XML_ORDER_ATTR_FIRST_INSTANCE "first-instance"
396
398# define XML_ORDER_ATTR_THEN_INSTANCE "then-instance"
399
400# define XML_TICKET_ATTR_TICKET "ticket"
401# define XML_TICKET_ATTR_LOSS_POLICY "loss-policy"
402
403# define XML_NVPAIR_ATTR_NAME "name"
404# define XML_NVPAIR_ATTR_VALUE "value"
405
406# define XML_NODE_ATTR_RSC_DISCOVERY "resource-discovery-enabled"
407
408# define XML_CONFIG_ATTR_DC_DEADTIME "dc-deadtime"
409# define XML_CONFIG_ATTR_ELECTION_FAIL "election-timeout"
410# define XML_CONFIG_ATTR_FORCE_QUIT "shutdown-escalation"
411# define XML_CONFIG_ATTR_RECHECK "cluster-recheck-interval"
412# define XML_CONFIG_ATTR_FENCE_REACTION "fence-reaction"
413# define XML_CONFIG_ATTR_SHUTDOWN_LOCK "shutdown-lock"
414# define XML_CONFIG_ATTR_SHUTDOWN_LOCK_LIMIT "shutdown-lock-limit"
415# define XML_CONFIG_ATTR_PRIORITY_FENCING_DELAY "priority-fencing-delay"
416
417# define XML_ALERT_ATTR_PATH "path"
418# define XML_ALERT_ATTR_TIMEOUT "timeout"
419# define XML_ALERT_ATTR_TSTAMP_FORMAT "timestamp-format"
420# define XML_ALERT_ATTR_REC_VALUE "value"
421
422# define XML_CIB_TAG_GENERATION_TUPPLE "generation_tuple"
423
424# define XML_ATTR_TRANSITION_MAGIC "transition-magic"
425# define XML_ATTR_TRANSITION_KEY "transition-key"
426
427# define XML_ATTR_TE_NOWAIT "op_no_wait"
428# define XML_ATTR_TE_TARGET_RC "op_target_rc"
429# define XML_TAG_TRANSIENT_NODEATTRS "transient_attributes"
430
431# define XML_TAG_DIFF_ADDED "diff-added"
432# define XML_TAG_DIFF_REMOVED "diff-removed"
433
434# define XML_ACL_TAG_USER "acl_target"
435# define XML_ACL_TAG_USERv1 "acl_user"
436# define XML_ACL_TAG_GROUP "acl_group"
437# define XML_ACL_TAG_ROLE "acl_role"
438# define XML_ACL_TAG_PERMISSION "acl_permission"
439# define XML_ACL_TAG_ROLE_REF "role"
440# define XML_ACL_TAG_ROLE_REFv1 "role_ref"
441# define XML_ACL_ATTR_KIND "kind"
442# define XML_ACL_TAG_READ "read"
443# define XML_ACL_TAG_WRITE "write"
444# define XML_ACL_TAG_DENY "deny"
445# define XML_ACL_ATTR_REF "reference"
446# define XML_ACL_ATTR_REFv1 "ref"
447# define XML_ACL_ATTR_TAG "object-type"
448# define XML_ACL_ATTR_TAGv1 "tag"
449# define XML_ACL_ATTR_XPATH "xpath"
450# define XML_ACL_ATTR_ATTRIBUTE "attribute"
451
452# define XML_CIB_TAG_TICKETS "tickets"
453# define XML_CIB_TAG_TICKET_STATE "ticket_state"
454
455# define XML_CIB_TAG_TAGS "tags"
456# define XML_CIB_TAG_TAG "tag"
457# define XML_CIB_TAG_OBJ_REF "obj_ref"
458
459# define XML_TAG_FENCING_TOPOLOGY "fencing-topology"
460# define XML_TAG_FENCING_LEVEL "fencing-level"
461# define XML_ATTR_STONITH_INDEX "index"
462# define XML_ATTR_STONITH_TARGET "target"
463# define XML_ATTR_STONITH_TARGET_VALUE "target-value"
464# define XML_ATTR_STONITH_TARGET_PATTERN "target-pattern"
465# define XML_ATTR_STONITH_TARGET_ATTRIBUTE "target-attribute"
466# define XML_ATTR_STONITH_DEVICES "devices"
467
468# define XML_TAG_DIFF "diff"
469# define XML_DIFF_VERSION "version"
470# define XML_DIFF_VSOURCE "source"
471# define XML_DIFF_VTARGET "target"
472# define XML_DIFF_CHANGE "change"
473# define XML_DIFF_LIST "change-list"
474# define XML_DIFF_ATTR "change-attr"
475# define XML_DIFF_RESULT "change-result"
476# define XML_DIFF_OP "operation"
477# define XML_DIFF_PATH "path"
478# define XML_DIFF_POSITION "position"
479
480# define ID(x) crm_element_value(x, XML_ATTR_ID)
481# define TYPE(x) crm_element_name(x)
482
483#ifdef __cplusplus
484}
485#endif
486
487#endif
Deprecated Pacemaker XML constants API.
Wrappers for and extensions to libxml2.