| 603 | === WN Profile Cloning === |
| 604 | |
| 605 | QWG templates support profile cloning, a feature known as ''dummy WN'' that allows to speed up dramatically compilation of WNs. This is based on the fact that all WNs generally share the same configuration information, except for the hardware description and some parameters like network configuration.... With profile cloning, instead of compiling separately all WNs (and generally rebuild all of them when one dependency was modified, only one profile, called the ''exact node'' and used as a reference profile, is really compiled. On the other WNs, even though the source profile looks the same, the compilation is not done but instead the reference profile is included in the WN profile and a very small part of the configuration is replayed to do the actual node customization. |
| 606 | |
| 607 | The main variable to enable profile cloning (currently supported only for gLite WN) is `USE_DUMMY`. It is `false` by default and must be set to `true` to enable profile cloning. This variable must be defined to `true` on all WNs, including the reference one (''exact node''). |
| 608 | |
| 609 | To use profile cloning, in additon to enable its use, you need to define a set of variables, generally in a common profile called by all WNs. This is generally done by creating a site-specific machine type for the WN (typically in `sites/xxx/machine-types/xxx/wn`, be sure no to overload standard `machine-types/wn`) that will do all the necessary initializations and include the standard `machine-types/wn`. |
| 610 | |
| 611 | The variables you need to define for profile cloning to work are: |
| 612 | {{{ |
| 613 | # Prefix of template names for all profiles. When using the old naming convention `profile_xxx`, define to `profile_` |
| 614 | variable PROFILE_PREFIX ?= ''; |
| 615 | # Name of the reference profile (string after PROFILE_PREFIX in its profile name) |
| 616 | variable EXACT_NODE ?= 'grid100'; |
| 617 | # Regexp (perl compatible) matching the node name part of profile names of eligible nodes |
| 618 | variable NODE_REGEXP ?= 'grid.*'; |
| 619 | # Variable pointing to some site-specific templates. Customize to match your configuration. |
| 620 | variable SITE_DATABASES ?= 'site/databases'; |
| 621 | variable GLOBAL_VARIABLES ?= 'site/global_variables'; |
| 622 | variable SITE_FUNCTION ?= 'site/functions'; |
| 623 | variable SITE_CONFIG ?= 'site/config'; |
| 624 | variable FILESYSTEM_CONFIG_SITE ?= "filesystem/config"; |
| 625 | variable GLITE_SITE_PARAMS ?= "site/glite/config"; |
| 626 | }}} |
| 627 | |