Page Menu
Home
ClusterLabs Projects
Search
Configure Global Search
Log In
Files
F5519421
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
13 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/crm/crm-1.0.dtd b/crm/crm-1.0.dtd
index f83abe7bdb..3cd3a84035 100644
--- a/crm/crm-1.0.dtd
+++ b/crm/crm-1.0.dtd
@@ -1,359 +1,360 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
This document describes the XML elements used by the CRM.
It can be found on the web at:
http://wiki.linux-ha.org/ClusterResourceManager/DTD1.0
For reasons of user availability, the annotations formerly found here
are now located at:
http://wiki.linux-ha.org/ClusterResourceManager/DTD1.0/Annotated
which is also linked to directly by the page above.
-->
<!ELEMENT cib (configuration, status)>
<!ATTLIST cib
timestamp CDATA #IMPLIED
last_written CDATA #IMPLIED
admin_epoch CDATA #IMPLIED
epoch CDATA #IMPLIED
num_updates CDATA #IMPLIED
num_peers CDATA #IMPLIED
dc_uuid CDATA #IMPLIED
ccm_transition CDATA #REQUIRED
have_quorum (true|false) 'false'
cib_feature_revision CDATA #REQUIRED>
<!ELEMENT configuration (nodes, resources, constraints, crm_config)>
<!-- Annotated version -->
<!ELEMENT crm_config (nvpair*)>
<!ELEMENT nodes (node*)>
<!-- Annotated version -->
<!ELEMENT node (instance_attributes*)>
<!ATTLIST node
id CDATA #REQUIRED
uname CDATA #REQUIRED
description CDATA #IMPLIED
dc_weight CDATA #IMPLIED
type (member|ping) #REQUIRED>
<!ELEMENT resources (primitive*, group*, clone*)>
<!-- Annotated version -->
<!ELEMENT primitive (operations, instance_attributes*)>
<!ATTLIST primitive
id CDATA #REQUIRED
description CDATA #IMPLIED
class (ocf|init|heartbeat|stonith) #REQUIRED
type CDATA #REQUIRED
provider CDATA #IMPLIED
is_managed (true|false) 'true'
on_stopfail (ignore|stonith|block) #IMPLIED
restart_type (ignore|restart) 'ignore'
multiple_active (stop_start|stop_only|block) 'stop_start'
resource_stickiness (0|INFINITY|-INFINITY) '0'
start_prereq (nothing|quorum|fencing) #IMPLIED>
<!-- Annotated version -->
<!ELEMENT operations (op*)>
<!ELEMENT op (instance_attributes*)>
<!ATTLIST op
id CDATA #REQUIRED
name CDATA #REQUIRED
description CDATA #IMPLIED
interval CDATA #IMPLIED
timeout CDATA #IMPLIED
prereq (nothing|quorum|fencing) #IMPLIED
on_fail (nothing|block|stop|fence) #IMPLIED>
<!-- Annotated version -->
<!ELEMENT group (primitive+)>
<!ATTLIST group
id CDATA #REQUIRED
description CDATA #IMPLIED
is_managed (true|false) 'true'
on_stopfail (ignore|stonith|block) #IMPLIED
restart_type (ignore|restart) 'ignore'
multiple_active (stop_start|stop_only|block) 'stop_start'
resource_stickiness (0|INFINITY|-INFINITY) '0'
start_prereq (nothing|quorum|fencing) #IMPLIED>
<!ELEMENT clone (primitive|group)>
<!ATTLIST clone
id CDATA #REQUIRED
description CDATA #IMPLIED
is_managed (true|false) 'true'
on_stopfail (ignore|stonith|block) #IMPLIED
restart_type (ignore|restart) 'ignore'
multiple_active (stop_start|stop_only|block) 'stop_start'
resource_stickiness (0|INFINITY|-INFINITY) '0'
start_prereq (nothing|quorum|fencing) #IMPLIED
notify (true|false) 'false'
ordered (true|false) 'true'
interleave (true|false) 'false'>
<!ELEMENT master_slave (clone)>
<!ATTLIST master_slave
id CDATA #REQUIRED
description CDATA #IMPLIED
is_managed (true|false) 'true'
on_stopfail (ignore|stonith|block) #IMPLIED
restart_type (ignore|restart) 'ignore'
multiple_active (stop_start|stop_only|block) 'stop_start'
resource_stickiness (0|INFINITY|-INFINITY) '0'
start_prereq (nothing|quorum|fencing) #IMPLIED
notify (true|false) 'false'
ordered (true|false) 'true'
interleave (true|false) 'false'
max_masters CDATA #REQUIRED
max_node_masters CDATA #REQUIRED>
<!-- Annotated version -->
<!ELEMENT instance_attributes (rule*, attributes)>
<!-- Annotated version -->
<!ELEMENT constraints (rsc_order*, rsc_colocation*, rsc_location*)>
<!ELEMENT rsc_order (lifetime?)>
<!ATTLIST rsc_order
id CDATA #REQUIRED
from CDATA #REQUIRED
action (start|stop) 'start'
type (before|after) 'after'
to CDATA #REQUIRED
symetrical (TRUE|FALSE) 'TRUE'>
<!-- Annotated version -->
<!ELEMENT rsc_colocation (lifetime?)>
<!ATTLIST rsc_colocation
id CDATA #REQUIRED
from CDATA #REQUIRED
to CDATA #REQUIRED
score (INFINITY|-INFINITY) #REQUIRED>
<!-- Annotated version -->
<!ELEMENT rsc_location (lifetime?,rule+)>
<!ATTLIST rsc_location
id CDATA #REQUIRED
description CDATA #IMPLIED
rsc CDATA #REQUIRED>
<!ELEMENT lifetime (rule+)>
<!-- Annotated version -->
<!ELEMENT rule (expression|time_expression|rule)+>
<!ATTLIST rule
id CDATA #REQUIRED
score CDATA #IMPLIED
boolean_op (or|and) 'and'>
<!-- Annotated version -->
<!ELEMENT expression EMPTY>
<!ATTLIST expression
id CDATA #REQUIRED
attribute CDATA #REQUIRED
operation (lt|gt|lte|gte|eq|ne|defined|not_defined)
value CDATA #IMPLIED
type (integer|string|version) 'string'>
<!-- Annotated version -->
<!ELEMENT date_expression (date_spec?,duration?)>
<!ATTLIST date_expression
operation (in_range|date_spec|gt|lt) 'in_range'
start CDATA #IMPLIED
end CDATA #IMPLIED>
<!-- Annotated version -->
<!ELEMENT date_spec>
<!ATTLIST date_spec
monthdays CDATA #IMPLIED
weekdays CDATA #IMPLIED
yeardays CDATA #IMPLIED
months CDATA #IMPLIED
weeks CDATA #IMPLIED
weekyears CDATA #IMPLIED
- years CDATA #IMPLIED>
+ years CDATA #IMPLIED
+ moon CDATA #IMPLIED>
<!ELEMENT duration>
<!ATTLIST duration
monthdays CDATA #IMPLIED
weekdays CDATA #IMPLIED
yeardays CDATA #IMPLIED
months CDATA #IMPLIED
weeks CDATA #IMPLIED
years CDATA #IMPLIED>
<!-- Annotated version -->
<!ELEMENT status (node_state*)>
<!ELEMENT node_state (lrm, attributes)>
<!ATTLIST node_state
id CDATA #REQUIRED
uname CDATA #REQUIRED
crmd (online|offline) 'offline'
join (pending|member|down) 'down'
expected (pending|member|down) 'down'
in_ccm (true|false) 'false'
shutdown CDATA #IMPLIED
timestamp CDATA #IMPLIED>
<!ELEMENT lrm (lrm_resources)>
<!ATTLIST lrm
id CDATA #REQUIRED
version CDATA #REQUIRED>
<!-- Annotated version -->
<!ELEMENT lrm_resources (lrm_resource*)>
<!ELEMENT lrm_resource (lrm_rsc_op)>
<!ATTLIST lrm_resource
id CDATA #REQUIRED
rsc_state (stopped|starting|started|fail|restarting|stopping|stop_fail)
#REQUIRED
last_op CDATA #REQUIRED
op_status CDATA #REQUIRED
rc_code CDATA #REQUIRED>
<!ELEMENT lrm_rsc_op)>
<!ATTLIST lrm_rsc_op
id CDATA #REQUIRED
operation CDATA #REQUIRED
op_status CDATA #REQUIRED
rc_code CDATA #REQUIRED
call_id CDATA #REQUIRED
rsc_state CDATA #IMPLIED
transition_key CDATA #IMPLIED
transition_magic CDATA #REQUIRED>
<!ELEMENT nvpair EMPTY>
<!ATTLIST nvpair
id CDATA #REQUIRED
name CDATA #REQUIRED
value CDATA #IMPLIED>
<!ELEMENT attributes (nvpair*)>
<!-- ============================================================== -->
<!-- ============================================================== -->
<!--
The Transition Graph is an ordered list of synapses, which consist of a
list of pre-conditions (events) they are waiting for / triggering on
and a (list of) actions which are initiated when they "fire". The first
synapse to have a matching input "consumes" the event unless specified
differently.
-->
<!ELEMENT transition_graph (action_set*,errors*)>
<!-- When all inputs to a synapse are satisfied, the synapse fires the
actions.
"reset" states whether after having fired once, the synapse resets
and accepts input again. "no": After having fired, the synapse
becomes completely inactive. "yes": it completely resets. "greedy":
The synapse will still 'consume' input, but not fire again.
-->
<!ELEMENT synapse (inputs,action_set)>
<!ATTLIST synapse
id CDATA #REQUIRED
reset (no|yes|greedy) 'greedy'>
<!ELEMENT inputs (trigger+)>
<!-- event_spec specifies the event we are looking for.
This can be anything from "rsc foo started somewhere / on node X",
"STONITH of node A completed", "DEFAULT" etc...
If an event is "consumed", no further inputs in other synapses will
be triggered by it. If "no", the event will pass through,
triggering us but otherwise completely unaltered. If "marks", we
simply remember that the event has been accepted somewhere, but
pass it on.
-->
<!ELEMENT trigger (rsc_state*,node_state*,pseudo_event*,crm_event*)>
<!ATTLIST trigger
id CDATA #REQUIRED
consumes (no|yes|marks) 'marks'>
<!-- STONITH events end up being rsc_ops; remember that we hope to
simply invoke 'STONITH Resource Agent' and feed it with appropriate
parameters.
-->
<!ELEMENT action_set (rsc_op*,pseudo_event*,crm_event*)>
<!-- The resource object inside the rsc_op object differs from the
resources list only in content, not in syntax.
- it is pre-processed, ie there's a maximum of one set of
instance_parameters
on_node is the uname of the node on which to trigger the operation.
The operation is the command passed to the Resource Agent.
"allow_fail" when set to true, the transition isnt aborted when the
action fails. eg. a stop or shutdown isnt fatal when a STONITH is also
pending for that node.
-->
<!ELEMENT rsc_op (primitive, attributes)>
<!ATTLIST rsc_op
id CDATA #REQUIRED
operation CDATA #REQUIRED
on_node CDATA #REQUIRED
on_node_uuid CDATA #REQUIRED
timeout CDATA #REQUIRED
allow_fail (true|false) 'false'>
<!-- For added flexibility, an action can trigger an event, which is
then consumed somewhere else. Woah. Cool.
-->
<!ELEMENT pseudo_event (attributes)>
<!ATTLIST pseudo_event
id CDATA #REQUIRED
operation CDATA #REQUIRED
on_node CDATA #REQUIRED
on_node_uuid CDATA #REQUIRED
timeout CDATA #REQUIRED
allow_fail (true|false) 'false'>
<!-- crm_event: We can instruct a crmd to shutdown (maybe the whole node?),
sign-out cleanly, or to retrigger the DC election.
-->
<!ELEMENT crm_event (attributes)>
<!ATTLIST crm_event
id CDATA #REQUIRED
allow_fail (true|false) 'false'
on_node CDATA #REQUIRED
on_node_uuid CDATA #REQUIRED
timeout CDATA #REQUIRED
operation (shutdown|signout|signup|election) #REQUIRED>
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- not currently used -->
<!ELEMENT msg_addr EMPTY>
<!ATTLIST msg_addr
part (src|dst) #REQUIRED
subsystem (dc|crmd|dcib|cib|pe|te|lrm|admin) #REQUIRED
host CDATA #IMPLIED>
<!-- ============================================================== -->
<!-- ============================================================== -->
<!-- Common elements -->
<!ELEMENT nvpair EMPTY>
<!-- No, you don't /have/ to give a value. There's a difference between
a key not being present and a key not having a value. -->
<!ATTLIST nvpair
id CDATA #REQUIRED
name CDATA #REQUIRED
value CDATA #IMPLIED>
<!ELEMENT attributes (nvpair*)>
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Fri, Sep 5, 9:29 AM (12 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2308691
Default Alt Text
(13 KB)
Attached To
Mode
rP Pacemaker
Attached
Detach File
Event Timeline
Log In to Comment