diff --git a/doc/Pacemaker_Explained/en-US/Ch-Resource-Templates.txt b/doc/Pacemaker_Explained/en-US/Ch-Reusing-Configuration.txt similarity index 85% rename from doc/Pacemaker_Explained/en-US/Ch-Resource-Templates.txt rename to doc/Pacemaker_Explained/en-US/Ch-Reusing-Configuration.txt index 06cf32e8ac..1324c25d10 100644 --- a/doc/Pacemaker_Explained/en-US/Ch-Resource-Templates.txt +++ b/doc/Pacemaker_Explained/en-US/Ch-Reusing-Configuration.txt @@ -1,232 +1,238 @@ -= Resource Templates = += Reusing Parts of the Configuration = -If you want to create lots of resources with similar configurations, defining a -resource template simplifies the task. Once defined, it can be referenced in +Pacemaker provides multiple ways to simplify the configuration XML by reusing +parts of it in multiple places. + +Besides simplifying the XML, this also allows you to manipulate multiple +configuration elements with a single reference. + +== Reusing Resource Definitions == + +If you want to create lots of resources with similar configurations, defining a +'resource template' simplifies the task. Once defined, it can be referenced in primitives or in certain types of constraints. - -== Configuring Resources with Templates == + +=== Configuring Resources with Templates === The primitives referencing the template will inherit all meta-attributes, -instance attributes, utilization attributes and operations defined -in the template. And you can define specific attributes and operations for any -of the primitives. If any of these are defined in both the template and the -primitive, the values defined in the primitive will take precedence over the -ones defined in the template. - -Hence, resource templates help to reduce the amount of configuration work. -If any changes are needed, they can be done to the template definition and +instance attributes, utilization attributes and operations defined +in the template. And you can define specific attributes and operations for any +of the primitives. If any of these are defined in both the template and the +primitive, the values defined in the primitive will take precedence over the +ones defined in the template. + +Hence, resource templates help to reduce the amount of configuration work. +If any changes are needed, they can be done to the template definition and will take effect globally in all resource definitions referencing that template. Resource templates have a syntax similar to that of primitives. -.Resource template for a migratable Xen virtual machine +.Resource template for a migratable Xen virtual machine ==== [source,XML] ---- ---- ==== Once you define a resource template, you can use it in primitives by specifying the +template+ property. .Xen primitive resource using a resource template ==== [source,XML] ---- ---- ==== - -In the example above, the new primitive +vm1+ will inherit everything from +vm-template+. For + +In the example above, the new primitive +vm1+ will inherit everything from +vm-template+. For example, the equivalent of the above two examples would be: .Equivalent Xen primitive resource not using a resource template ==== [source,XML] ---- ---- ==== - -If you want to overwrite some attributes or operations, add them to the -particular primitive's definition. + +If you want to overwrite some attributes or operations, add them to the +particular primitive's definition. .Xen resource overriding template values ==== [source,XML] ---- ---- ==== - -In the example above, the new primitive +vm2+ has special -attribute values. Its +monitor+ operation has a longer +timeout+ and +interval+, and + +In the example above, the new primitive +vm2+ has special +attribute values. Its +monitor+ operation has a longer +timeout+ and +interval+, and the primitive has an additional +stop+ operation. To see the resulting definition of a resource, run: - + ---- # crm_resource --query-xml --resource vm2 ---- - + To see the raw definition of a resource in the CIB, run: - + ---- # crm_resource --query-xml-raw --resource vm2 ---- -== Referencing Templates in Constraints == - +=== Using Templates in Constraints === + A resource template can be referenced in the following types of constraints: - +order+ constraints (see <>) - +colocation+ constraints (see <>) - +rsc_ticket+ constraints (for multi-site clusters as described in <>) -Resource templates referenced in constraints stand for all primitives which are -derived from that template. This means, the constraint applies to all primitive -resources referencing the resource template. Referencing resource templates in -constraints is an alternative to resource sets and can simplify the cluster +Resource templates referenced in constraints stand for all primitives which are +derived from that template. This means, the constraint applies to all primitive +resources referencing the resource template. Referencing resource templates in +constraints is an alternative to resource sets and can simplify the cluster configuration considerably. For example, given the example templates earlier in this chapter: [source,XML] would colocate all VMs with +base-rsc+ and is the equivalent of the following constraint configuration: [source,XML] ---- ---- [NOTE] ====== In a colocation constraint, only one template may be referenced from either `rsc` or `with-rsc`; the other reference must be a regular resource. ====== -=== Referencing Resource Templates in Sequential Resource Sets === +=== Using Templates in Resource Sets === Resource templates can also be referenced in resource sets. -For example: +For example, given the example templates earlier in this section, then: [source,XML] ---- ---- -is the equivalent of the following constraint configuration: +is the equivalent of the following constraint using a sequential resource set: [source,XML] ---- ---- -=== Referencing Resource Templates in Parallel Resource Sets === - -If the resources referencing the template can run in parallel: +Or, if the resources referencing the template can run in parallel, then: [source,XML] ---- ---- is the equivalent of the following constraint configuration: [source,XML] ---- ---- diff --git a/doc/Pacemaker_Explained/en-US/Pacemaker_Explained.xml b/doc/Pacemaker_Explained/en-US/Pacemaker_Explained.xml index 52f9236d8d..ca79641054 100644 --- a/doc/Pacemaker_Explained/en-US/Pacemaker_Explained.xml +++ b/doc/Pacemaker_Explained/en-US/Pacemaker_Explained.xml @@ -1,45 +1,45 @@ + - Further Reading Project Website: Project Documentation: SUSE High Availibility Guide: Heartbeat configuration: Corosync Configuration: