diff --git a/xml/api/crm_simulate-2.8.rng b/xml/api/crm_simulate-2.8.rng
index 0b8e814af3..9a7612d580 100644
--- a/xml/api/crm_simulate-2.8.rng
+++ b/xml/api/crm_simulate-2.8.rng
@@ -1,307 +1,335 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <grammar xmlns="http://relaxng.org/ns/structure/1.0"
          datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
 
     <start>
         <ref name="element-crm-simulate"/>
     </start>
 
     <define name="element-crm-simulate">
         <choice>
             <ref name="timings-list" />
             <group>
                 <ref name="cluster-status" />
                 <optional>
                     <ref name="modifications-list" />
                 </optional>
                 <optional>
                     <ref name="allocations-utilizations-list" />
                 </optional>
                 <optional>
                     <ref name="action-list" />
                 </optional>
                 <optional>
                     <ref name="cluster-injected-actions-list" />
                     <ref name="revised-cluster-status" />
                 </optional>
             </group>
         </choice>
     </define>
 
     <define name="allocations-utilizations-list">
         <choice>
             <element name="allocations">
                 <zeroOrMore>
                     <choice>
                         <ref name="element-allocation" />
                         <ref name="element-promotion" />
                     </choice>
                 </zeroOrMore>
             </element>
             <element name="utilizations">
                 <zeroOrMore>
                     <choice>
                         <ref name="element-capacity" />
                         <ref name="element-utilization" />
                     </choice>
                 </zeroOrMore>
             </element>
             <element name="allocations_utilizations">
                 <zeroOrMore>
                     <choice>
                         <ref name="element-allocation" />
                         <ref name="element-promotion" />
                         <ref name="element-capacity" />
                         <ref name="element-utilization" />
                     </choice>
                 </zeroOrMore>
             </element>
         </choice>
     </define>
 
     <define name="cluster-status">
         <element name="cluster_status">
             <ref name="nodes-list" />
             <ref name="resources-list" />
+            <optional>
+                <ref name="node-attributes-list" />
+            </optional>
+            <optional>
+                <ref name="failures-list" />
+            </optional>
         </element>
     </define>
 
     <define name="modifications-list">
         <element name="modifications">
             <optional>
                 <attribute name="quorum"> <text /> </attribute>
             </optional>
             <optional>
                 <attribute name="watchdog"> <text /> </attribute>
             </optional>
             <zeroOrMore>
                 <ref name="element-inject-modify-node" />
             </zeroOrMore>
             <zeroOrMore>
                 <ref name="element-inject-modify-ticket" />
             </zeroOrMore>
             <zeroOrMore>
                 <ref name="element-inject-spec" />
             </zeroOrMore>
             <zeroOrMore>
                 <ref name="element-inject-attr" />
             </zeroOrMore>
         </element>
     </define>
 
     <define name="revised-cluster-status">
         <element name="revised_cluster_status">
             <ref name="nodes-list" />
             <ref name="resources-list" />
+            <optional>
+                <ref name="node-attributes-list" />
+            </optional>
+            <optional>
+                <ref name="failures-list" />
+            </optional>
         </element>
     </define>
 
     <define name="element-inject-attr">
         <element name="inject_attr">
             <attribute name="cib_node"> <text /> </attribute>
             <attribute name="name"> <text /> </attribute>
             <attribute name="node_path"> <text /> </attribute>
             <attribute name="value"> <text /> </attribute>
         </element>
     </define>
 
     <define name="element-inject-modify-node">
         <element name="modify_node">
             <attribute name="action"> <text /> </attribute>
             <attribute name="node"> <text /> </attribute>
         </element>
     </define>
 
     <define name="element-inject-spec">
         <element name="inject_spec">
             <attribute name="spec"> <text /> </attribute>
         </element>
     </define>
 
     <define name="element-inject-modify-ticket">
         <element name="modify_ticket">
             <attribute name="action"> <text /> </attribute>
             <attribute name="ticket"> <text /> </attribute>
         </element>
     </define>
 
     <define name="cluster-injected-actions-list">
         <element name="transition">
             <zeroOrMore>
                 <ref name="element-injected-actions" />
             </zeroOrMore>
         </element>
     </define>
 
