diff --git a/TODO.markdown b/TODO.markdown index 22586903ff..350ecb9c18 100644 --- a/TODO.markdown +++ b/TODO.markdown @@ -1,60 +1,60 @@ # Semi-random collection of tasks we'd like to get done ## Targeted for 1.2 -- Promote any necessary items from the 1.1 schema - Get fencing/test.c working again (with and without stonithd -s) - Avoid the use of xmlNode in fencing register_callback() call types - Need a way to indicate when unfencing operations need to be initiated from the host to be unfenced - Figure out how to sanely allow nodes with corosync but no pacemaker - sysconfig variable that tells pacemaker whether to fence members without pacemaker? - Arrange for nodes that didnt complete the join to be fenced - Remove instance numbers from anonymous clones ## Targeted for 1.2.x - Check for uppercase letters in node names, warn if found - Imply startup-failure-is-fatal from on-fail="restart" - Show an english version of the config with crm_resource --rules - Convert cts/CIB.py into a supported Python API for the CIB - Use crm_log_tag() in the PE to allow per-resource trace logging - Reduce the amount of stonith-ng logging - Reduce the amount of attrd logging - Use dlopen for snmp ## Targeted for 1.4 - Support A colocated with (B || C || D) - Implement a truely atomic version of attrd - Support rolling average values in attrd - Support heartbeat with the mcp - Freeze/Thaw - Create Pacemaker plugin for snmpd - http://www.net-snmp.org/ - Investigate using a DB as the back-end for the CIB +- Decide whether to fully support or drop failover domains # Testing - Write a regression test for Stonith-NG - Convert BandwidthTest CTS test into a Scenario wrapper - find_operations() is not covered by PE regression tests - Some node states in determine_online_status_fencing() are untested by PE regression tests - no_quorum_policy==suicide is not covered by PE regression tests - parse_xml_duration() is not covered by PE regression tests - phase_of_the_moon() is not covered by PE regression tests - test_role_expression() is not covered by PE regression tests - native_parameter() is not covered by PE regression tests - clone_resource_state() is not covered by PE regression tests - clone_active() is not covered by PE regression tests - convert_non_atomic_task() in native.c is not covered by PE regression tests - clone_rsc_colocation_lh() is not covered by PE regression tests - group_rsc_colocation_lh() is not covered by PE regression tests - Test on-fail=standby # Documentation - Clusters from Scratch: Mail - Clusters from Scratch: MySQL - Document reload in Pacemaker Explained - Use ann:defaultValue="..." instead of <optional> in the schema more often - Allow Clusters from Scratch to be built in two flavors - pcs and crm shell diff --git a/xml/pacemaker-1.2.rng b/xml/pacemaker-1.2.rng index b2e484810e..2e16f028c6 100644 --- a/xml/pacemaker-1.2.rng +++ b/xml/pacemaker-1.2.rng @@ -1,141 +1,144 @@ <?xml version="1.0" encoding="utf-8"?> <!-- types: http://www.w3.org/TR/xmlschema-2/#dateTime --> <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <start> <element name="cib"> <ref name="element-cib"/> </element> </start> <define name="element-cib"> <ref name="attribute-options"/> <element name="configuration"> <interleave> <element name="crm_config"> <zeroOrMore> <element name="cluster_property_set"> <externalRef href="nvset.rng"/> </element> </zeroOrMore> </element> <optional> <element name="rsc_defaults"> <zeroOrMore> <element name="meta_attributes"> <externalRef href="nvset.rng"/> </element> </zeroOrMore> </element> </optional> <optional> <element name="op_defaults"> <zeroOrMore> <element name="meta_attributes"> <externalRef href="nvset.rng"/> </element> </zeroOrMore> </element> </optional> <ref name="element-nodes"/> <element name="resources"> <externalRef href="resources-1.2.rng"/> </element> <element name="constraints"> <externalRef href="constraints-1.2.rng"/> </element> <optional> <externalRef href="acls-1.2.rng"/> </optional> + <optional> + <externalRef href="fencing.rng"/> + </optional> </interleave> </element> <element name="status"> <ref name="element-status"/> </element> </define> <define name="attribute-options"> <externalRef href="versions.rng"/> <optional> <attribute name="crm_feature_set"><text/></attribute> </optional> <optional> <attribute name="remote-tls-port"><data type="nonNegativeInteger"/></attribute> </optional> <optional> <attribute name="remote-clear-port"><data type="nonNegativeInteger"/></attribute> </optional> <optional> <attribute name="have-quorum"><data type="boolean"/></attribute> </optional> <optional> <attribute name="dc-uuid"><text/></attribute> </optional> <optional> <attribute name="cib-last-written"><text/></attribute> </optional> <optional> <attribute name="no-quorum-panic"><data type="boolean"/></attribute> </optional> <optional> <attribute name="update-origin"><text/></attribute> </optional> <optional> <attribute name="update-client"><text/></attribute> </optional> <optional> <attribute name="update-user"><text/></attribute> </optional> </define> <define name="element-nodes"> <element name="nodes"> <zeroOrMore> <element name="node"> <attribute name="id"><text/></attribute> <attribute name="uname"><text/></attribute> <attribute name="type"> <choice> <value>normal</value> <value>member</value> <value>ping</value> </choice> </attribute> <optional> <attribute name="description"><text/></attribute> </optional> <optional> <externalRef href="score.rng"/> </optional> <zeroOrMore> <choice> <element name="instance_attributes"> <externalRef href="nvset.rng"/> </element> <element name="utilization"> <externalRef href="nvset.rng"/> </element> </choice> </zeroOrMore> </element> </zeroOrMore> </element> </define> <define name="element-status"> <zeroOrMore> <choice> <attribute> <anyName/> <text/> </attribute> <element> <anyName/> <ref name="element-status"/> </element> <text/> </choice> </zeroOrMore> </define> </grammar>