This page will be used for general information about our grid Infrastructure, news, upgrade stories, patches to the software stack, network configuration and studies etc ... Some documents containing local information are however protected.
External links
If you do NOT have a grid certificate yet or need to renew your certificate, you need to either request a certificate or request a renewal. Instructions are available as:
Having a CERT is the first step. You now need to be part of a Virtual Organization (VO).
STAR used VOMRS during PPDG time and switched to VOMS at OSG time to maintained its VO user's certificates.
Only VOMS is currentely maintained. A VO is used as a centralized repository of user based information so all sites on the grid could be updated on addition (or removal) of identifications. VOMS service and Web interface are maintained by the RACF.
This page will anchor various OSG-related collaborative efforts.
$ENV{"SGE_ROOT"} = $SGE_ROOT;and add the line
$ENV{"SGE_CELL"} = $SGE_CELL;
system("$qdel $job_id > /dev/null 2 > /dev/null");and replace for the following block
$ENV{"SGE_ROOT"} = $SGE_ROOT; $ENV{"SGE_CELL"} = $SGE_CELL; $job_id =~ /(.*)\|(.*)\|(.*)/; $job_id = $1; system("$qdel $job_id > /dev/null 2 > /dev/null");
##### # Where to write output and error? # if(($description->jobtype() eq "single") && ($description->count() > 1)) { ##### # It's a single job and we use job arrays # $sge_job_script->print("#\$ -o " . $description->stdout() . ".\$TASK_ID\n"); $sge_job_script->print("#\$ -e " . $description->stderr() . ".\$TASK_ID\n"); } else { # [dwm] Don't use real output paths; copy the output there later. # Globus doesn't seem to handle streaming of the output # properly and can result in the output being lost. # FIXME: We would prefer continuous streaming. Try to determine # precisely what's failing so that we can fix the problem. # See Globus bug #1288. $sge_job_script->print("#\$ -o " . $description->stdout() . ".real\n"); $sge_job_script->print("#\$ -e " . $description->stderr() . ".real\n"); }and then again at line 659:
if(($description->jobtype() eq "single") && ($description->count() > 1)) ##### # Jobtype is single and count>1. Therefore, we used job arrays. We # need to merge individual output/error files into one. # { # [dwm] Use append, not overwrite to work around file streaming issues. system ("$cat $job_out.* >> $job_out"); system ("$cat $job_err.* >> $job_err"); } else { # [dwm] We still need to append the job output to the GASS cache file. # We can't let SGE do this directly because it appears to # *overwrite* the file, not append to it -- which the Globus # file streaming components don't seem to handle properly. # So append the output manually now. system("$cat $job_out.real >> $job_out"); }
# So append the output manually now. system("$cat $job_out.real >> $job_out"); }it should read:
# So append the output manually now. system("$cat $job_out.real >> $job_out"); system("$cat $job_err.real >> $job_err"); }
$ENV{"SGE_ROOT"} = $SGE_ROOT; if ( -r "$ENV{HOME}/.chos" ){ $chos=`cat $ENV{HOME}/.chos`; $chos=~s/\n.*//; $ENV{CHOS}=$chos; }
for VDT 1.3.9 (which is what I got with OSG 0.4.0) in the OSG/VDT directory, do:
pacman -get http://vdt.cs.wisc.edu/vdt_139_cache:Globus-Updates
This nominally makes your VDT installation 1.3.9c, though it didn't update my vdt-version.info file accordingly -- it still says 1.3.9b
for VDT 1.3.10, similar installation should work:
pacman -get http://vdt.cs.wisc.edu/vdt_1310_cache:Globus-Updates
<!--- 9 STAR ---!>
<groupMapping name='star' accountingVo='star' accountingDesc='STAR'>
<userGroup className='gov.bnl.gums.VOMSGroup'
url='https://vo.racf.bnl.gov:8443/edg-voms-admin/star/services/VOMSAdmin'
persistenceFactory='mysql'
name='osg-star'
voGroup="/star"
sslCertfile='/etc/grid-security/hostcert.pem'
sslKey='/etc/grid-security/hostkey.pem' ignoreFQAN="true"/>
<accountMapping className='gov.bnl.gums.GroupAccountMapper'
groupName='osg-star' /> </groupMapping>
This page will provide information specific to the STAR Grid sites.
This page was last updated on May 17, 2016.
The nodes for STAR's grid-related activities at BNL are as follows:
Color coding
Grid Machine | Usage | Notes | Hardware Make and Model | OS version, default gcc version |
Hardware arrangement | OSG base | Condor |
---|---|---|---|---|---|---|---|
stargrid01 | FROM BNL, submit grid jobs from this node | Dell PowerEdge 2950 dual quad-core Xeon E5440 (2.83 GHz/ 1.333 GHz FSB), 16 GB RAM |
RHEL Client 5.11, gcc 4.3.2 |
6 x 1TB SATA2: 1GB /boot (/dev/md0) is RAID 1 across all six drives There are 3 RAID 1 arrays using pairs of disks (eg. /dev/sda2 and /dev/sdb2 are one array). The various local mount points and swap space are logical volumes scattered across these RAIDed pairs. There are 2.68 TB of unassigned space in the current configuration. |
OSG 3.2.25 Client software stack for job submission | 8.2.8-1.4 (part of OSG install -- only for grid submission, not part of RACF condor) | |
stargrid02 | file transfer (gridftp) server | Attention: on stargrid02, the mappings *formerly* were all grid mappings (i.e. to VO group accounts: osgstar, engage, ligo, etc...) On May 17, 2016, this was changed to map STAR VO users to individual user accounts (matching the behaviour of stargrid03 and stargrid04). This behavior may be changed back. (TBD) Former STAR-BNL site gatekeeper |
Dell PowerEdge 2950 dual quad-core Xeon E5440 (2.83 GHz/ 1.333 GHz FSB), 16 GB RAM |
RHEL Client 5.11, gcc 4.3.2 |
6 x 1TB SATA2: Configured the same as stargrid01 above NIC 2 x 1Gb/s (one in use for RACF IPMI/remote administration on private network) |
OSG CE 3.1.23 |
7.6.10 (RCF RPM), NON-FUNCTIONAL (non-working configuration) |
stargrid03 | file transfer (gridftp) server | To transfer using STAR individual user mappings, please use this node or stargrid04 | Dell PowerEdge 2950 dual quad-core Xeon E5440 (2.83 GHz/ 1.333 GHz FSB), 16 GB RAM |
RHEL Client 5.11, gcc 4.3.2 |
6 x 1TB SATA2: Configured the same as stargrid01 above NIC 2 x 1Gb/s (one in use for RACF IPMI/remote administration on private network) |
OSG CE 3.1.18 | 7.6.10 (RCF RPM), NON-FUNCTIONAL (non-working configuration) |
stargrid04 | file transfer (gridftp) server | To transfer using STAR individual user mappings, please use this node or stargrid03 | Dell PowerEdge 2950 dual quad-core Xeon E5440 (2.83 GHz/ 1.333 GHz FSB), 16 GB RAM |
RHEL Client 5.11, gcc 4.3.2 |
6 x 1TB SATA2: Configured the same as stargrid01 above NIC 2 x 1Gb/s (one in use for RACF IPMI/remote administration on private network) |
OSG CE 3.1.23 | 7.6.10 (RCF RPM), NON-FUNCTIONAL (non-working configuration) |
stargrid0[234] are using the VDT-supplied gums client (version 1.2.16).
stargrid02 has a local hack in condor.pm to adjust the condor parameters for STAR users with local accounts.
All nodes have GLOBUS_TCP_PORT_RANGE=20000,30000 and matching firewall conduits for Globus and other dynamic grid service ports.
MIT’s CMS Analysis Facility is a large Tier-2 computing center built for CMS user analyses. We’re looking into the viability of using it for STAR computing.
First things first. I went to http://www2.lns.mit.edu/compserv/cms-acctappl.html and applied for a local account. The welcome message contained a link to the CMSAF User Guide found on this TWiki page.
AFS isn’t available on CMSAF, so I started a local tree at /osg/app/star/afs_rhic and began to copy over stuff. Here’s a list of what I copied so far (nodes are running SL 4.4):
CERNLIB
/afs/rhic.bnl.gov/asis/sl4/slc4_ia32_gcc345/cern
OPTSTAR
/afs/rhic.bnl.gov/i386_sl4/opt/star/sl44_gcc346
GROUP_DIR
/afs/rhic.bnl.gov/star/group
ROOT 5.12.00
/afs/rhic.bnl.gov/star/ROOT/5.12.00/root
/afs/rhic.bnl.gov/star/ROOT/5.12.00/.sl44_gcc346
SL07e (sl44_gcc346 only)
/afs/rhic.bnl.gov/star/packages/SL07e
I copied these precompiled libraries over instead of building them myself because of a tricky problem with the interactive nodes’ configuration. The main gateway node is a 64-bit machine, so regular attempts at compilation produce 64-bit libraries that we can’t use. CMSAF has a node reserved for 32-bit builds, but it’s running SL 3.0.5. We’re still working on a proper resolution of that problem. Perhaps we can force cons to do 32-bit compilations.
The environment scripts are working, although I had to add more hacks than I thought were necessary. I only changed the following files:
It doesn’t seem possible to change the default login shell (chsh and ypchsh both fail), so when you login you need to type “tcsh” to get a working STAR environment (after copying my .login and .cshrc to your home directory, of course).
Basic interactive tests look good, and I’ve got a SUMS configuration that will do local job submissions to the Condor system (that’s a topic for another post). DB calls use the MIT database mirror. I think that’s all for now.
I deployed a private build of SUMS (roughly 1.8.10) on CMSAF and made the following changes to globalConfig.xml to get local job submission working:
In the Queue List
In the Policy List
Now for the Dispatcher
And finally, here's the site configuration block
MIT has a local slave connected to the STAR master database server. A dbServers.xml with the following content will allow you to connect to it:
<StDbServer>
<server> star1 </server>
<host> star1.lns.mit.edu </host>
<port> 3316 </port>
<socket> /tmp/mysql.3316.sock </socket>
</StDbServer>
For more information on selecting database mirrors please visit this page. You can also view a heartbeat of all the STAR database slaves here. Finally, if you're interested in setting up your own database slave, Michael DePhillips has put some preliminary instructions on the
In order to facilitate the submission of jobs, all requests for the Tier2 must contain the following information. Note that, because we cannot maintain stardev on Tier2, all jobs must be run from a tagged release. It is the users responsibility to ensure that the requested job runs from a tagged release, with any necessary updates from CVS made explicit.
1. Tagged release of the STAR environment from which the job will be run, e.g. SL08a.
2. Link to all custom macros and/or kumacs.
3. Link to pams/ and StRoot/ directories containing any custom code, including all necessary CVS updates of the tagged release.
5. List of commands to be executed, i.e. the contents of the <job></job> in your submission XML.
One is also free to include a custom log4j.xml, but this is not necessary.
Production Name |
STAR Library |
Species | Subprocesses |
PYTHIA Library |
BFC |
Geometry |
Notes |
mit0000 |
SL08a | pp200 | QCD 2->2 | pythia6410PionFilter |
"trs fss y2006c Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" |
y2006c | CKIN(3) = 4, CKIN(4) = 5 |
mit0001 |
SL08a | pp200 | QCD 2->2 | pythia6410PionFilter |
"trs fss y2006c Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" |
y2006c | CKIN(3) = 5, CKIN(4) = 7 |
mit0002 | SL08a | pp200 | QCD 2->2 | pythia6410PionFilter | "trs fss y2006c Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006c | CKIN(3) = 7, CKIN(4) = 9 |
mit0003 | SL08a | pp200 | QCD 2->2 | pythia6410PionFilter | "trs fss y2006c Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006c | CKIN(3) = 9, CKIN(4) = 11 |
mit0004 | SL08a | pp200 | QCD 2->2 | pythia6410PionFilter | "trs fss y2006c Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006c | CKIN(3) = 11, CKIN(4) = 15 |
mit0005 | SL08a | pp200 | QCD 2->2 | pythia6410PionFilter | "trs fss y2006c Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006c | CKIN(3) = 15, CKIN(4) = 25 |
mit0006 | SL08a | pp200 | QCD 2->2 | pythia6410PionFilter | "trs fss y2006c Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006c | CKIN(3) = 25, CKIN(4) = 35 |
Production Name |
STAR Library |
Species | Subprocesses | PYTHIA Library | BFC | Geometry | Notes |
mit0007 | SL08a | pp500 | W | pythia6_410 | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=10, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit0008 | SL08a | pp500 | QCD 2->2 | pythia6_410 | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 |
CKIN(3)=20, CKIN(4)=30, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit0009 | SL08a | pp500 | W | pythia6410FGTFilter | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=10, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit00010 | SL08a | pp500 | QCD 2->2 | pythia6410FGTFilter | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=20, CKIN(4)=30, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit0011 |
SL08a | pp500 | QCD 2->2 | pythia6410FGTFilterV2 | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=5, CKIN(4)=10, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit0012 | SL08a | pp500 | QCD 2->2 | pythia6410FGTFilter | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=10, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit0013 | SL08a | pp500 | QCD 2->2 | pythia6410FGTFilterV2 | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=15, CKIN(4)=20, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit0014 | SL08a | pp500 | QCD 2->2 | pythia6410FGTFilterV2 | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=20, CKIN(4)=30, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit0015 | SL08a | pp500 | QCD 2->2 | pythia6410FGTFilterV2 | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=30, CKIN(4)=50, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
mit0016 | SL08a | pp500 | QCD 2->2 | pythia6410FGTFilterV2 | "trs -ssd upgr13 Idst IAna l0 tpcI fcf -ftpc Tree logger ITTF Sti StiRnd -IstIT -SvtIt -NoSvtIt SvtCL,svtDb -SsdIt MakeEvent McEvent geant evout geantout IdTruth bbcSim emcY2 EEfs bigbig -dstout fzin -MiniMcMk McEvOut clearmem -ctbMatchVtx VFPPV eemcDb beamLine" | upgr13 | CKIN(3)=50, Custom BFC, vertex(0.1,-0.2,-60), beamLine matched |
Production Name | STAR Library | Species | Subprocess | PYTHIA Library | BFC | Geometry | Notessuffix |
mit0019 | SL08c | pp200 | Prompt Photon | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=2, CKIN(4)=3, StGammaFilterMaker |
mit0020 | SL08c | pp200 | Prompt Photon | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=3, CKIN(4)=4, StGammaFilterMaker |
mit0021 | SL08c | pp200 | Prompt Photon | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=4, CKIN(4)=6, StGammaFilterMaker |
mit0022 | SL08c | pp200 | Prompt Photon | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=6, CKIN(4)=9, StGammaFilterMaker |
mit0023 | SL08c | pp200 | Prompt Photon | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=9, CKIN(4)=15, StGammaFilterMaker |
mit0024 | SL08c | pp200 | Prompt Photon | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=15, CKIN(4)=25, StGammaFilterMaker |
mit0025 | SL08c | pp200 | Prompt Photon | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=25, CKIN(4)=35, StGammaFilterMaker |
mit0026 | SL08c | pp200 | QCD | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=2, CKIN(4)=3, StGammaFilterMaker |
mit0027 | SL08c | pp200 | QCD | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=3, CKIN(4)=4, StGammaFilterMaker |
mit0028 | SL08c | pp200 | QCD | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=4, CKIN(4)=6, StGammaFilterMaker |
mit0029 | SL08c | pp200 | QCD | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=6, CKIN(4)=9, StGammaFilterMaker |
mit0030 | SL08c | pp200 | QCD | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=9, CKIN(4)=15, StGammaFilterMaker |
mit0031 | SL08c | pp200 | QCD | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=15, CKIN(4)=25, StGammaFilterMaker |
mit0032 | SL08c | pp200 | QCD | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=25, CKIN(4)=35, StGammaFilterMaker |
mit0033 | SL08c | pp200 | QCD | p6410BemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=35, CKIN(4)=65, StGammaFilterMaker |
Production Name | STAR Library | Species | Subprocess | PYTHIA Library | BFC | Geometry | Notessuffix |
mit0034 | SL08c | pp200 | Prompt Photon | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=2, CKIN(4)=3, StGammaFilterMaker |
mit0035 | SL08c | pp200 | Prompt Photon | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=3, CKIN(4)=4, StGammaFilterMaker |
mit0036 | SL08c | pp200 | Prompt Photon | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=4, CKIN(4)=6, StGammaFilterMaker |
mit0037 | SL08c | pp200 | Prompt Photon | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=6, CKIN(4)=9, StGammaFilterMaker |
mit0038 | SL08c | pp200 | Prompt Photon | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=9, CKIN(4)=15, StGammaFilterMaker |
mit0039 | SL08c | pp200 | Prompt Photon | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=15, CKIN(4)=25, StGammaFilterMaker |
mit0040 | SL08c | pp200 | QCD | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=2, CKIN(4)=3, StGammaFilterMaker |
mit0041 | SL08c | pp200 | QCD | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=3, CKIN(4)=4, StGammaFilterMaker |
mit0042 | SL08c | pp200 | QCD | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=4, CKIN(4)=6, StGammaFilterMaker |
mit0043 | SL08c | pp200 | QCD | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=6, CKIN(4)=9, StGammaFilterMaker |
mit0044 | SL08c | pp200 | QCD | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=9, CKIN(4)=15, StGammaFilterMaker |
mit0045 | SL08c | pp200 | QCD | p6410EemcGammaFilter | "trs fss y2006g Idst IAna l0 tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20050727" | y2006g | CKIN(3)=15, CKIN(4)=25, StGammaFilterMaker |
In order of decreasing importance:
I went through the list of required packages in /afs/rhic.bnl.gov/star/common/AAAREADME and figured out which ones were installed by default in an Intel OS X 10.4.8 client. Here's what I found:
I was able to find nearly all of the missing packages in the unstable branch for Fink (Intel machine). I wouldn't worry about the "unstable" moniker; as long as you don't do a blind update-all it's certainly possible to stick to a solid config, and there are several packages on the list that are only available in unstable (only because they haven't yet gotten the votes to move them over to stable). I've gone ahead and installed some of the missing packages in a fresh Fink installation and will serve it up over NFS at /Volumes/star1.lns.mit.edu/STAR/opt/star/osx48_i386_gcc401 (with a power_macintosh_gcc401 to match, although a more consistent $STAR_HOST_SYS would probably have been osx48_ppc_gcc401).
Here's a summary table of the packages installed in $OPTSTAR for the two OS X architectures at MIT. Note that many of these packages have additional dependencies, so the full list of installed packages on each system (attached at the bottom of the page) is actually much longer.
package | version |
Fortran compiler | gfortran 4.2 (i386), g77 3.4.3 (ppc) |
libpng | 1.2.12 |
mysql | 5.0.16-1002 (5.0.27 will break!) |
dejagnu | skipped |
texinfo | 4.8 |
findutils | 4.2.20 |
fileutils | 5.96 |
qt-x11 | 3.3.7 |
slang | 1.4.9 |
doxygen | 1.4.6 |
lynx | 2.8.5 |
ImageMagick | 6.2.8 |
nedit | 5.5 |
astyle | 1.15.3 (ppc only) |
unixodbc | 2.2.11 |
myodbc | not available (2.50.39, if we want it) |
libxml | 2.6.26 |
I also looked for required perlmods in Fink. I stuck with the default Perl 5.86, so the modules that say e.g. pm588 required I did not install. I found that some of the modules are already part of core. If the older ones hosted by STAR are still needed, let me know. Virtual package means that it came with the OS already:
perlmod | version |
Compress-Zlib | virtual package |
DateManip | 5.42a |
DBI | 1.53 |
DBD-mysql | 3.0008 |
Digest-MD5 | core module |
HTML-Parser | virtual package |
HTML-Tagset | 3.10 |
libnet | not available |
libwww-perl | 5.805 |
LWPng-alpha | not available |
MD5 | not available |
MIME-Base64 | 3.05 |
Proc-ProcessTable | 0.39-cvs20040222-sf77 |
Statistics-Descriptive | 2.6 |
Storable | core module |
Time-HiRes | core module |
URI | virtual package |
XML-NamespaceSupport | 1.08 |
XML-SAX | 0.14 |
XML-Simple | 2.16 |
There were some additional perlmods that install_perlmods listed as "Linux only" but Fink offered to install:
perlmod | version |
GD | 2.30 |
perlindex | not available |
Pod-Escapes | 1.04 |
Pod-Simple | 3.04 |
Tk | 804.026 |
Tk-HistEntry | not available |
Tk-Pod | not available |
Questions:
The default makePythia6.macosx won't work out of the box for 10.4, since it requires g77. Here's what I did to get the libraries built for Pythia 5:
$ gfortran -c jetset74.f $ gfortran -c pythia5707.f $ echo 'void MAIN__() {}' > main.c $ gcc -c main.c $ gcc -dynamiclib -flat_namespace -single_module -undefined dynamic_lookup -install_name $OPTSTAR/lib/libPythia.dylib -o libPythia.dylib *.o $ sudo cp libPythia.dylib $OPTSTAR/lib/.
and for Pythia 6: $ export MACOSX_DEPLOYMENT_TARGET=10.4 $ gfortran -c pythia6319.f In file pythia6319.f:50551 IF (AAMAX.EQ.0D0) PAUSE 'SINGULAR MATRIX IN PYLDCM' 1 Warning: Obsolete: PAUSE statement at (1) $ gfortran -fno-second-underscore -c tpythia6_called_from_cc.F $ echo 'void MAIN__() {}' > main.c $ gcc -c main.c $ gcc -c pythia6_common_address.c $ gcc -dynamiclib -flat_namespace -single_module -undefined dynamic_lookup -install_name $OPTSTAR/lib/libPythia6.dylib -o libPythia6.dylib main.o tpythia6_called_from_cc.o pythia6*.o $ ln -s libPythia6.dylib libPythia6.so $ sudo cp libPythia6.* $OPTSTAR/lib/.
All the CERNLIB libraries are static and the binaries depend only on system libraries, so the whole installation should be portable. For PowerPC I had a CERNLIB 2005 build left over from a different Fink installation, so I just copied those binaries and libraries to the new location and downloaded the headers from CERN. Fink doesn't support CERNLIB on Intel Macs, so for this build I used Robert Hatcher's excellent shell script:
http://home.fnal.gov/~rhatcher/macosx/readme.html
Hatcher's binaries link against the gfortran dylib, so I made sure to build them with gfortran from $OPTSTAR.
CERNLIB 2005 doesn't include libshift.a, but STAR really wants to link against it. Here's a hack from Robert Hatcher to build your own cat > fakeshift.c < eof int rshift_(int* in, int* ishft) { return *in >> *ishft; } int ishft_(int* in, int* ishft) { if (*ishft == 0) return *in; if (*ishft > 0) return *in << *ishft; else return *in >> *ishft; } EOF gcc -O -fPIC -c fakeshift.c fi g77 -fPIC -c getarg_stub.f ar cr libshift.a fakeshift.o eof
Following the instructions at http://www.star.bnl.gov/STAR/comp/root/building_root.html was basically fine. Here was my configure command for rootdeb:
./configure macosx --build=debug --enable-qt --enable-table --enable-pythia6 --enable-pythia --with-pythia-libdir=$OPTSTAR/lib --with-pythia6-libdir=$OPTSTAR/lib --with-qt-incdir=$OPTSTAR/include/qt
which resulted in the final list Enabled support for asimage, astiff, builtin_afterimage, builtin_freetype, builtin_pcre, builtin_zlib, cern, cintex, exceptions, krb5, ldap, mathcore, mysql, odbc, opengl, pch, pythia, pythia6, python, qt, qtgsi, reflex, shared, ssl, table, thread, winrtdebug, xml, xrootd.
I did run into a few snags:
I'm working with a checked out copy of the STAR software and modifying codes when necessary if the fix is obvious. So far I've got the following cons working: cons %QtRoot %StEventDisplayMaker %pams %St_dst_Maker %St_geom_Maker
St_dst_Maker tries to subtract an int and a struct! Pams is a crazy mess of VAX-style Fortran STRUCTURES, but we really need it in order to run starsim. I haven't delved too deeply into the QtRoot-related stuff; I'm sure Valeri can help when the time comes. Hopefully we can get these things fixed without too much delay.
Power PC notes
Problems requiring changes to codes:
Intel notes
Basic problem here is (im)maturity of gfortran. Current Fink unstable version 4.2.0-20060617 still does not include some instrinsic symbols (lshift, lstat) that we expect to be there. Newer versions do have these symbols, and as soon as Fink updates I'll give it another go. I may try installing gcc 4.3 from source in the meantime, but it's not a high priority. Note that Intel machines should be able to run the Power PC build in translated mode with some hacking of the paths (force $STAR_HOST_SYS = osx48_power_macintosh_gcc401).
SGE_LOCATION=/home/sge-root
export SGE_LOCATION
SGE_ROOT=/home/sge-root
export SGE_ROOT
export VDT_LOCATION=/home/gridI just followed the log and answered the questions.
cd $VDT_LOCATION
pacman -get OSG:ce
pacman -get http://www.cs.wisc.edu/vdt/vdt_136_cache:Globus-SGE-Setupand these extra packages were installed in a few seconds.
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 2119 -j DNAT --to $STAR1where $GLOBALIP is the external IP of your firewall and $STAR1 is the IP of the machine running the GRID stuff.
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 2119 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 2135 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 2135 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 2136 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 2136 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 2811 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 2811 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 2812 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 2812 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 2912 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 2912 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 7512 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 7512 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 8443 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 8443 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 19000 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 19000 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 19001 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 19001 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p udp -d $GLOBALIP --dport 20000:65000 -j DNAT --to $STAR1
$filter -t nat -A PREROUTING -p tcp -d $GLOBALIP --dport 20000:65000 -j DNAT --to $STAR1
setenv GLOBUS_TCP_PORT_RANGE "60000 65000"setup.sh
setenv GLOBUS_HOSTNAME="stars.if.usp.br"
export GLOBUS_TCP_PORT_RANGE="60000 65000"This assures that the port range opened in the firewall will correspond to those used in the GRID environment. Also, because I run the firewall in masquerade mode, I had to set the proper hostname, otherwise it will pick the machine name, and I do not want that to happen.
export GLOBUS_HOSTNAME="stars.if.usp.br"
"/DC=org/DC=doegrids/OU=People/CN=Leigh Grundhoefer (GridCat) 693100" XXXXThe username 'XXXX' is the local username in your cluster... After this certificates were added to my mapfile the first two tests turned green
"/DC=org/DC=doegrids/OU=People/CN=Bockjoo Kim 740786" XXXX
globus-gatekeeper 2119/tcp # Added by the VDTIf not, add them...
gsiftp 2811/tcp # Added by the VDT
gsiftp2 2812/tcp # Added by the VDT
gsiftp 2811/udp # Added by the VDT
gsiftp2 2812/udp # Added by the VDT
globus-url-copy -dbg file:///star/u/suaide/gram_job_mgr_13594.log gsiftp://stars.if.usp.br/home/star/c
The -dbg mean debug is turned on... Everything goes fine until it
starts transfering the data (STOR
/home/star/c). It hangs and times out. Researching on the web, I
found a bug report atservice gsiftp
{
socket_type = stream
protocol = tcp
wait = no
user = root
instances = UNLIMITED
cps = 400 10
server = /auto/home/grid/vdt/sbin/vdt-run-gsiftp2.sh
disable = no
}
# Configuration for file the new (3.9.5) GridFTP Server
inetd 1
log_level ERROR,WARN,INFO,ALL
log_single /auto/home/grid/globus/var/log/gridftp.log
hostname "XXX.XXX.XXX.XXX"
Specification for the storage and cataloging of STAR virtual machine images
About this document:
This documentation describes where and how STAR virtual hard disk images are stored. Through standardization we can allow images to be:
What is a virtual machine image:
An image is a virtual hard disk, basically a large file on your "real" hard disk, whose contents are presented to the virtual machines (VM) as if it were a complete hard disk. STAR has a repository of virtual machine images which have operating systems and the STAR software stack pre-installed. Businesses now provide large computing facilities with many nodes running virtual machines that can be rented by the hour. One can upload a virtual machine image and essentially rubber stamp as many nodes of a particular configuration as desired. So they are not exactly identical, for example you will be wanting different names for each node (rcas1,rcas2,rcas3,...), a special step called contextualization is used to slightly customize each image.
A common type of image format many people are familiar with is the .ISO file. For example one can dump a block device like a hard disk or optical drive to one of these files. (could be a little irrelevant)
Example:
dd if=/dev/cdrom of=/home/bobfox/myCDimage.iso
One can then mount the file as if it where any other hard disk. In most newer desktop Linux distributions in the default Gnome desktop one can just click on an iso file and the mounted drive icon will appear on your desktop. Most virtual machines (VMware, VirtualBox) support mounting of ISO files as if they where CD-ROMS attached to a real system.
What does STAR want to do with this technology:
The STAR software stack is not yet as easy to install as “just keep clicking next”. We can make most of these complexities go away by providing virtual machine images to tier-2(+) STAR sites with the software stack pre-installed and ready to run out of the box.
STAR's dreams of running on the grid have languished for a long time because of the non-homogeneous nature of GRID host sites. STAR can not recompile and certify a customized version of its software stack for each site even if the resources are free and available. However most of the differences between sites offering computing resource can be leveled out if they all run virtual machines. This means STAR can guaranty that its software will run on different sites and that the output file produced are as valid as if they had been run on the local BNL Tear 1 site via the usual stringent quality assurance processes STAR employs.
It all sounds too good to be true. That is because it is. There are many different virtual machine softwares all with different formats of virtual machine images.
Some common virtual machine softwares are:
Virtual machine images:
These different virtual machine softwares require different image formats. Some can be easily converted, however most can not. For example Xen images don't contain any files in it /boot partition because it uses its own built in kernel. On the other hand VirtualBox uses the original operating system kernel. So converting from XEN to VirtualBox images is not really possible. Many packages will offer to convert the file system structure, but that doesn't mean the image will be able to boot.
The type of image you need is not up to you. It is determined by the virtual machine software of the host site. For example a XEN virtual machine will require a XEN image. Support for image formats other then the native format of the VM is very limited and in most cases non-existent and or unreliable.
Key parameters of images are:
Why is storage space on the list
When you create an image file, its size needs to be specified, which represents a fixed geometry of the virtual disk. It is not possible to change the size of the virtual hard disk later. If you have a fixed-size image of e.g. 10 GB, an image file of roughly the same size will be created on your host system. There are also dynamically expanding images these will initially be small and not occupy much space for unused virtual disk sectors, but the image file will grow every time a disk sector is written to for the first time to some max size which can not be made bigger once the full size is reached.
When you run your job at some remote site you will need to write the data somewhere. There are mapped network drives and such, but the most convenient space to write is in the image it's self. So the total data of the node can not be bigger then the max size of the image. We can express it like this:
( [OS] + [swap space] + [STAR software] + [your data] ) < ( [Image max size] )
Now that we have gotten the parameters out of the way that are specific to virtual machines there are some parameters specific to the software installed on the image.
Key parameters of the software installed on the image are:
One image may hold many different library versions, all of the other parameters may only have one value at a time. The data08 volume is devoted to grid work. It is the location of STARs image repository.
The path to the repository and scheme used to derive the name of the image is below:
/star/data08/OSG/APP/vm/[VM]/[Operating System]_[Instruction set architecture]_[Instruction set architecture word size]_[STAR lib version]_[maxsize]_[addition detail].[extension]
Place Holder |
Definitions |
---|---|
[VM] |
The name of the VM software (xen, kvm, virtualBox, ....) |
[Operating System] |
The Operating System installed (sl4, sl5.3, ubuntu9.10, fedora12, centOS5, ...) |
[Instruction set architecture] |
x86, SPARC, ARM, Alpha, PowerPC, AVR |
[Instruction set architecture word size] |
8, 16, 32, 64, 128, 512 |
[STAR lib version] |
The STAR library version (example: sl05a) |
[maxsize] |
The maxsize to which the image will grow (example: 2GB) |
[addition detail] |
Any additional detail we may want to add |
[extension] |
The file extension |
Examples:
/star/data08/OSG/APP/vm/xen/sl5.3_x86_32_sl05c_8GB_ec2.img
/star/data08/OSG/APP/vm/virtualBox/ubuntu9.10_x86_32_sl05c_10GB_ec2.img
In addition there will be a text file with the .checksum extension holding an MD5 checksum hash of the image.
Example of making the hash:
[rcas6016] xen/> ls
sl4_x86_32_sl08e_8GB_ec2.img
sl4_x86_32_sl08e_8GB_ec2.txt[rcas6016] xen/> md5sum sl4_x86_32_sl08e_8GB_ec2.img > sl4_x86_32_sl08e_8GB_ec2.checksum
/star/data08/OSG/APP/vm/virtualBox/ubuntu9.10_x8
In addition there will be a text file with the .txt extension giving more detail about the contents of the image.
Examples:
/star/data08/OSG/APP/vm/xen/sl5.3_x86_32_sl05c_8GB_ec2.txt
/star/data08/OSG/APP/vm/virtualBox/ubuntu9.10_x86_32_sl05c_10GB_ec2.txt
Recommendations for security and standardization (but not yet implemented):
Users will need to be able to login without editing the /etc/shadow file.
1)There will be a account “root” on all images with a password.
Note: In the case of Ubuntu just make the first account root.
2) There should be a hard password that changes regularly. This can be done by scripting the below command to run every time the image is started (by putting in /etc/rc.local for example):
date '+%y%m SEED=someLongString' | md5sum | base64 | sed 's|\(...........\).*|\1|' | passwd --stdin username
Then the command below can be placed in the text description of the image. The user instantiating the image can run the command to get the password. Example:
[rcas6007] ~/> date '+%y%m SEED=someLongString' | md5sum | sed 's|\(...........\).*|\1|' | \
YjNkNTE5YWJ
base64 | sed 's|\(...........\).*|\1|'
If the command is compromised the seed will need to be changed.
Alternatively:
There could also be a repository of ssh public keys available via a network connection which images can pull in.
3) There will be an account “star” on all images. This account will have the STAR environment (startup scripts). This is the account under which the actual jobs are run.