+    <define name="node-attributes-list">
+        <element name="node_attributes">
+            <zeroOrMore>
+                <externalRef href="node-attrs-2.8.rng" />
+            </zeroOrMore>
+        </element>
+    </define>
+
+    <define name="failures-list">
+        <element name="failures">
+            <zeroOrMore>
+                <externalRef href="failure-2.8.rng" />
+            </zeroOrMore>
+        </element>
+    </define>
+
     <define name="nodes-list">
         <element name="nodes">
             <zeroOrMore>
                 <externalRef href="nodes-2.8.rng" />
             </zeroOrMore>
         </element>
     </define>
 
     <define name="resources-list">
         <element name="resources">
             <zeroOrMore>
                 <externalRef href="resources-2.4.rng" />
             </zeroOrMore>
         </element>
     </define>
 
     <define name="timings-list">
         <element name="timings">
             <zeroOrMore>
                 <ref name="element-timing" />
             </zeroOrMore>
         </element>
     </define>
 
     <define name="action-list">
         <element name="actions">
             <zeroOrMore>
                 <ref name="element-node-action" />
             </zeroOrMore>
             <zeroOrMore>
                 <ref name="element-rsc-action" />
             </zeroOrMore>
         </element>
     </define>
 
     <define name="element-allocation">
         <element name="node_weight">
             <attribute name="function"> <text /> </attribute>
             <attribute name="node"> <text /> </attribute>
             <externalRef href="../score.rng" />
             <optional>
                 <attribute name="id"> <text /> </attribute>
             </optional>
         </element>
     </define>
 
     <define name="element-capacity">
         <element name="capacity">
             <attribute name="comment"> <text /> </attribute>
             <attribute name="node"> <text /> </attribute>
             <zeroOrMore>
                 <element>
                     <anyName />
                     <text />
                 </element>
             </zeroOrMore>
         </element>
     </define>
 
     <define name="element-inject-cluster-action">
         <element name="cluster_action">
             <attribute name="node"> <text /> </attribute>
             <attribute name="task"> <text /> </attribute>
             <optional>
                 <attribute name="id"> <text /> </attribute>
             </optional>
         </element>
     </define>
 
     <define name="element-injected-actions">
         <choice>
             <ref name="element-inject-cluster-action" />
             <ref name="element-inject-fencing-action" />
             <ref name="element-inject-pseudo-action" />
             <ref name="element-inject-rsc-action" />
         </choice>
     </define>
 
     <define name="element-inject-fencing-action">
         <element name="fencing_action">
             <attribute name="op"> <text /> </attribute>
             <attribute name="target"> <text /> </attribute>
         </element>
     </define>
 
     <define name="element-node-action">
         <element name="node_action">
             <attribute name="node"> <text /> </attribute>
             <attribute name="reason"> <text /> </attribute>
             <attribute name="task"> <text /> </attribute>
         </element>
     </define>
 
     <define name="element-promotion">
         <element name="promotion_score">
             <attribute name="id"> <text /> </attribute>
             <externalRef href="../score.rng" />
             <optional>
                 <attribute name="node"> <text /> </attribute>
             </optional>
         </element>
     </define>
 
     <define name="element-inject-pseudo-action">
         <element name="pseudo_action">
             <attribute name="task"> <text /> </attribute>
             <optional>
                 <attribute name="node"> <text /> </attribute>
             </optional>
         </element>
     </define>
 
     <define name="element-inject-rsc-action">
         <element name="rsc_action">
             <attribute name="node"> <text /> </attribute>
             <attribute name="op"> <text /> </attribute>
             <attribute name="resource"> <text /> </attribute>
             <optional>
                 <attribute name="interval"> <data type="integer" /> </attribute>
             </optional>
         </element>
     </define>
 
     <define name="element-timing">
         <element name="timing">
             <attribute name="file"> <text /> </attribute>
             <attribute name="duration"> <data type="double" /> </attribute>
         </element>
     </define>
 
     <define name="element-rsc-action">
         <element name="rsc_action">
             <attribute name="action"> <text /> </attribute>
             <attribute name="resource"> <text /> </attribute>
             <optional>
                 <attribute name="blocked"> <data type="boolean" /> </attribute>
             </optional>
             <optional>
                 <attribute name="dest"> <text /> </attribute>
             </optional>
             <optional>
                 <attribute name="next-role"> <text /> </attribute>
             </optional>
             <optional>
                 <attribute name="node"> <text /> </attribute>
             </optional>
             <optional>
                 <attribute name="reason"> <text /> </attribute>
             </optional>
             <optional>
                 <attribute name="role"> <text /> </attribute>
             </optional>
             <optional>
                 <attribute name="source"> <text /> </attribute>
             </optional>
         </element>
     </define>
 
     <define name="element-utilization">
         <element name="utilization">
             <attribute name="function"> <text /> </attribute>
             <attribute name="node"> <text /> </attribute>
             <attribute name="resource"> <text /> </attribute>
             <zeroOrMore>
                 <element>
                     <anyName />
                     <text />
                 </element>
             </zeroOrMore>
         </element>
     </define>
 </grammar>