43 | | VO configuration consists to define variable {{{VOS}}} in {{{pro_lcg2_config_site.tpl}}}. This variable can also be redefined in the context of a specific node, if {{{pro_lcg2_config_site.tpl}}} defines {{{VOS}}} as a default value. |
44 | | |
45 | | VO configuration is done by template {{{vo/pro_vo_config.tpl}}}. Behaviour of this template can be customized with variables. Main variables are (see the template for the full list) : |
46 | | |
47 | | * NODE_VO_LIST (list) : define the list of VO to initialize on current node. Default : VOS variable defined in {{{pro_lcg2_config_site}}}. |
48 | | * NODE_VO_POOLACCOUNTS (boolean) : pool account must be created for each VO initialized. Default : true. |
49 | | * NODE_VO_GRIDMAPDIR_CONFIG (boolean) : gridmapdir entries must be initialized for pool accounts. Default : NODE_VO_POOLACCOUNTS variable. |
50 | | * NODE_VO_SITE_CONFIG (string) : site specific template that must be included before actually doing VO intialization. Allow for specific VO modification to default VO configuration.Default : none. |
51 | | * NODE_VO_WLCONFIG (boolean) : initialize workload management environment for each VO. Normally enabled only on resource brokers. Default : false. |
52 | | * NODE_VO_CREATEHOME (boolean) : create home directories for pool accounts. Default : true. |
53 | | |
54 | | Templates defining machine types define these variables to the value appriated for a given machine type and there should be normally no need to define these variables. |
55 | | |
56 | | Adding a new VO to standard VOs require creating 2 templates. Use an existing VO, in {{{vo}}} directory, as a template. |
57 | | |
| 43 | List of VOs to configure on a specific node is defined in variable `VOS`. Generally a site-wide default value is defined in `pro_lcg2_config_site.tpl` (defined with operator `?=`). This value can be overidden on a specific machine by defining `VOS` variable in the machine profile, before including the machine type profile. |
| 44 | |
| 45 | An example of VOS definition is : |
| 46 | {{{ |
| 47 | variable VOS ?= list('alice', |
| 48 | 'atlas', |
| 49 | 'biomed', |
| 50 | 'calice', |
| 51 | 'cms', |
| 52 | 'cppm', |
| 53 | 'dteam', |
| 54 | 'dzero', |
| 55 | 'egeode', |
| 56 | 'lhcb', |
| 57 | 'ops', |
| 58 | 'planck', |
| 59 | ); |
| 60 | }}} |
| 61 | |
| 62 | ''Note : `dteam` and `ops` are mandatory VOs.'' |
| 63 | |
| 64 | For each VO listed in `VOS`, there must be a template defining the VO parameters in `vo/params`. The template name must be the same as the VO name used in `VOS`. If the VO to be added has no template to define its parameters, refer to next section about adding a new VO. |
| 65 | |
| 66 | === Adding a new VO === |
| 67 | |
| 68 | Adding a new VO involved the creation of a template defining VO parameters. This template name must be the name you use to refer to the VO in rest of the configuration but is not required to be the real VO name (can be an alias used in the configuration). This template must be located in directory `vo/params`, in one of your cluster or site specific hierarchy of templates or in gLite templates. |
| 69 | |
| 70 | ''Note : if you create a template for a new VO, be sure to commit it to the QWG repository if you have write access toit, or to send it to QWG developpers. There is normally no reason for a VO definition not to be generally available.'' |
| 71 | |
| 72 | To create a template to describe a new VO, the easiest is to copy the template for an already configured VO. The main variables supported in this template are : |
| 73 | |
| 74 | In addition to this template, you need to have another template defining the public key of the VOMS server used by the VO. This template has the name of the VOMS server by default. It can be explicitly defined with `cert`property of a VOMS server entry. If the new VO is using an already used VOMS server, there is no need to add the certificate. |
| 75 | |
| 76 | |
| 77 | === Tuning VO configuration on a specific node === |
| 78 | |
| 79 | Each machine type templates define VO configuration (pool accounts, gridmap file/dir...) appropriate to the machine type. If you want to change this configuration, on a specific node, you can use the following variables : |
| 80 | |
| 81 | * `NODE_VO_POOLACCOUNTS` (boolean) : pool account must be created for each VO initialized. Default : true. |
| 82 | * `NODE_VO_GRIDMAPDIR_CONFIG` (boolean) : gridmapdir entries must be initialized for pool accounts. Default : `NODE_VO_POOLACCOUNTS` variable. |
| 83 | * `NODE_VO_WLCONFIG` (boolean) : initialize workload management environment for each VO. Normally enabled only on resource brokers. Default : false. |
| 84 | * `NODE_VO_CREATEHOME` (boolean) : create home directories for pool accounts. Default : true. |
| 85 | |
| 86 | In addition you can execute actions specific to the local site or machine by defining the following variable : |
| 87 | * `NODE_VO_SITE_CONFIG` (string) : site specific template that must be included before actually doing VO intialization. Allow for specific VO modification to default VO configuration.Default : none. |
| 88 | |
| 89 | '''Note : before modifying default VO configuration for a specific machine, be sure what you want to do is valid. Misconfiguring VO can have dramatic effects on service availability.''' |