node-type

YAIM
OPTIMIZED
Cristina Aiftimiei – Sergio Traldi
INFN-Sezione di Padova
13 dicembre 2010 - Catania
YAIM (GLITE)

YAIM (Yet Another Installation Manager) - a
configuration method for the gLite software



set of bash scripts and functions.
distributed in rpm form and it usually resides in
/opt/glite/yaim
Modular:
glite-yaim-core contains common functions and
definitions
 Others - implement the functionality to configure specific
node types:


glite-yaim-clients (UI, WN and VOBOX), glite-yaim-bdii, gliteyaim-condor-utils, glite-yaim-cream-ce, glite-yaim-dcache, gliteyaim-dpm, glite-yaim-e2emonit, glite-yaim-fts, glite-yaimhydra, glite-yaim-lb, glite-yaim-lcg-ce, glite-yaim-lfc, glite-yaimlsf-utils, glite-yaim-mpi, glite-yaim-myproxy, glite-yaim-rb,
glite-yaim-sge-utils, glite-yaim-torque-client, glite-yaim-torqueserver, glite-yaim-torque-utils, glite-yaim-wms
2
YAIM (IG)

additional scripts and configuration files to
add/override features on top of standard
glite-yaim

42 “new” config_functions, some for the new profiles,
and 34 modified functions
3
YAIM STRUCTURE
/opt/glite/yaim
/bin
/examples
/siteinfo
/vo.d
/functions
/local
/services
/libexec
/utils
/nodes
/log
/node-info.d
/defaults
4
CONFIGURATION FLOW
1.
/opt/glite/yaim/defaults/ig-site-info.pre
/opt/glite/yaim/defaults/site-info.pre
2.
/opt/glite/yaim/defaults/ig-node-type.pre
/opt/glite/yaim/defaults/glite-node-type.pre
3.
4.
/root/siteinfo/<site-info.def>
/root/siteinfo/services/ig-node-type
/root/siteinfo/services/glite-node-type
5.
/opt/glite/yaim/defaults/ig-site-info.post
/opt/glite/yaim/defaults/site-info.post
6.
/opt/glite/yaim/defaults/ig-node-type.post
/opt/glite/yaim/defaults/glite-node-type.post
7.
8.
9.
/root/siteinfo/nodes/machine.domain
/root/siteinfo/vo.d/vo_name
/opt/glite/yaim/node-info.d/ig-node-type
/opt/glite/yaim/node-info.d/glite-node-type
5
YAIM USAGE
# ./ig_yaim --help
Usage: ./ig_yaim <action> <parameters>
Actions:
-i | --install
:
Install one or several meta package.
Compulsory parameters: -s, -m
-c | --configure :
Configure already installed services.
Compulsory parameters: -s, -t
-r | --runfunction : Execute a configuration function.
Compulsory parameters: -s, -f
Optional parameters : -n
-h | --help
:
This help
Specify only one action at a time !
Parameters:
-s | --siteinfo: :
-m | --metapackage :
-n | --nodetype :
-f | --function :
Location of the site-info.def file
Name of the metapackage(s) to install
Name of the node type(s) to configure
Name of the functions(s) to execute
6
OPTIMIZED USE
Enable a new VO
 Add new/more users
 Modify static information

7
##########
# biomed #
E
NABLE
##########
NEW
VOS
VO_BIOMED_SW_DIR=$VO_SW_DIR/biomed

ALLVOs should be defined in the <site-info.def>:
VO_BIOMED_DEFAULT_SE=$SE_HOST
SW_DIR=$VO_SW_DIR/computer
VO_BIOMED_STORAGE_DIR=$CLASSIC_STORAGE_DIR/biomed

2 ways of defining VOs related info:
DEFAULT_SE=$SE_HOST
VO_BIOMED_VOMS_SERVERS="vomss://cclcgvomsli01.in2p3.fr:8443/voms/bi
 <site-info.def>: - “classic” names
STORAGE_DIR=$CLASSIC_STORAGE_DIR/computer
omed?/biomed/"
VOS="vo1 [vo2 [...]]"

vo.d/<vo_name>: - DNS-like names
VOMS_SERVERS="'vomss://voms2.cnaf.infn.it:8443/voms/comput-er.it?/computVO_BIOMED_VOMSES="'biomed cclcgvomsli01.in2p3.fr 15000 /O=GRIDer.it'"
FR/C=FR/O=CNRS/OU=CC-IN2P3/CN=cclcgvomsli01.in2p3.fr biomed 24'"
VOMSES="'comput-er.it
voms2.cnaf.infn.it 15007
VO_BIOMED_VOMS_CA_DN="'/C=FR/O=CNRS/CN=GRID2-FR'"
/C=IT/O=INFN/OU=Host/L=CNAF/CN=voms2.cnaf.infn.it comput-er.it' 'comput-er.it
voms-02.pd.infn.it 15007 /C=IT/O=INFN/OU=Host/L=Padova/CN=voms02.pd.infn.it comput-er.it'"
VOMS_CA_DN="'/C=IT/O=INFN/CN=INFN CA' '/C=IT/O=INFN/CN=INFN CA'"
8
ENABLE NEW VOS

Specific variables in <site-info.def>

QUEUES should contain short VO names:
QUEUES=“biomed computer”

For LFC:
LFC_LOCAL=“biomed"
LFC_CENTRAL=“comput-er"

<QUEUE-NAME>_GROUP_ENABLE variable should
be named after short VO name (in capital letters):
COMPUTER_GROUP_ENABLE=“comput-er /comput-er/ROLE=lcgadmin
/comput-er/ROLE=production"
9
ENABLE NEW VOS
For each profile there’s a specific configuration
function, config_newvo_<profile>
 Partial configuration:

/opt/glite/yaim/bin/ig_yaim -r -s <site.def> -n <profile> -f
config_newvo_<profile>
10
ADD POOL ACCOUNTS

A “comprehensive” generation script


ig-generate-users-conf.sh – creates a complete
”local-users.conf” for ALL of VOs you support
A “per-vo” generation script

ig-generate-vo-users-conf.sh - creates a section of
your ”local-users.conf” for one VO
Details:


http://igrelease.forge.cnaf.infn.it/doku.php?id=doc:use_case
s:users
After modifying <users.conf> - run config_users
After modifying <groups.conf> - run
config_newvo_<profile>
11
MODIFY STATIC INFORMATION

After modifying static information, in <siteinfo.def> or services/ig-<profile>:
creamCE – run config_cream_gip
 lcg-CE – run config_gip_ce
 BDII_site – run config_gip_bdii_site &
config_gip_site

12
HINTS
2 way to work:
 Method A
Create only one site-info.def, one user.conf and one
group.conf for all the nodes in the cluster
 put all the custom varibles in nodes or services
directory, distinguish it by profile installed or by
hostname.
 Export via NFS in all hosts of the cluster this
directory with all configurations.


Method B

Create each hosts a site-info.def, user.conf,
group.conf and put it in /root directory (if you scratch
the host remember to save the site-info.def)
13
DISCUSSION
14