Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | HOWTO Install and Configure BOSCO for Glidein-Based Submission | |||||||
> > | Install and Configure BOSCO for Glidein-Based Submission | |||||||
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 47 to 47 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Troubleshooting |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 56 to 56 | ||||||||
| ||||||||
Added: | ||||||||
> > | TroubleshootingIf glideins and/or direct bosco user jobs fail to be successfully submitted into a local pbs/slurm batch system, it may be useful to modify the ~/bosco/glite/bin/pbs_submit.sh submission script on theBOSCO_HOST to see the qsub/sbatch error messages directly.
Before:
jobID=`${pbs_binpath}/qsub $bls_tmp_file` # actual submission retcode=$? if [ "$retcode" != "0" ] ; then rm -f $bls_tmp_file exit 1 fiAfter: jobID=`${pbs_binpath}/qsub $bls_tmp_file` # actual submission retcode=$? echo “Full qsub output: $jobID” 1>&2 if [ "$retcode" != "0" ] ; then rm -f $bls_tmp_file exit 1 fi | |||||||
Additional Documentation |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 47 to 47 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Additional Documentation | ||||||||
Line: 115 to 64 | ||||||||
Changed: | ||||||||
< < | -- JeffreyDost - 2015/05/12 | |||||||
> > | -- JeffreyDost - 2015/05/12 | |||||||
\ No newline at end of file |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 32 to 32 | ||||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
Installation and Configuration | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 36 to 36 | ||||||||
Installation and Configuration
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 134 to 134 | ||||||||
[FRONTEND_USER@FRONTEND_HOST ~]$
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 38 to 38 | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 10 to 10 | ||||||||
This document follows the general OSG documentation conventions: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Definitions | ||||||||
Line: 35 to 35 | ||||||||
Installation and Configuration | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
************ Starting Bosco: ********* BOSCO Started [FRONTEND_USER@FRONTEND_HOST ~]$ | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
[FRONTEND_USER@FRONTEND_HOST ~]$ ./bosco_keygen.sh | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Enter pass phrase for bosco_key.rsa: | ||||||||
Changed: | ||||||||
< < | writing RSA key and then replace the old private key with the new passphrase-less one. [FRONTEND_USER@FRONTEND_HOST ~/.ssh]$ mv bosco_key.rsa_nopass bosco_key.rsaMake sure the permissions are set correctly. [FRONTEND_USER@FRONTEND_HOST ~/.ssh]$ chmod 600 bosco_key.rsa
| |||||||
> > | writing RSA key
and then replace the old private key with the new passphrase-less one. [FRONTEND_USER@FRONTEND_HOST ~/.ssh]$ mv bosco_key.rsa_nopass bosco_key.rsaMake sure the permissions are set correctly. [FRONTEND_USER@FRONTEND_HOST ~/.ssh]$ chmod 600 bosco_key.rsa
| |||||||
echo "Cluster $remote_host already installed" echo "Reinstalling on $remote_host" reinstall=1 | ||||||||
Line: 125 to 70 | ||||||||
reinstall=0 fi | ||||||||
Changed: | ||||||||
< < | # If the key doesn't exist, create it <<<-------------------- line #811 | |||||||
> > | # If the key doesn't exist, create it <<<-------------------- line #811 | |||||||
#if [ ! -e $bosco_key ]; then # # Generate a md5sum password # PASSPHRASE=`echo $RANDOM$RANDOM$RANDOM$RANDOM | $MD5SUM | awk '{print $1}'` | ||||||||
Line: 151 to 96 | ||||||||
#if [ $? -ne 0 ]; then # echo "Error copying BOSCO key. Please make sure you password is correct." # exit 1 | ||||||||
Changed: | ||||||||
< < | #fi <<<-------------------- line #837 | |||||||
> > | #fi <<<-------------------- line #837 | |||||||
start_ssh # Quickly test the ssh | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Additional Documentation | ||||||||
Added: | ||||||||
> > |
| |||||||
Changed: | ||||||||
< < | 15. recognize frontend keys on factory The BOSCO submission from the Factory uses SSH. Before being able to do ssh in batch mode for the glidein submission you must trust the keys of the BOSCO resource, the one added with "bosco_cluster --add" on the Frontend, in our example carvergrid.nersc.gov. You have a couple of options depending on how you want to configure ssh:
16. -- JeffreyDost - 2015/05/12 | |||||||
> > | -- JeffreyDost - 2015/05/12 |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 165 to 165 | ||||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
Additional Documentation | ||||||||
Deleted: | ||||||||
< < | 14. Add entry to factory config ... <entry name="T2_US_UCSD_BOSCO" auth_method="key_pair" enabled="True" gatekeeper="bosco@osg-gw-7.t2.ucsd.edu" gridtype="batch condor" rsl="" schedd_name="schedd_glideins3@cabinet-10-10-4.t2.ucsd.edu" trust_domain="bosco" verbosity="std" work_dir="~/"> <config> <max_jobs> <default_per_frontend glideins="256" held="5" idle="10"/> <per_entry glideins="256" held="5" idle="10"/> <per_frontends> </per_frontends> </max_jobs> <release max_per_cycle="20" sleep="0.2"/> <remove max_per_cycle="5" sleep="0.2"/> <restrictions require_glidein_glexec_use="False" require_voms_proxy="False"/> <submit cluster_size="10" max_per_cycle="100" sleep="0.2" slots_layout="fixed"> <submit_attrs> </submit_attrs> </submit> </config> <allow_frontends> </allow_frontends> <attrs> <attr name="CONDOR_OS" const="False" glidein_publish="False" job_publish="False" parameter="True" publish="True" type="string" value="default"/> <attr name="CONDOR_VERSION" const="False" glidein_publish="False" job_publish="False" parameter="True" publish="True" type="string" value="default"/> <attr name="GLEXEC_JOB" const="True" glidein_publish="False" job_publish="False" parameter="True" publish="False" type="string" value="False"/> <attr name="GLIDEIN_CMSSite" const="True" glidein_publish="True" job_publish="True" parameter="True" publish="True" type="string" value="T2_US_UCSD"/> <attr name="GLIDEIN_CPUS" const="True" glidein_publish="False" job_publish="True" parameter="True" publish="True" type="string" value="1"/> <attr name="GLIDEIN_Country" const="True" glidein_publish="True" job_publish="True" parameter="True" publish="True" type="string" value="US"/> <attr name="GLIDEIN_Glexec_Use" comment="This has been REQUIRED for historical reasons, OPTIONAL/NONE alt values" const="False" glidein_publish="True" job_publish="False" parameter="True" publish="True" type="string" value="NONE"/> <attr name="GLIDEIN_MaxMemMBs" const="True" glidein_publish="True" job_publish="False" parameter="True" publish="True" type="int" value="49152"/> <attr name="GLIDEIN_Max_Walltime" const="True" glidein_publish="False" job_publish="False" parameter="True" publish="True" type="int" value="172000"/> <attr name="GLIDEIN_REQUIRED_OS" const="True" glidein_publish="True" job_publish="False" parameter="True" publish="True" type="string" value="default"/> <attr name="GLIDEIN_ResourceName" const="True" glidein_publish="True" job_publish="True" parameter="True" publish="True" type="string" value="T2_US_UCSD"/> <attr name="GLIDEIN_Site" const="True" glidein_publish="True" job_publish="True" parameter="True" publish="True" type="string" value="T2_US_UCSD"/> <attr name="GLIDEIN_Supported_VOs" const="True" glidein_publish="False" job_publish="False" parameter="True" publish="True" type="string" value="CMS,MIS"/> <attr name="USE_CCB" const="True" glidein_publish="True" job_publish="False" parameter="True" publish="True" type="string" value="True"/> <attr name="X509_CERT_DIR" const="True" glidein_publish="False" job_publish="True" parameter="True" publish="True" type="string" value="/cvmfs/oasis.opensciencegrid.org/mis/certificates"/> </attrs> </attrs> <files> </files> <infosys_refs> </infosys_refs> <monitorgroups> </monitorgroups> </entry> | |||||||
15. recognize frontend keys on factory |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
HOWTO Install and Configure BOSCO for Glidein-Based Submission | ||||||||
Line: 109 to 109 | ||||||||
fi fi | ||||||||
Changed: | ||||||||
< < |
Additional Documentation8. Generate the FRONTEND_USER's bosco ssh key pair and passphrase by running the bash script created in Step 7. [1507] frontend@test-frontend-1 ~$ chmod +x bosco_generate_keys.sh [1508] frontend@test-frontend-1 ~$ ./bosco_generate_keys.sh [1508] frontend@test-frontend-1 ~$ cd .ssh [1509] frontend@test-frontend-1 ~/.ssh$ ls authorized_keys bosco_key.rsa bosco_key.rsa.pub known_hosts marco says use no passphrase [1522] frontend@test-frontend-1 ~$ ./bosco_generate_keys.sh [1522] frontend@test-frontend-1 ~$ cd .ssh [1523] frontend@test-frontend-1 ~/.ssh$ ls authorized_keys bosco_key.rsa bosco_key.rsa.pub known_hosts [1523] frontend@test-frontend-1 ~/.ssh$ openssl rsa -in bosco_key.rsa -out bosco_key.rsa_nopass | |||||||
> > |
| |||||||
Enter pass phrase for bosco_key.rsa: | ||||||||
Added: | ||||||||
> > | writing RSA key and then replace the old private key with the new passphrase-less one. [FRONTEND_USER@FRONTEND_HOST ~/.ssh]$ mv bosco_key.rsa_nopass bosco_key.rsaMake sure the permissions are set correctly. [FRONTEND_USER@FRONTEND_HOST ~/.ssh]$ chmod 600 bosco_key.rsa
| |||||||
Changed: | ||||||||
< < | writing RSA key
[1524] frontend@test-frontend-1 ~/.ssh$ ls
authorized_keys bosco_key.rsa bosco_key.rsa_nopass bosco_key.rsa.pub known_hosts
[1524] frontend@test-frontend-1 ~/.ssh$ mv bosco_key.rsa_nopass bosco_key.rsa
[1524] frontend@test-frontend-1 ~/.ssh$ ls
authorized_keys bosco_key.rsa bosco_key.rsa.pub known_hosts
[1524] frontend@test-frontend-1 ~/.ssh$
chmod 600 bosco_key.rsa 9. Copy the FRONTEND_USER's public bosco key on the FRONTEND_HOST, bosco_key.rsa.pub, and append it to the authorized_keys file in the .ssh directory of the BOSCO_USER on the BOSCO_LOGIN_HOST. ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlLh6nD? +5uYmXxG4UFdHWYcokIDT7Tm+/pRnxyGseZMzG61gJU26HwCy1wvilaj3PZ+yws2896BTi4mx4IPQ+1iev2GXjWnyTTz1T3SldS4pgwYqM9tVjkkz/BI5ddVXAlurkH3YAHYrdkPamVNJg7lUcqFnFZZEN8y0gE6l2kf5PdFMkQBVo6OzFLbLp3bTAaAeTfnEcT/VEs3xqgY4SlMtHcejbnP+GKio1mwEamz2EVoCyyVFNIHnFmY1U+ze8FMPfmkB3Yzrz1B669LlP/1t2iG1weir7Z75bP3d8/nEN2T9b15bq73QfhzybWjzfdQLT8pS3Su8LZ+7z5RyabQ== frontend@test-frontend-1.t2.ucsd.edu 10. Next, comment out all lines between #811 to #837 in the ~/bosco/bin/bosco_cluster bash script. 11. Add the BOSCO_LOGIN_HOST by running the bosco_cluster bash script with the following parameters: ./bosco_cluster --add $BOSCO_USER@$BOSCO_LOGIN_HOST $BATCH_TYPE where $BATCH_TYPE = pbs, condor, ... [1529] frontend@test-frontend-1 ~$ bosco_cluster --add bosco@osg-gw-7.t2.ucsd.edu condor Downloading for bosco@osg-gw-7.t2.ucsd.edu...... Unpacking.. Sending libraries to bosco@osg-gw-7.t2.ucsd.edu. Creating BOSCO for the WN's................................................ Installing on cluster bosco@osg-gw-7.t2.ucsd.edu. Installation complete The cluster bosco@osg-gw-7.t2.ucsd.edu has been added to BOSCO It is available to run jobs submitted with the following values: > universe = grid > grid_resource = batch condor bosco@osg-gw-7.t2.ucsd.edu OR to run load balanced job on all available clusters with: > universe = vanilla [1530] frontend@test-frontend-1 ~$ 12. Run a bosco test job to check the connection between the FRONTEND_HOST and the BOSCO_RESOURCE and it's worker nodes ... [1534] frontend@test-frontend-1 ~$ ./bosco_cluster --test bosco@osg-gw-7.t2.ucsd.edu -bash: ./bosco_cluster: No such file or directory [1534] frontend@test-frontend-1 ~$ bosco_cluster --test bosco@osg-gw-7.t2.ucsd.edu Testing ssh to bosco@osg-gw-7.t2.ucsd.edu...Passed! Testing bosco submission...Passed! Submission and log files for this job are in /home/frontend/bosco/local.bosco/bosco-test/boscotest.13683 Waiting for jobmanager to accept job...Passed Checking for submission to remote condor cluster (could take ~30 seconds)...Passed! Waiting for job to exit... this could take a while (waiting 60 seconds)...Failed The job did not end in 60 seconds. This is not always a bad thing... Maybe condor is waiting longer to poll for job completion? Here is the current status of the job:" -- Submitter: test-frontend-1.t2.ucsd.edu : <127.0.0.1:11000?sock=6597_e220_3> : test-frontend-1.t2.ucsd.edu ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD 1.0 frontend 5/14 15:34 0+00:00:00 I 0 0.0 echo Hello [1535] frontend@test-frontend-1 ~$ 12.5 Run bosco_stop on FRONTEND_HOST. 12.75. Remove source ~/bosco/bosco_setenv from .bash_profile. | |||||||
> > | # If the key doesn't exist, create it <<<-------------------- line #811 #if [ ! -e $bosco_key ]; then # # Generate a md5sum password # PASSPHRASE=`echo $RANDOM$RANDOM$RANDOM$RANDOM | $MD5SUM | awk '{print $1}'` # # # Output the password to a specially crafted file # mkdir -p `dirname $PASSPHRASE_LOCATION` # echo $PASSPHRASE > $PASSPHRASE_LOCATION # chmod go-rwx $PASSPHRASE_LOCATION # # # Check if the passphrase is empty # ssh-keygen -q -t rsa -f $bosco_key -P $PASSPHRASE > /dev/null # # if [ $? -ne 0 ]; then # echo "Error running keygen" >&2 # exit 1 # fi #fi # # # Transfer the public key to the remote host #echo "Enter the password to copy the ssh keys to $remote_host:" #cat ${bosco_key}.pub | ssh $remote_host "umask 077; test -d ~/.ssh || mkdir ~/.ssh ; cat >> ~/.ssh/authorized_keys" #if [ $? -ne 0 ]; then # echo "Error copying BOSCO key. Please make sure you password is correct." # exit 1 #fi <<<-------------------- line #837 | |||||||
Changed: | ||||||||
< < | 13. Install condor-bosco on the FACTORY_HOST from ROOT. | |||||||
> > | start_ssh | |||||||
Changed: | ||||||||
< < | Install HTCondor-BOSCOIf you plan to send jobs using direct batch submission (aka BOSCO), then you need also the condor-bosco package. You'll have to install the package and remove one of its file (/etc/condor/config.d/60-campus_factory.config) because it interferes with the factory configuration.[root@client ~]$ yum install condor-bosco [root@client ~]$ rm /etc/condor/config.d/60-campus_factory.config [root@client ~]$ touch /etc/condor/config.d/60-campus_factory.config | |||||||
> > | # Quickly test the ssh
| |||||||
Changed: | ||||||||
< < | There is an Advanced configuration section in the BOSCO documentation that can be useful to know, specially how to deal with multi homed BOSCO resources and the specification of custom submit properties. | |||||||
> > | Additional Documentation | |||||||
Deleted: | ||||||||
< < | ||||||||
14. Add entry to factory config ... |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | HOWTO Install and Configure Bosco for Glidein-Based Submission | |||||||
> > | HOWTO Install and Configure BOSCO for Glidein-Based Submission | |||||||
About this Document | ||||||||
Added: | ||||||||
> > | This document describes HOWTO install and configure BOSCO to allow a glideinWMS factory to submit glideins to the BOSCO resource's local batch queue on behalf of a VO frontend. Note, however, the installation and configuration process outlined below is highly specific to the case when you ONLY have ssh-key login access to the user account on the BOSCO resource, i.e., you do not have the ssh password. In addition, it is also important to note that this document is preliminary. As such, it may not represent the best way or the easiest way to install and configure BOSCO. The process below simply attempts to minimize its modification of the standard BOSCO installation and configuration process.
This document follows the general OSG documentation conventions:
| |||||||
DefinitionsHostnames: | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Requirements | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Installation and Configuration | ||||||||
Changed: | ||||||||
< < | Additional Documentation1. Login as the FRONTEND_USER on the FRONTEND_HOST. ssh FRONTEND_USER@FRONTEND_HOST2. Download the bosco quickstart installer in the FRONTEND_USER's home directory. wget ftp://ftp.cs.wisc.edu/condor/bosco/1.2/bosco_quickstart.tar.gz 3. Untar the bosco quickstart installer in the FRONTEND_USER's home directory. tar -xzf bosco_quickstart.tar.gz 4. Comment out all lines starting from line #164 to the end of the file (line #242) in the the bosco_quickstart bash script. 5. Run the bosco_quickstart installer. ./bosco_quickstart 5.5. Add to .bash_profile. source ~/bosco/bosco_setenv 6. Select 'y' to download and install bosco in the FRONTEND_USER's home directory. [1441] frontend@test-frontend-1 ~$ ./bosco_quickstart | |||||||
> > |
| |||||||
Bosco Quickstart | ||||||||
Deleted: | ||||||||
< < | ||||||||
Detailed logging of this run is in ./bosco_quickstart.log Bosco is not installed. You need Bosco to run this quickstart. | ||||||||
Line: 68 to 67 | ||||||||
Detailed logging of this run is in ./bosco_quickstart.log Bosco is not installed. You need Bosco to run this quickstart. | ||||||||
Deleted: | ||||||||
< < | ||||||||
Do you want to install Bosco? Select y/n and press [ENTER]): y | ||||||||
Changed: | ||||||||
< < | ************ Downloading and Installing Bosco ********* Installing BOSCO................. | |||||||
> > | ************ Downloading and Installing Bosco ********* Installing BOSCO................ | |||||||
BOSCO Installed | ||||||||
Changed: | ||||||||
< < | ************ Starting Bosco: ********* | |||||||
> > | ************ Starting Bosco: ********* | |||||||
BOSCO Started | ||||||||
Changed: | ||||||||
< < |
7. Copy all lines from line #9 to line #13, line #36 to line #40, and line #811 to line #828 in the ~/bosco/bin/bosco_cluster bash script and paste them (in numberical order) in a separate, temporary bash script. This script will be used to generate the FRONTEND_USER's bosco ssh key pair and passphrase. The result should look like the following: #!/bin/bash | |||||||
> > | [FRONTEND_USER@FRONTEND_HOST ~]$
| |||||||
# Bosco key location | ||||||||
Deleted: | ||||||||
< < | ||||||||
bosco_key=$HOME/.ssh/bosco_key.rsa # Bosco password location | ||||||||
Line: 92 to 82 | ||||||||
bosco_key=$HOME/.ssh/bosco_key.rsa # Bosco password location | ||||||||
Deleted: | ||||||||
< < | ||||||||
PASSPHRASE_LOCATION=$HOME/.bosco/.pass | ||||||||
Deleted: | ||||||||
< < | # Compute md5 hash | |||||||
if [ `uname` = Darwin ] ; then | ||||||||
Deleted: | ||||||||
< < | ||||||||
MD5SUM? =md5 | ||||||||
Deleted: | ||||||||
< < | ||||||||
else | ||||||||
Deleted: | ||||||||
< < | ||||||||
MD5SUM? =md5sum | ||||||||
Deleted: | ||||||||
< < | ||||||||
fi # If the key doesn't exist, create it | ||||||||
Line: 116 to 96 | ||||||||
PASSPHRASE=`echo $RANDOM$RANDOM$RANDOM$RANDOM | $MD5SUM | awk '{print $1}'` # Output the password to a specially crafted file | ||||||||
Deleted: | ||||||||
< < | ||||||||
mkdir -p `dirname $PASSPHRASE_LOCATION` | ||||||||
Changed: | ||||||||
< < | echo $PASSPHRASE > $PASSPHRASE_LOCATION | |||||||
> > | echo $PASSPHRASE > $PASSPHRASE_LOCATION | |||||||
chmod go-rwx $PASSPHRASE_LOCATION # Check if the passphrase is empty | ||||||||
Changed: | ||||||||
< < | ssh-keygen -q -t rsa -f $bosco_key -P $PASSPHRASE > /dev/null | |||||||
> > | ssh-keygen -q -t rsa -f $bosco_key -P $PASSPHRASE > /dev/null | |||||||
if [ $? -ne 0 ]; then | ||||||||
Changed: | ||||||||
< < | echo "Error running keygen" >&2 | |||||||
> > | echo "Error running keygen" >&2 | |||||||
exit 1 | ||||||||
Deleted: | ||||||||
< < | ||||||||
fi | ||||||||
Deleted: | ||||||||
< < | ||||||||
fi | ||||||||
Added: | ||||||||
> > |
Additional Documentation | |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | How to install bosco from gildein-based submission through a glideinWMS factory ... | |||||||
> > | HOWTO Install and Configure Bosco for Glidein-Based Submission | |||||||
Changed: | ||||||||
< < | ||||||||
> > | About this DocumentDefinitionsHostnames:
Requirements
Installation and ConfigurationAdditional Documentation | |||||||
1. Login as the FRONTEND_USER on the FRONTEND_HOST. |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Line: 132 to 132 | ||||||||
| ||||||||
Added: | ||||||||
> > | marco says use no passphrase
[1522] frontend@test-frontend-1 ~$ ./bosco_generate_keys.sh
[1522] frontend@test-frontend-1 ~$ cd .ssh
[1523] frontend@test-frontend-1 ~/.ssh$ ls
authorized_keys bosco_key.rsa bosco_key.rsa.pub known_hosts
[1523] frontend@test-frontend-1 ~/.ssh$ openssl rsa -in bosco_key.rsa -out bosco_key.rsa_nopass
Enter pass phrase for bosco_key.rsa:
writing RSA key
[1524] frontend@test-frontend-1 ~/.ssh$ ls
authorized_keys bosco_key.rsa bosco_key.rsa_nopass bosco_key.rsa.pub known_hosts
[1524] frontend@test-frontend-1 ~/.ssh$ mv bosco_key.rsa_nopass bosco_key.rsa
[1524] frontend@test-frontend-1 ~/.ssh$ ls
authorized_keys bosco_key.rsa bosco_key.rsa.pub known_hosts
[1524] frontend@test-frontend-1 ~/.ssh$
chmod 600 bosco_key.rsa | |||||||
9. Copy the FRONTEND_USER's public bosco key on the FRONTEND_HOST, bosco_key.rsa.pub, and append it to the authorized_keys file in the .ssh directory of the BOSCO_USER on the BOSCO_LOGIN_HOST. ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlLh6nD? +5uYmXxG4UFdHWYcokIDT7Tm+/pRnxyGseZMzG61gJU26HwCy1wvilaj3PZ+yws2896BTi4mx4IPQ+1iev2GXjWnyTTz1T3SldS4pgwYqM9tVjkkz/BI5ddVXAlurkH3YAHYrdkPamVNJg7lUcqFnFZZEN8y0gE6l2kf5PdFMkQBVo6OzFLbLp3bTAaAeTfnEcT/VEs3xqgY4SlMtHcejbnP+GKio1mwEamz2EVoCyyVFNIHnFmY1U+ze8FMPfmkB3Yzrz1B669LlP/1t2iG1weir7Z75bP3d8/nEN2T9b15bq73QfhzybWjzfdQLT8pS3Su8LZ+7z5RyabQ== frontend@test-frontend-1.t2.ucsd.edu | ||||||||
Line: 333 to 367 | ||||||||
16. | ||||||||
Deleted: | ||||||||
< < | How to remove bosco ... - from bosco resource login node: (1) rm ~/bosco from BOSCO_USER's home directory. (2) rm FRONTEND_USER's public key from authorized_keys file on BOSCO_LOGIN_HOST - from frontend: (1) | |||||||
-- JeffreyDost - 2015/05/12 \ No newline at end of file |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Line: 216 to 216 | ||||||||
12.5 Run bosco_stop on FRONTEND_HOST. | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
12.75. Remove source ~/bosco/bosco_setenv from .bash_profile. | ||||||||
Line: 319 to 319 | ||||||||
</entry> | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
15. recognize frontend keys on factory | ||||||||
Line: 329 to 329 | ||||||||
If you have access to the ssh key on the factory, it is recommended also to manually ssh to the host to see if the ssh connection works correctly. | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
16. | ||||||||
Added: | ||||||||
> > | How to remove bosco ... - from bosco resource login node: (1) rm ~/bosco from BOSCO_USER's home directory. (2) rm FRONTEND_USER's public key from authorized_keys file on BOSCO_LOGIN_HOST - from frontend: (1) | |||||||
-- JeffreyDost - 2015/05/12 \ No newline at end of file |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Line: 212 to 212 | ||||||||
[1535] frontend@test-frontend-1 ~$ | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
12.5 Run bosco_stop on FRONTEND_HOST. | ||||||||
Line: 319 to 319 | ||||||||
</entry> | ||||||||
Added: | ||||||||
> > | 15. recognize frontend keys on factory The BOSCO submission from the Factory uses SSH. Before being able to do ssh in batch mode for the glidein submission you must trust the keys of the BOSCO resource, the one added with "bosco_cluster --add" on the Frontend, in our example carvergrid.nersc.gov. You have a couple of options depending on how you want to configure ssh:
16. | |||||||
-- JeffreyDost - 2015/05/12 |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | 1. wget | |||||||
> > | How to install bosco from gildein-based submission through a glideinWMS factory ... | |||||||
Changed: | ||||||||
< < | 2. | |||||||
> > | 1. Login as the FRONTEND_USER on the FRONTEND_HOST. ssh FRONTEND_USER@FRONTEND_HOST 2. Download the bosco quickstart installer in the FRONTEND_USER's home directory. wget ftp://ftp.cs.wisc.edu/condor/bosco/1.2/bosco_quickstart.tar.gz 3. Untar the bosco quickstart installer in the FRONTEND_USER's home directory. tar -xzf bosco_quickstart.tar.gz 4. Comment out all lines starting from line #164 to the end of the file (line #242) in the the bosco_quickstart bash script. 5. Run the bosco_quickstart installer. ./bosco_quickstart 5.5. Add to .bash_profile. source ~/bosco/bosco_setenv 6. Select 'y' to download and install bosco in the FRONTEND_USER's home directory. [1441] frontend@test-frontend-1 ~$ ./bosco_quickstart Bosco Quickstart Detailed logging of this run is in ./bosco_quickstart.log Bosco is not installed. You need Bosco to run this quickstart. Do you want to install Bosco? Select y/n and press [ENTER]): y ************ Downloading and Installing Bosco ********* Installing BOSCO................. BOSCO Installed ************ Starting Bosco: ********* BOSCO Started 7. Copy all lines from line #9 to line #13, line #36 to line #40, and line #811 to line #828 in the ~/bosco/bin/bosco_cluster bash script and paste them (in numberical order) in a separate, temporary bash script. This script will be used to generate the FRONTEND_USER's bosco ssh key pair and passphrase. The result should look like the following: #!/bin/bash # Bosco key location bosco_key=$HOME/.ssh/bosco_key.rsa # Bosco password location PASSPHRASE_LOCATION=$HOME/.bosco/.pass # Compute md5 hash if [ `uname` = Darwin ] ; then MD5SUM? =md5 else MD5SUM? =md5sum fi # If the key doesn't exist, create it if [ ! -e $bosco_key ]; then # Generate a md5sum password PASSPHRASE=`echo $RANDOM$RANDOM$RANDOM$RANDOM | $MD5SUM | awk '{print $1}'` # Output the password to a specially crafted file mkdir -p `dirname $PASSPHRASE_LOCATION` echo $PASSPHRASE > $PASSPHRASE_LOCATION chmod go-rwx $PASSPHRASE_LOCATION # Check if the passphrase is empty ssh-keygen -q -t rsa -f $bosco_key -P $PASSPHRASE > /dev/null if [ $? -ne 0 ]; then echo "Error running keygen" >&2 exit 1 fi fi 8. Generate the FRONTEND_USER's bosco ssh key pair and passphrase by running the bash script created in Step 7. [1507] frontend@test-frontend-1 ~$ chmod +x bosco_generate_keys.sh [1508] frontend@test-frontend-1 ~$ ./bosco_generate_keys.sh [1508] frontend@test-frontend-1 ~$ cd .ssh [1509] frontend@test-frontend-1 ~/.ssh$ ls authorized_keys bosco_key.rsa bosco_key.rsa.pub known_hosts 9. Copy the FRONTEND_USER's public bosco key on the FRONTEND_HOST, bosco_key.rsa.pub, and append it to the authorized_keys file in the .ssh directory of the BOSCO_USER on the BOSCO_LOGIN_HOST. ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlLh6nD? +5uYmXxG4UFdHWYcokIDT7Tm+/pRnxyGseZMzG61gJU26HwCy1wvilaj3PZ+yws2896BTi4mx4IPQ+1iev2GXjWnyTTz1T3SldS4pgwYqM9tVjkkz/BI5ddVXAlurkH3YAHYrdkPamVNJg7lUcqFnFZZEN8y0gE6l2kf5PdFMkQBVo6OzFLbLp3bTAaAeTfnEcT/VEs3xqgY4SlMtHcejbnP+GKio1mwEamz2EVoCyyVFNIHnFmY1U+ze8FMPfmkB3Yzrz1B669LlP/1t2iG1weir7Z75bP3d8/nEN2T9b15bq73QfhzybWjzfdQLT8pS3Su8LZ+7z5RyabQ== frontend@test-frontend-1.t2.ucsd.edu 10. Next, comment out all lines between #811 to #837 in the ~/bosco/bin/bosco_cluster bash script. 11. Add the BOSCO_LOGIN_HOST by running the bosco_cluster bash script with the following parameters: ./bosco_cluster --add $BOSCO_USER@$BOSCO_LOGIN_HOST $BATCH_TYPE where $BATCH_TYPE = pbs, condor, ... [1529] frontend@test-frontend-1 ~$ bosco_cluster --add bosco@osg-gw-7.t2.ucsd.edu condor Downloading for bosco@osg-gw-7.t2.ucsd.edu...... Unpacking.. Sending libraries to bosco@osg-gw-7.t2.ucsd.edu. Creating BOSCO for the WN's................................................ Installing on cluster bosco@osg-gw-7.t2.ucsd.edu. Installation complete The cluster bosco@osg-gw-7.t2.ucsd.edu has been added to BOSCO It is available to run jobs submitted with the following values: > universe = grid > grid_resource = batch condor bosco@osg-gw-7.t2.ucsd.edu OR to run load balanced job on all available clusters with: > universe = vanilla [1530] frontend@test-frontend-1 ~$ 12. Run a bosco test job to check the connection between the FRONTEND_HOST and the BOSCO_RESOURCE and it's worker nodes ... [1534] frontend@test-frontend-1 ~$ ./bosco_cluster --test bosco@osg-gw-7.t2.ucsd.edu -bash: ./bosco_cluster: No such file or directory [1534] frontend@test-frontend-1 ~$ bosco_cluster --test bosco@osg-gw-7.t2.ucsd.edu Testing ssh to bosco@osg-gw-7.t2.ucsd.edu...Passed! Testing bosco submission...Passed! Submission and log files for this job are in /home/frontend/bosco/local.bosco/bosco-test/boscotest.13683 Waiting for jobmanager to accept job...Passed Checking for submission to remote condor cluster (could take ~30 seconds)...Passed! Waiting for job to exit... this could take a while (waiting 60 seconds)...Failed The job did not end in 60 seconds. This is not always a bad thing... Maybe condor is waiting longer to poll for job completion? Here is the current status of the job:" -- Submitter: test-frontend-1.t2.ucsd.edu : <127.0.0.1:11000?sock=6597_e220_3> : test-frontend-1.t2.ucsd.edu ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD 1.0 frontend 5/14 15:34 0+00:00:00 I 0 0.0 echo Hello [1535] frontend@test-frontend-1 ~$ 12.5 Run bosco_stop on FRONTEND_HOST. 12.75. Remove source ~/bosco/bosco_setenv from .bash_profile. 13. Install condor-bosco on the FACTORY_HOST from ROOT. Install HTCondor-BOSCOIf you plan to send jobs using direct batch submission (aka BOSCO), then you need also the condor-bosco package. You'll have to install the package and remove one of its file (/etc/condor/config.d/60-campus_factory.config) because it interferes with the factory configuration.[root@client ~]$ yum install condor-bosco [root@client ~]$ rm /etc/condor/config.d/60-campus_factory.config [root@client ~]$ touch /etc/condor/config.d/60-campus_factory.configThere is an Advanced configuration section in the BOSCO documentation that can be useful to know, specially how to deal with multi homed BOSCO resources and the specification of custom submit properties. 14. Add entry to factory config ... <entry name="T2_US_UCSD_BOSCO" auth_method="key_pair" enabled="True" gatekeeper="bosco@osg-gw-7.t2.ucsd.edu" gridtype="batch condor" rsl="" schedd_name="schedd_glideins3@cabinet-10-10-4.t2.ucsd.edu" trust_domain="bosco" verbosity="std" work_dir="~/"> <config> <max_jobs> <default_per_frontend glideins="256" held="5" idle="10"/> <per_entry glideins="256" held="5" idle="10"/> <per_frontends> </per_frontends> </max_jobs> <release max_per_cycle="20" sleep="0.2"/> <remove max_per_cycle="5" sleep="0.2"/> <restrictions require_glidein_glexec_use="False" require_voms_proxy="False"/> <submit cluster_size="10" max_per_cycle="100" sleep="0.2" slots_layout="fixed"> <submit_attrs> </submit_attrs> </submit> </config> <allow_frontends> </allow_frontends> <attrs> <attr name="CONDOR_OS" const="False" glidein_publish="False" job_publish="False" parameter="True" publish="True" type="string" value="default"/> <attr name="CONDOR_VERSION" const="False" glidein_publish="False" job_publish="False" parameter="True" publish="True" type="string" value="default"/> <attr name="GLEXEC_JOB" const="True" glidein_publish="False" job_publish="False" parameter="True" publish="False" type="string" value="False"/> <attr name="GLIDEIN_CMSSite" const="True" glidein_publish="True" job_publish="True" parameter="True" publish="True" type="string" value="T2_US_UCSD"/> <attr name="GLIDEIN_CPUS" const="True" glidein_publish="False" job_publish="True" parameter="True" publish="True" type="string" value="1"/> <attr name="GLIDEIN_Country" const="True" glidein_publish="True" job_publish="True" parameter="True" publish="True" type="string" value="US"/> <attr name="GLIDEIN_Glexec_Use" comment="This has been REQUIRED for historical reasons, OPTIONAL/NONE alt values" const="False" glidein_publish="True" job_publish="False" parameter="True" publish="True" type="string" value="NONE"/> <attr name="GLIDEIN_MaxMemMBs" const="True" glidein_publish="True" job_publish="False" parameter="True" publish="True" type="int" value="49152"/> <attr name="GLIDEIN_Max_Walltime" const="True" glidein_publish="False" job_publish="False" parameter="True" publish="True" type="int" value="172000"/> <attr name="GLIDEIN_REQUIRED_OS" const="True" glidein_publish="True" job_publish="False" parameter="True" publish="True" type="string" value="default"/> <attr name="GLIDEIN_ResourceName" const="True" glidein_publish="True" job_publish="True" parameter="True" publish="True" type="string" value="T2_US_UCSD"/> <attr name="GLIDEIN_Site" const="True" glidein_publish="True" job_publish="True" parameter="True" publish="True" type="string" value="T2_US_UCSD"/> <attr name="GLIDEIN_Supported_VOs" const="True" glidein_publish="False" job_publish="False" parameter="True" publish="True" type="string" value="CMS,MIS"/> <attr name="USE_CCB" const="True" glidein_publish="True" job_publish="False" parameter="True" publish="True" type="string" value="True"/> <attr name="X509_CERT_DIR" const="True" glidein_publish="False" job_publish="True" parameter="True" publish="True" type="string" value="/cvmfs/oasis.opensciencegrid.org/mis/certificates"/> </attrs> </attrs> <files> </files> <infosys_refs> </infosys_refs> <monitorgroups> </monitorgroups> </entry> | |||||||
-- JeffreyDost - 2015/05/12 \ No newline at end of file |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | This is a test. | |||||||
> > | 1. wget 2. | |||||||
-- JeffreyDost - 2015/05/12 \ No newline at end of file |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Added: | ||||||||
> > | This is a test. | |||||||
-- JeffreyDost - 2015/05/12 \ No newline at end of file |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
|