Changes between Version 22 and Version 23 of Doc/TemplateCustom


Ignore:
Timestamp:
Jun 27, 2007, 8:16:08 AM (17 years ago)
Author:
/C=FR/O=CNRS/OU=UMR8607/CN=Michel Jouvin/emailAddress=jouvin@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Doc/TemplateCustom

    v22 v23  
    2020The suggested layout is :
    2121
    22  * {{{os}}} : this hierarchy is used for OS related templates (e.g. RPMs associated with each feature group). Generally this hierarchy is made of one sub-hierarchy per OS version/architecture (e.g. sl305-i386, sl305-x64). Most of the templates in these hierarchy are generated from OS distribution and should not be edited.
    23  * {{{grid}}} : this hierarchy is used for templates related to EGEE/LCG middleware installation and configuration. Generally this hierarchy is made of one sub-hierarchy per middleware version (e.g. lcg-2.7.0, glite-1.5.0). This hierarchy typically contains templates provided by QWG LCG. Most of these templates are configurable through variable definition and should require no edit.
    24  * {{{standard}}} : this hierarchy is used for other kind of standard templates provided by some products, e.g. Quattor core templates, pan standard templates, Lemon templates... Generally this hierarchy contains one directory tree for each product. The templates in this hierarchy should not be edited.
    25  * {{{sites}}} : this hierarchy is used for templates that are not standard (site specific templates or site customized version of standard templates) but are (potentially) common to several clusters. This hierarchy generally contains one sub-hierarchy per ''site''. ''site'' concept is explained in more detail later but has no requirement to be linked to a physical location.
    26  * {{{clusters}}} : this hierarchy is used for cluster specific templates. There should be one sub-hierarchy per ''cluster''. A ''cluster'' defines a group of machines sharing some common configuration. One specific of a cluster is that it '''must''' contain a directory {{{profiles}}} containing the machine profiles (e.g. {{{object template}}} used to define a machine configuration). It is valid for a cluster to have an empty {{{profiles}}} directory.
     22 * [source:templates/trunk/grid/os os] : this hierarchy is used for OS related templates (e.g. RPMs associated with each feature group). Generally this hierarchy is made of one sub-hierarchy per OS version/architecture (e.g. [source:templates/trunk/os/sl308-i386 sl308-386], [source:templates/trunk/os/sl440-x86_64 sl440-x86_64]). Most of the templates in these hierarchy are generated from OS distribution and should not be edited.
     23 * [source:templates/trunk/grid/grid grid] : this hierarchy is used for templates related to EGEE/LCG middleware installation and configuration. Generally this hierarchy is made of one sub-hierarchy per middleware version (e.g. [source:templates/trunk/grid/glite-3.0.0 glite-3.0.0], [source:templates/trunk/grid/glite-3.1 glite-3.1]). This hierarchy typically contains templates provided by QWG LCG. Most of these templates are configurable through variable definition and should require no edit.
     24 * [source:templates/trunk/standard standard] : this hierarchy is used for other kind of standard templates provided by some products, e.g. [source:templates/trunk/standard/quattor Quattor core templates], [source:templates/trunk/standard/pan pan standard templates], [source:templates/trunk/standard/monitoring/lemon Lemon templates]... Generally this hierarchy contains one directory tree for each product. The templates in this hierarchy should not be edited.
     25 * [source:templates/trunk/sites sites] : this hierarchy is used for templates that are not standard (site specific templates or site customized version of standard templates) but are (potentially) common to several clusters. This hierarchy generally contains one sub-hierarchy per ''site''. ''site'' concept is explained in more detail later but has no requirement to be linked to a physical location. Look at a[source:templates/trunk/sites/example site example].
     26 * [source:templates/trunk/clusters clusters] : this hierarchy is used for cluster specific templates. There should be one sub-hierarchy per ''cluster''. A ''cluster'' defines a group of machines sharing some common configuration. One specific of a cluster is that it '''must''' contain a directory {{{profiles}}} containing the machine profiles (e.g. {{{object template}}} used to define a machine configuration). It is valid for a cluster to have an empty {{{profiles}}} directory. Look at a[source:templates/trunk/clusters/example cluster example].
    2727
    2828Other pages describe in more details layout of [wiki:Doc/LCG2/TemplateLayout LCG2 templates] and [wiki:Doc/gLite/TemplateLayout gLite templates].
     
    3030== Clusters and Template Hierarchies ==
    3131
    32 Each cluster is can be associated with one specific OS version, middleware version or sites by defining the appropriate include path used by pan compiler to locate templates. This include path is defined in the file {{{cluster.build.properties}}} at the top of each cluster hierarchy ({{{cfg/clusters/}}}''cluster-name'').
     32Each cluster is can be associated with one middleware version or sites by defining the appropriate include path used by pan compiler to locate templates. This include path is defined in the file [source:templates/trunk/clusters/example/clluster.build.properties cluster.build.properties] at the top of each cluster hierarchy, (`cfg/clusters/`''cluster-name'').
    3333
    34 This file must contain one line defining the property {{{cluster.pan.includes}}} as a list of space separated hierarchy list. The hierarchy is interpreted as afile pattern relative to the {{{cfg}}} directory (or whatever has been specified for {{{cfg}}} property in file {{{quattor.build.xml}}}). To specify all sub-directories below a given directory, the pattern {{{**/*}}} must be used. For namespaced templates, only the directory root must be specified. If both are needed, directory root must be specified first.
     34This file must contain one line defining the property {{{cluster.pan.includes}}} as a list of space separated hierarchy list. The hierarchy is interpreted as a file pattern relative to the {{{cfg}}} directory (or whatever has been specified for {{{cfg}}} property in file [source:SCDB/trunk/quattor.build.xml quattor.build.xml]). It must specify a directory that the template name (including it's relative position in the directory) must be appended to to locate the template file.
    3535
    36 The include path is processed in the order specified. If a template exists in several hierarchies, the first one found according to the include path order is used. '''Conversely, if a template exists in several directories of a hierarchy, the inclusion order is unspecified.'''
     36The include path is processed in the order specified. If a template exists in several hierarchies, the first one found according to the include path order is used.
    3737
    38 A {{{cluster.build.properties}}} example is :
    39 {{{
    40 cluster.pan.includes=sites/example sites/example/**/* grid/glite-3.0.0 os standard standard/hardware/legacy
     38''Note : Legacy template names, as defined in the `template` statement at the beginning of the template, don't include the relative position of the template in its template hierarchy (called ''namespace''). To include seach templates if they are spread to several sub-directories of the template hierarchy, you can specify to use all subdirectories instead of listing them explicitly, appending the pattern `/**/*` at the trail of the directory name. This entry must be added '''after''' the normal entry. With such legacy templates, if a template exists in several directories of a hierarchy, the inclusion order is unspecified.''
    4139
    42 }}}
     40Look at [source:templates/trunk/cluster/examples/cluster.build.properties cluster.build.properties] example. As reflected by this example, hierarchies of standard templates '''must''' be included after site specific templates (there may be several sites the cluster belongs to), in the following order : `grid`, `os` and `standard`.
    4341
    44 As reflected by this example, standard templates ({{{grid}}}, {{{os}}} and {{{standard}}}) are generally inserted last into the include path, using this relative order.
    45 
    46 By definition, standard templates are generic templates and are easily shared. If one site or cluster really requires a specific version of a template, it can be duplicated in the cluster or site hierarchy.
    47 
    48 ''Note : there is no implicit hierarchy included, except {{{clusters/cluster-name}}}. In particular, if you want to use {{{standard}}}, you need to explicitly specify it.''
     42''Note : `clusters/cluster-name` hierarchy is implicitly added as the first entry in the include path. It should not be added explicitly to the `cluster.build.properties` file.''
    4943
    5044=== Cluster parameters ===