wiki:Download/QWGTemplates/Install

Version 16 (modified by /C=FR/O=CNRS/OU=UMR8607/CN=Michel Jouvin/emailAddress=jouvin@…, 10 years ago) (diff)

--

How to Install QWG Templates

Note : QWG templates are intended to work both with SCDB and Aquilon. But their integration has been tested mainly with SCDB and tools described here applies mainly to SCDB. Report every issue that you find on GitHub.

Initial Installation

For an initial installation of QWG templates, you first need to initialize you repository with a base configuration database. If you want to use SCDB, follow instructions on how to configure your Quattor server with SCDB, in particular SCDB initialization.

Upgrading an existing repository

If you are using the recommended template layout with separate areas for standard templates in your configuration database, upgrading should be no more than replacing the previous version of the templates.

We do our best to ensure that new versions are backward compatible. This means that if you made site customization using the described method (pro_lcg2_config_site, pro_site_cluster_info...) and didn't modify standard templates, no changes should be required to use new version of the templates. When this is really required to introduce a new feature or bring more flexibility for configuring a service, it can happen that this full compatibility cannot be retained. This is normally stated in release announcement. You are always better to check it before upgrading.

Standard templates are made of 3 areas (see template layout) :

  • OS templates : they are never modified, except for fixes. The only modifications apply to errata RPM list. These errata are not installed by default.
  • Middleware templates (if using them) : they bring both changes and fixes at each release. They are intended to be backward compatible : that means the resulting configuration should be the same if you don't change your local configuration.
  • Quattor templates: all the templates required to configure a given Quattor release (client, configuration modules...)
  • Standard templates : all modifications in this area are entirely backward compatible

There are 2 methods to upgrade QWG templates, according to the structure and constraints of your site :

  • In place upgrade : in this scenario, existing templates will be upgraded and the changes will be deployed on all clusters of your site. You can control the gLite updates you deploy on a per node basis.
  • Fresh installation of new middleware templates : this allows to control on a per cluster basis the deployement of new QWG templates. In this scenario, you are still doing an in-place upgrade of standard and OS templates.

In-place Upgrade

An in-place upgrade basically involves :

  • Getting a copy of the last version of the template library, using the download procedure
  • Synchronize your configuration database with your local copy of the template library.

To integrate new/changed templates in your configuration database, the easiest is to use the tool . This tool can be used only with SCDB, as it relies on Subversion to do a non destructive update. As a benefit, it cannot damage your configuration database as every change made by this tool can be reverted with Subversion.

After importing all the changes with directory-sync (or manually), you need to commit them into your SCDB, after checking it compiles successfully and the changes in the profiles look appropriate (generally mainly some RPMS update). For this last check you can use src/utils/profiles/compare_xml script. After integrating the new templates, identify the changed templates, review the change if necessary and revert those not appropriate. You'll probably need to revert changes of all templates in directories repository (these templates are site specific but some of them are required to reside in standard directories for multiple version support).

Note : when checking for changes brought by a new version, you can temporaly define GLITE_UPDATE_VERSION to your current version. This way you should have no changed RPMs.

Fresh Installation of New Middleware Templates

In this scenario, you first have to download the new version of the templates, as in previous scenario. After, rather than sync'ing your templates with the release, you can copy the middleware templates provided by the release (e.g. grid/glite-3.0.0) in a new directory under cfg/grid in your CDB/SCDB and add them to the repository (use svn add for SCDB).

After you can select the deployment of the new release on a per cluster basis. For this, you have to edit cluster.build.properties of the cluster and update the include path, replacing references to previous release of middleware templates by reference to the new one you just added.

Controlling gLite Updates Installation

QWG templates releases deliver the last gLite updates available at the time of the release. There is no equivalent between QWG release number (-n) and gLite update numbers. Sometimes one QWG templates release deliver several gLite updates. In each QWG release, there is a default associated gLite update (generally the last one).

To allow site as much flexibility as possible in selecting what gLite update to install on a specific node, cluster or site, starting with QWG release 3.0.2-10, a release provides each gLite update separatly, not just the last one. You can select the gLite update you want to deploy by defining variable GLITE_UPDATE_VERSION at the beginning of your node profile, in pro_site_cluster_info.tpl' or in gLite site parameters pro_lcg2_config_site` respectively. The value specified must be a string and is generally the gLite update number : in fact it needs to match a directory name under cfg/grid/glite-3.0.0/updates.

For exampple, to stay with update 15 in a specific cluster, edit site/pro_site_cluster_info.tpl for the cluster and add :

variable GLITE_UPDATE_VERSION = '15';