SG VOMS Guide
From EGEE-see WIki
Contents |
Reference Links
VO Overview: process of setting up a VO
- VOMS deployment
* http://grid-deployment.web.cern.ch/grid-deployment/cgi-bin/index.cgi?var=gis/voms-deploy
- RPM List for VOMS server: for 7.3 use similar rpms for SLC
* http://lcgdeploy.cvs.cern.ch/cgi-bin/lcgdeploy.cgi/lcg-release/rpmlist/VOMS-server-rpm.h
- Link to VOMS RPMS
* http://grid-deployment.web.cern.ch/grid-deployment/download/RpmDir_i386-sl3/wp2/edg-voms-admin* * http://grid-deployment.web.cern.ch/grid-deployment/download/RpmDir_i386-sl3/wp6/voms*
VOMS Admin
* short install guide:* voms integration doc: http://grid-it.cnaf.infn.it/fileadmin/sysadm/voms-integration/voms-integration.html
VOMS background
* EDG page * http://edg-wp2.web.cern.ch/edg-wp2/security/voms/ * Admin and user guide *![]()
Install New: Feb 7
Steps taken by release team to improve installation process * A new voms server rpmlist file has been created: * http://lcgdeploy.cvs.cern.ch/cgi-bin/lcgdeploy.cgi/lcg-release/rpmlist_sl3/VOMS-server-rpm.h * `perl-DBD-mysql` rpm is created from `cpan` using `cpan2rpm` * `apt-get` repository generated
Setup apt-get
create a new repository for for apt-get
- e.g. `/etc/apt/sources.list.d/voms.list` with 2 lines
- first line is for voms and the second is for the lcg SL3 repository
- there should also a default SLC apt-repository specified for additional rpms
rpm http://grid-deployment.web.cern.ch/grid-deployment/gis apt/VOMS/en/i386 lcg_sl3 rpm http://grid-deployment.web.cern.ch/grid-deployment/gis apt/LCG-2_3_1/en/i386 lcg_sl3
Setup installation preferences
- for cern's apt-get version, cern's own rpms will always take priority even if version number are older.
- so the `/etc/apt/perferences` file must be created to ensure lcg rpms are installed instead
- add following lines to the file:
Package: swig Pin: release o=LCG Pin-Priority: 995
Package: ant Pin: release o=LCG Pin-Priority: 995
Package: perl-TermReadKey Pin: release o=LCG Pin-Priority: 995
Package: perl-Time-HiRes Pin: release o=LCG Pin-Priority: 995
Package: perl-DBD-mysql Pin: release o=LCG Pin-Priority: 995
Install packages
apt-get update apt-get install lcg-VOMS
Configuration New
Setup NTPD
See node synchronization section at:
* http://grid-deployment.web.cern.ch/grid-deployment/documentation/LCG2-Manual-Install/LCG2-Manual-Install.html#SECTION00050000000000000000
Setup Crontabs
13 8 * * * /usr/sbin/tmpwatch -f 240 /var/log/tomcat4 # Log update 13 1,7,13,19 * * * /opt/edg/etc/cron/edg-fetch-crl-cron #Certificate Revokation List update
Setup host certificates
- see section 4.1 of:
Startup Mysql security
- setup password:
mysqladmin -u root -p password 'newpass'
- only listen to local host for mysql by modify the startup file `/etc/my.cnf`:
[mysqld] bind-address=127.0.0.1
- then restart mysql and check with `netstat -tlnp`
EDG Configuration
- create top level EDG config file
- follow instruction in section 4.3:
- http://grid-deployment.web.cern.ch/grid-deployment/gis/release-docs/LCG-2_2_0/CE/CE-docs.html#13
create config directory
- edg-voms-admin-configure complained: $EDG_LOCATION_VAR (/opt/edg/var) does not exist
- create: `mkdir /opt/edg/var/etc`
create voms user and group
- edg-voms-admin-configure complained: Group not found in /etc/group: voms
- create: `useradd voms`
setup edg-java-security
- setup edg-java-security to allow for secure connections
- as specified in the end of `EDG-VOMS-ADMIN INSTALL GUIDE`
edg-java-security-post-install.sh edg-java-security-tomcat-configure ln -s $EDG_LOCATION/etc/init.d/edg-tomcat4 /etc/init.d/edg-tomcat4 ln -s $EDG_LOCATION/etc/init.d/edg-voms-admin /etc/init.d/edg-voms-admin chkconfig --add edg-tomcat4 chkconfig --add edg-voms-admin
create a new vo
edg-voms-admin-configure install \ --vo=seegrid \ --port 15010 \ --dbapwd=<root_db_pass> \ --mail-from=Min-Hong.Tsai@cern.ch \ --smtp-host=smtp.cern.ch
- If you obtain error:
Creating the database... ...loading the scheme ERROR 1045: Access denied for user: 'VOname_adm@localhost' (Using password: YES)Could not run /usr/bin/mysql with VOname_adm
Please note that this is a known MySQL error. This most likely means a vo with the same name already exists in the database and should be removed before configuring the vo again. Use the following command to remove the conflicting vo database:
edg-voms-admin-configure remove \ --vo=VOname --port=[PORTNUMBER] -dbapwd==<root_db_pass>
Then. give again the same 'edg-voms-admin-configure install' command.
- after the successful completion of this command the config file is created
- `/opt/edg/etc/voms/seegrid/voms.conf`
Start Services
$EDG_LOCATION/etc/init.d/edg-voms-admin start /etc/rc.d/init.d/edg-tomcat4 start $EDG_LOCATION/etc/init.d/voms start
- make sure firewall ports accessing these services are open
- for tomcat `8443` and for voms `<the vo voms port e.g. 15000:15020>`
- test by browsing https://<server>:8443/edg-voms-admin/<voname>/
useful log files
- these files are useful for trouble shooting
- tomcat itself:
- `/var/log/tomcat4/catalina.out`
- voms-admin
- `/var/log/tomcat4/voms-admin.<voname>.log`
- tomcat itself:
Final Steps
Admin Setup
Register admin certificates
edg-voms-admin --url=http://localhost:8080/edg-voms-admin/<voname> \ create-user <usercert.pem> \ assign-role <voname> VO-Admin <usercert.pem>
With the certifiate loaded into your browser you should be able to access the VOMS web interface
- `http://<voms-server>:8080/edg-voms-admin/seegrid`
Mail setup:
- if mail was not setup during `edg-voms-admin-configure install` you can change the settings in
- `/opt/edg/var/etc/edg-voms-admin/<vodir>/voms.service.properties`
Allow List Access
Allow all users with a valid certificate so any host can list users.
- go to the voms administration page with a vo-admin certificate loaded
- go to `Administrate VOMS`->`Global ACL`->`Edit ACL`
- set:
Allow: allow Operation: list For: Anyone who presents a certificate issued by a known CA (Including host and service certificates)
- `add new entry`
Register Users
User go to the VOMs page and enter registration info Prior to LCG-2_4_0, all seegrid members with certificate and do not plan to register with “dteam�? in the near future or other VO to register at the seegrid VOMS server.
- go to: https://voms.irb.hr:8443/voms/seegrid/
- click on “Request to admins�?
- click on “request VO membership�?
- Use your email that is listed in the SEE-GRID project notebook.
Request form users that already exist in the SEE-GRID notebook will be accepted. For VO membership request of people not listed in the notebook, the request will be confirmed with one of the PSC members for that institution.
Setup Site to support SEE-GRID
- For LCG-2_3_0 the easiest way to use VOMS server is to generate gridmap files using voms. Thus the middleware will not directly interact with VOMS.
- LCG-2_4_0 release will include configurations necessary to enable voms authorization in the grid middleware. This will allow us to take advantage of multiple vo membership, roles, groups and attributes supported by voms.
2_4_0 YAIM INSTALL
If you have already installed 2_4_0 without seegrid support, you will need to reconfigure the UI, RB, CE, SE and all WNs with the new site-info.def and users.conf modifications below.
- modify the `site-info.def`
- Add seegrid vo to the `VOS` parameter
VOS="atlas alice lhcb cms dteam sixt seegrid"
- Add seegrid related parameters
VO_SEEGRID_SW_DIR=$VO_SW_DIR/seegrid VO_SEEGRID_DEFAULT_SE=$SE_HOST VO_SEEGRID_SGM=vomss://voms.irb.hr:8443/voms/seegrid?/seegrid/Role=sgmadmin VO_SEEGRID_USERS=vomss://voms.irb.hr:8443/voms/seegrid?/seegrid VO_SEEGRID_STORAGE_DIR=$CE_CLOSE_SE1_ACCESS_POINT/seegrid VO_SEEGRID_QUEUES="seegrid"
<!> For pre 2_4_0 grid-map generation checks if users are registered with LCG. This should only be necessary with the ldap vo servers. A new version(included in 2_4_0) of the edg-mkgridmap file is now available to prevent it from doing this check for native voms vo servers (for SL):
- You will also need to generate pool accounts for seegrid by adding user to YAIM's `users.conf` file
23110:seegrid001:1099:seegrid:seegrid:: 23111:seegrid002:1099:seegrid:seegrid:: 23112:seegrid003:1099:seegrid:seegrid:: 23113:seegrid004:1099:seegrid:seegrid:: 23114:seegrid005:1099:seegrid:seegrid:: 23115:seegrid006:1099:seegrid:seegrid:: 23116:seegrid007:1099:seegrid:seegrid:: 23117:seegrid008:1099:seegrid:seegrid:: 23118:seegrid009:1099:seegrid:seegrid:: 23119:seegrid010:1099:seegrid:seegrid:: 23120:seegrid011:1099:seegrid:seegrid:: 23121:seegrid012:1099:seegrid:seegrid:: 23122:seegrid013:1099:seegrid:seegrid:: 23123:seegrid014:1099:seegrid:seegrid:: 23124:seegrid015:1099:seegrid:seegrid:: 23125:seegrid016:1099:seegrid:seegrid:: 23126:seegrid017:1099:seegrid:seegrid:: 23127:seegrid018:1099:seegrid:seegrid:: 23128:seegrid019:1099:seegrid:seegrid:: 23129:seegrid020:1099:seegrid:seegrid:: 23500:seegridsgm:1099:seegrid:seegrid:sgm:
Install seegrid RPM
Install the seegrid RPM on the CE, SE, UI and RB. This rpm installs the vomses file and seegrid voms host certificate on each of these nodes.
- Download (using Save as) the rpm
- Install/upgrade the rpm.
Older versions of the rpm are also available.
Manual Steps
Make the following manual modification on the CE and SE nodes.
- Add the following lines to the file /opt/edg/etc/lcmaps/gridmapfile
"/VO=seegrid/GROUP=/seegrid/ROLE=sgmadmin" seegridsgm "/VO=seegrid/GROUP=/seegrid" .seegrid
- Next is /opt/edg/etc/lcmaps/groupmapfile :
"/VO=seegrid/GROUP=/seegrid/ROLE=sgmadmin" seegrid "/VO=seegrid/GROUP=/seegrid" seegrid
- Create VO specific Work Load Management file on the UI `/opt/edg/etc/seegrid/edg_wl_ui.conf`:
[
VirtualOrganisation = "seegrid";
NSAddresses = {"ui.ulakbim.gov.tr:7772", "rb.phy.bg.ac.yu:7772"};
LBAddresses = {{"ui.ulakbim.gov.tr:9000"}, {"rb.phy.bg.ac.yu:9000"}};
MyProxyServer = "myproxy.grid.auth.gr "
]
- You can change the hostnames to your own RB or MyProxy server if they support this vo.
Testing
- check if edg-mkgridmap is working correctly:
$ grep seegrid /etc/grid-security/grid-mapfile "/DC=ORG/DC=SEE-GRID/O=People/O=RBI/CN=Valentin Vidic" .seegrid
- as usual create a proxy with `grid-proxy-init` and send a job
Testing: using voms directly (for release LCG-2_4-0)
To create a normal voms proxy
voms-proxy-init -voms seegrid
To specify a role for the proxy
voms-proxy-init -voms seegrid:/seegrid/role=sgmadmin`
Check detailed information about proxy created
voms-proxy-info -all
Run tests from UI
- Try `voms-proxy-init` and check if direct voms access is working
- then if you have a role, check if you are mapped to your role account
For each test case run
- globus-job-run <cename> /usr/bin/id
- this should map to the correct pool account
- check the gatekeeper log on CE for details on what happened
- `/var/log/globus-gatekeeper.log`
- globus-url-copy file:`pwd`/testf gsiftp://<ce/se>/..
- check if file is being created with the correct owner
- see gridftp log for more details
- `/var/log/globus-gridftp.log`
Troubleshooting FAQ
Can't create proxy with Role
In the LCG client version 1.3.7 you get the following if you try to create a proxy with a role:
$ voms-proxy-init -voms twgrid:/twgrid/Role=VO-Admin
Your identity: /C=CH/O=CERN/OU=GRID/CN=Min-Hong Tsai 1700
Enter GRID pass phrase for this identity:
Creating temporary proxy ................................... Done
/C=TW/O=AS/OU=CC/CN=voms.grid.sinica.edu.tw
/C=TW/O=AS/CN=Academia Sinica Grid Computing Certification Authority
Can't interpret AC!
twgrid: Unable to satisfy G/twgrid/Role=VO-Admin Request!
header too long
Function: ASN1_get_objectbad get asn1 object call¨É{ ȱ
This will be fixed in later versions, but there is a easy workaround available:
- just use `/role=` instead of `/Role=`
For more details see
edg-job-list-match and edg-job-submit fails
There is a problem with the 2_4_0 UI code that has problems handling host certificate from different hosts on the UI. Future version of UI code should resolve this problems.
A possible workaround is:
> mkdir ~/vomsdir > cp /etc/grid-security/vomsdir/seegrid ~/vomsdir/. > export X509_VOMS_DIR=~/vomsdir
- This however will cause problems for other VOs when using voms authentication
For more info see:
Admin FAQ
How do I syncronize to ldap voms sever?
- try syncronizing to ldap servers
- `/opt/edg/etc/cron/edg-voms-ldap-sync`
- this gets the ldap voms server endpoints from
- `$EDG_LOCATION/etc/edg-voms-admin/ldap-vo-config.xml`
- if everything works ok then install cron
13 2,8,14,20 * * * /opt/edg/etc/cron/edg-voms-ldap-sync #Contact and fetch LDAP contents
How do I delete a vo from VOMS server
- use `edg-voms-admin-configure` with the `remove` command
- `man edg-voms-admin-configure` for more details
Adding user to role
Problem:
- if you try to add a user to a role, only 100 users are listed and the search feature is not working.
Solution:
- to work around this problem increase the limit of user in:
- `/opt/edg/var/etc/edg-voms-admin/<voname>/voms.service.properties
- increase these numbers
voms.webui.list.limit.users 100 voms.webui.list.limit.groups 100 voms.webui.list.limit.roles 100 voms.webui.list.limit.capabilities 100
Fix sibling information for voms
Problem:
- I created a vo with `edg-voms-admin` with the incorrect port number
- I corrected this in the voms config file `/opt/edg/etc/voms/<voname>/voms.conf`, but it appears incorrectly in the sibiling page for edg-voms-admin
Answer:
- you still need to modify the vomes file for edg-vo-admin.
- this file is only used to display this info for edg-vo-admin and not by voms itself. so this is only a cosmetic problem.
- update `/opt/edg/var/etc/edg-voms-admin/<voname>/vomses`
Tomcat runs out of memory
Problem:
- edg-voms-admin interface is unresponsive and `catalina.out` complains about running out of memory.
- this may happen with the default memory settings and if you are running several vos on the same server
Solution:
- increase the amount of memory available for tomcat. Add these lines to `/var/tomcat4/conf/tomcat4.conf`
# Java VM options for memory control JAVA_OPTS="-Xms64m -Xmx256m"
How do I customize the user registration page
This is explained in `/opt/edg/etc/edg-voms-admin/web/README` To create additional web pages for a particular vo place the html file here:
- `/opt/edg/var/etc/edg-voms-admin/<voname>/web/test.html`
- then you can view this document here:
- `https://voms.cern.ch:8443/edg-voms-admin/<voname>/test.html`
To replace the default user registration page create this page
- `/opt/edg/var/etc/edg-voms-admin/<voname>/web/UserRequest/create.pp`
- This file has the default contents of
<H3>VO User Registration Request</H3> <P>For access to the VO resources, you must agree to the VO's Usage Rules. Please fill out all fields in the form below and click on the appropriate button at the bottom.</P> <P>After you have confirmed your request by the instructions, which will be sent to you in an email, this request to join the VO will automatically be forwarded to the VO manager.</P> <P><B>IMPORTANT</B>: By submitting this information you agree that it may be distributed to and stored by VO and site administrators, that action may be taken to confirm the information you provide is correct, that it may be used for the purpose of controlling access to VO resources and that it may be used to contact you in relation to this activity.</P>
