Good day!
Today I've been installing the local LFC for the SC3 and I strongly feel
that the YAIM functionality should be extended for the LFC installation.
The problem (or annoyance) is that config_lfc_mysql_server script creates
LFC entries for all VOs at the site and config_gip publishes all VOs. It is
sometimes inconvinient, because administrator can decide to support only a
limited subset of the VOs. I know that this can be fixed by hands, but why?
It is very simple to fix the two aforementioned scripts. And I've done that.
The idea is that if the variable LFC_VOS is defined in site-info.def, then
the list of the VOs is taken from this variable. If it is not defined, then
the list is taken from the VOS variable. So, it should not break any existing
stuff and the patch adds a convinient way to limit the VOs. It does not matter
what type of LFC (local or global) we are installing, the patch just overrides
the list of the VOs.
Here is that patch:
-----
--- config_gip.orig 2005-11-19 19:14:14.000000000 +0300
+++ config_gip 2005-11-19 19:29:27.000000000 +0300
@@ -275,9 +275,12 @@
requires VOS SITE_EMAIL SITE_NAME BDII_HOST LFC_HOST
- # popluate lfc_local with the VOS which are not set to be central
+ if test -z "$LFC_VOS"; then
+ LFC_VOS="$VOS"
+ fi
+ # populate lfc_local with the VOS which are not set to be central
unset lfc_local
- for i in $VOS; do
+ for i in $LFC_VOS; do
if ( ! echo $LFC_CENTRAL | grep -qw $i ); then
lfc_local="$lfc_local $i"
fi
@@ -339,7 +342,7 @@
GlueForeignKey: GlueSiteUniqueID=${SITE_NAME}
EOF
- for VO in $VOS; do
+ for VO in $LFC_VOS; do
if ( ! echo "$LFC_CENTRAL" | grep -qw "$VO" ); then
echo "GlueServiceOwner: $VO" >> $outfile
echo "GlueServiceAccessControlRule: $VO" >> $outfile
--- config_lfc_mysql_server.orig 2005-11-19 19:14:27.000000000 +0300
+++ config_lfc_mysql_server 2005-11-19 19:28:36.000000000 +0300
@@ -48,7 +48,10 @@
${INSTALL_ROOT}/lcg/bin/lfc-mkdir /grid
fi
-for vo in `echo $VOS | tr '[:upper:]' '[:lower:]'`; do
+if test -z "$LFC_VOS"; then
+ LFC_VOS="$VOS";
+fi
+for vo in `echo $LFC_VOS | tr '[:upper:]' '[:lower:]'`; do
vo_group=`awk -F: '$6!="sgm" && $5 == virtorg{print $4}' virtorg=$vo ${USERS_CONF} | head -1`
if ( ! ${INSTALL_ROOT}/lcg/bin/lfc-ls /grid/$vo > /dev/null 2>&1 ); then
${INSTALL_ROOT}/lcg/bin/lfc-mkdir /grid/$vo
-----
Hope it will be helpful for someone and maybe even be included to the official
YAIM distribution ;)
--
rea
That must be wonderful! I don't understand it at all.
|