Setup di Argus al T1
Argus node
Prerequisiti
- L'Argus node deve condividere la Gridmap dir con i CE del T1.
- Devono essere presenti i gridmap file in /etc/grid-security.
Repository YUM
A partire da una SL5 nuda, bisogna fare le seguenti modifiche:
- Aggiungere i repository standard a /etc/yum.repos.d per glite-generic, ig, lcg-ca
- Aggiungere il repository con i pacchetti di Argus 1.1:
Installazione/Configurazione di un Argus node via YUM/YAIM
Vale quanto scritto qui:
https://twiki.cern.ch/twiki/bin/view/EGEE/AuthzQSYaimInstall
Il site-info.def attuale e' questo:
ARGUS_HOST=argus.cr.cnaf.infn.it
PAP_ADMIN_DN="/C=IT/O=INFN/OU=Personal Certificate/L=CNAF/CN=Andrea Ceccanti"
PEP_MAX_CACHEDRESP="0"
PDP_RETENTION_INTERVAL="1"
USERS_CONF=/root/site-info/t1-users.conf
GROUPS_CONF=/root/site-info/t1-groups.conf
VOS="infngrid dteam ops"
#########
# dteam #
#########
VO_DTEAM_SW_DIR=$VO_SW_DIR/dteam
VO_DTEAM_DEFAULT_SE=$SE_HOST
VO_DTEAM_STORAGE_DIR=$CLASSIC_STORAGE_DIR/dteam
VO_DTEAM_VOMS_SERVERS='vomss://voms.cern.ch:8443/voms/dteam?/dteam/'
VO_DTEAM_VOMSES="'dteam lcg-voms.cern.ch 15004 /DC=ch/DC=cern/OU=computers/CN=lcg-voms.cern.ch dteam 24' 'dteam voms.cern.ch 15004 /DC=ch/DC=cern/OU=computers/CN=voms.cern.ch dteam 24'"
VO_DTEAM_VOMS_CA_DN="'/DC=ch/DC=cern/CN=CERN Trusted Certification Authority' '/DC=ch/DC=cern/CN=CERN Trusted Certification Authority'"
############
# infngrid #
############
VO_INFNGRID_SW_DIR=$VO_SW_DIR/infngrid
VO_INFNGRID_DEFAULT_SE=$SE_HOST
VO_INFNGRID_STORAGE_DIR=$CLASSIC_STORAGE_DIR/infngrid
VO_INFNGRID_VOMS_SERVERS="'vomss://voms.cnaf.infn.it:8443/voms/infngrid?/infngrid' 'vomss://voms-01.pd.infn.it:8443/voms/infngrid?/infngrid'"
VO_INFNGRID_VOMSES="'infngrid voms.cnaf.infn.it 15000 /C=IT/O=INFN/OU=Host/L=CNAF/CN=voms.cnaf.infn.it infngrid' 'infngrid voms-01.pd.infn.it 15000 /C=IT/O=INFN/OU=Host/L=Padova/CN=voms-01.pd.infn.it infngrid'"
VO_INFNGRID_VOMS_CA_DN="'/C=IT/O=INFN/CN=INFN CA' '/C=IT/O=INFN/CN=INFN CA'"
#######
# ops #
#######
VO_OPS_SW_DIR=$VO_SW_DIR/ops
VO_OPS_DEFAULT_SE=$SE_HOST
VO_OPS_STORAGE_DIR=$CLASSIC_STORAGE_DIR/ops
VO_OPS_VOMS_SERVERS="vomss://voms.cern.ch:8443/voms/ops?/ops/"
VO_OPS_VOMSES="'ops lcg-voms.cern.ch 15009 /DC=ch/DC=cern/OU=computers/CN=lcg-voms.cern.ch ops 24' 'ops voms.cern.ch 15009 /DC=ch/DC=cern/OU=computers/CN=voms.cern.ch ops 24'"
VO_OPS_VOMS_CA_DN="'/DC=ch/DC=cern/CN=CERN Trusted Certification Authority' '/DC=ch/DC=cern/CN=CERN Trusted Certification Authority'"
Le opzioni argus-specific
ARGUS_HOST,PAP_ADMIN_DN,PEP_MAX_CACHEDRESP,PDP_RETENTION_INTERVAL
sono solitamente settate
nel file:
/opt/glite/yaim/examples/siteinfo/services/glite-argus_server
N.B: una volta messo in produzione bisogna attivare via yaim anche le vo atlas, alice, cms, lhcb etc.
Configurazione delle policy per autorizzare gLexec
sul Worker node
Il file delle policy di argus per autorizzare glexec sul worker node si trova in
/root/policies/wn-policy.txt
e contiene
il testo seguente:
resource "http://cnaf.infn.it/wn" {
obligation "http://glite.org/xacml/obligation/local-environment-map" {
}
action "http://glite.org/xacml/action/execute" {
rule permit { pfqan="/cms/Role=pilot" }
rule permit { pfqan="/lhcb/Role=pilot" }
rule permit { pfqan="/atlas/Role=pilot" }
rule permit { pfqan="/alice/Role=pilot" }
rule permit { pfqan="/dteam/Role=pilot" }
rule permit { pfqan="/ops/Role=pilot" }
rule permit { vo="dteam" }
}
}
Una volta che Argus sia in esecuzione, per rendere attive le policy di cui sopra bisogna eseguire i seguenti comandi:
pap-admin rap
pap-admin apf /root/policies/wn-policy.txt
Per verificare che le policy siano state effettivamente caricate, si puo' usare il comando
list-policies
:
[root@argus ~]# pap-admin lp
default (local):
resource "http://cnaf.infn.it/wn" {
obligation "http://glite.org/xacml/obligation/local-environment-map" {
}
action "http://glite.org/xacml/action/execute" {
rule permit { pfqan="/cms/Role=pilot" }
rule permit { pfqan="/lhcb/Role=pilot" }
rule permit { pfqan="/atlas/Role=pilot" }
rule permit { pfqan="/alice/Role=pilot" }
rule permit { pfqan="/dteam/Role=pilot" }
rule permit { pfqan="/ops/Role=pilot" }
rule permit { vo="dteam" }
}
}
Worker Node
Prerequisiti
A partire da un WN standard SL5 con glite 3.2, bisogna aggiungere i seguenti RPM:
Il WN dovrebbe poter montare:
- l'area sw degli esperimenti
- avere configurato GPFS
Installazione/configurazione di un gLexec enabled Worker Node via YUM/YAIM
yum install GLEXEC_wn (ig_GLEXEC_WN se si usa il repo ig)
Se i pacchetti elencati nella sezione prerequisiti son gia' sul repo del T1 dovrebbero essere presi automaticamente, altrimenti
si procede con l'installazione a mano:
rpm --force -i <nome_del_pacchetto>
A questo punto si puo' configurare il WN via YAIM. Per la configurazione di un WN di test io ho settato le variabili seguenti (oltre a quelle "classiche" di ogni WN):
GLEXEC_WN_SCAS_ENABLED="no"
GLEXEC_WN_ARGUS_ENABLED="yes"
ARGUS_PEPD_ENDPOINTS="https://argus.cr.cnaf.infn.it:8154/authz"
GLEXEC_WN_OPMODE="setuid"
GLEXEC_WN_LCAS_DEBUG_LEVEL="1"
GLEXEC_WN_LCMAPS_LOG_LEVEL="1"
GLEXEC_EXTRA_WHITELIST="andrea"
GLEXEC_WN_PEPC_RESOURCEID="http://cnaf.infn.it/wn"
GLEXEC_WN_PEPC_ACTIONID="http://glite.org/xacml/action/execute"
Tipicamente queste opzioni vengono settate nel file:
/opt/glite/yaim/examples/siteinfo/services/glite-glexec_wn
Nota bene: la configurazione di glexec_wn e' da considerarsi in aggiunta a quella di
un normale wn, quindi il comando yaim sara' tipo:
/opt/glite/yaim/bin/ig_yaim -c -s lcg-site-info.def -n WN_LSF_noafs -n GLEXEC_wn
--
AndreaCeccanti - 2010-02-03