This page describes the main steps involved in migrating from SCDB to Aquilon for sites using the template library. This covers the impact on the Pan templates, not the [installation][aquilon_installation] of Aquilon. It is also assumed that the Aquilon database initial configuration has been done: also refer to this documentation for the description of the main site templates expected by Aquilon.
The main focus is the migration of the site configuration from SCDB templates to Aquilon. One major difference between SCDB and Aquilon is that in SCDB all the site and host parameters were described in Pan templates when in Aquilon a significant fraction of these parameters are in the Aquilon database and exported by the Aquilon broker in the generated object template for the host. See Aquilon database configuration documentation to know how to declare your hardware and hosts in Aquilon.
Main site parameters
In SCDB, the main parameters for a site that must be applied to any host are typically in
site/global_variables.pan
template. Typically, this template can be imported in Aquilon after
removing the NETWORK_PARAMS
variable if present. Also the recommended directory is site/config
rather than site
.
After the initial import of SCDB global variables, it is recommended to review the variable definitions
that can be replaced by an Aquilon service. This is in particular the case for
the variable AII_OSINSTALL_SRV
who definition may be moved in the archetype final.pan
template
and be based on the bootserver
service instance used for the host with the following Pan code
(note that this makes use of the value()
fall-back functionality which was added in Pan 10.7):
variable AII_OSINSTALL_SRV ?= value('/system/services/bootserver/servers/0', undef);
Packages Repositories
Existing repository templates, typically in repository
or repository/snapshot
, can be imported into
Aquilon. The recommended directory is site/repository/snapshot
. The variable YUM_SNAPSHOT_NS
must be defined to the directory/namespace chosen.
SCDB Sites and Clusters
In SCDB, clusters are used to group together hosts that will share some common configuration information. Sites allow to define configuration information that will be shared by several clusters.
There is no one-to-one matching concept in Aquilon. As explained in Aquilon Concepts, main Aquilon objects used to group hosts are archetypes. Each host is also attached to a (hardware) machine (or a cluster) that can have some configuration attached to the geographical location.
The specific configuration of each host in an archetype will be described by the host personality which can be common to several hosts in the archetype. On the other hand, personalities are defined within an archetype and there is no easy way to share their definitions between archetypes.
As an example, every host running some parts of the grid middleware could be part of an archetype that adds
the grid part of the template library to the Pan LOADPATH
and define the grid site parameters (what was typically
done in site/glite/config.pan
in SCDB). Then one personality could be defined for each grid
middleware service (CE, SE, WN, BDII…).
SCDB Machine Types
Machine types in SCDB where used to bind a hardware description, an OS configuration and sometimes part of the
service. In Aquilon, this information is entered in the Aquilon database using aq
command instead of using
Pan templates. The Pan templates needed to build the host profile will be generated by Aquilon.
SCDB Personalities and Features
SCDB defines host configuration using templates located in personality
and features
directories (namespaces) of
the template library.
SCDB personality are generally made of two main templates:
service.pan
: for SCDB personality, this is the main template that mainly includes features. It needs to be replaced by an Aquilon personality object. One important difference between the SCDB personality template and the Aquilon personality object is that the order in which features are included in the Aquilon personality cannot be explicitly defined. As a consequence, if the order is important, it is necessary to create another feature that will include the other features in the appropriate order.config.pan
: this template does the configuration specific to the personality, in addition to the included features. It must typically be turned into a new feature.
An Aquilon feature is defined in the Aquilon database but its configuration is described by a Pan template.
Most of the features available in the template library or in the site configuration in SCDB can be used
directly in Aquilon (by copying the appropriate templates). The feature templates must be placed into
a features/$name
directory where $name
is the feature name. If you have only one archetype or if
your features are specific to one archetype, it is recommended to create the feature directory under the
archetype directory. If you want to share the features between several archetypes it is also possible to place
the feature directory at the top-level of the Aquilon sandbox (outside archetypes).
Note: in Aquilon 1.12.62, features shared between archetypes are not fully supported. Look at GitHub issue for details.