User Tools

Site Tools


hpc:argobalsam

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
hpc:argobalsam [2015/01/21 16:13]
jchilders [Git Tag Notes]
hpc:argobalsam [2016/01/26 18:58]
jchilders [Installation]
Line 77: Line 77:
  
 ===== Installation ===== ===== Installation =====
 +  - On Mira: ''soft add +python'' (to get python 2.7)
   - Install <html><a href="http://pypi.python.org/pypi/virtualenv" target="_blank">virtualenv</a></html>   - Install <html><a href="http://pypi.python.org/pypi/virtualenv" target="_blank">virtualenv</a></html>
 +    - ''wget --no-check-certificate http://pypi.python.org/packages/source/v/virtualenv/virtualenv-13.1.0.tar.gz''
   - Create install directory: ''mkdir /path/to/installation/argobalsam''   - Create install directory: ''mkdir /path/to/installation/argobalsam''
   - ''export INST_PATH=/path/to/installation/argobalsam''   - ''export INST_PATH=/path/to/installation/argobalsam''
   - ''cd $INST_PATH''   - ''cd $INST_PATH''
   - Create virtual environment: ''virtualenv argobalsam_env''   - Create virtual environment: ''virtualenv argobalsam_env''
 +    - On Edison:
 +      - ''module load virtualenv''
 +      - ''module load python/2.7''
   - Activate virtual environment: ''. argobalsam_env/bin/activate''   - Activate virtual environment: ''. argobalsam_env/bin/activate''
 +    - On Edison:
 +      - To use ''pip'' you need a certificate so run ''mk_pip_cabundle.sh'', then include ''%%--%%cert ~/.pip/cabundle'' in all your pip commands.
   - Install needed software:   - Install needed software:
-    - ''pip install django==1.6.2''  (necessary for python 2.6, if you have 2.7 you can go to higher django version)+    - ''pip install django'' 
 +      - if you have less than python-2.7 you need ''pip install django==1.6.2''
     - ''pip install south''     - ''pip install south''
     - ''pip install pika''     - ''pip install pika''
-  - Create django project: ''django-admin.py startproject argobalsam_deploy'' +    - ''pip install MySql'' (only if needed) 
-  - Grab software from git repo: ''git clone [email protected]:balsam.git argobalsam_deploy''  You may have to force git to write to an already existing folder, or checkout into one directory and move the files into the ''argobalsam_deploy'' directory. +      - For this I had to install on SLC6 ''yum install mysql mysql-devel mysql-server'' 
-  - Update the following line of the ''argobalsam_deploy/argobalsam_deploy/settings.py'' file to import the site-specific settings that are needed (may need a new one):<code python> +  - Create django project: ''django-admin.py startproject argobalsam'' 
-from mira_settings import *+  - ''cd argobalsam'' 
 +  - ''git clone [email protected]:balsam.git argobalsam_git'' 
 +  ''mv argobalsam_git/* ./'' 
 +  - ''rm -rf argobalsam_git/'' 
 +  - Update the following lines of ''argobalsam/settings.py'':  
 +    At the Top:<code python> 
 +from site_settings.mira_settings import *
 </code> </code>
 +    - <code python>  
 +INSTALLED_APPS = ( 
 +    'django.contrib.admin', 
 +    'django.contrib.auth', 
 +    'django.contrib.contenttypes', 
 +    'django.contrib.sessions', 
 +    'django.contrib.messages', 
 +    'django.contrib.staticfiles', 
 +    'south', 
 +    'balsam_core', 
 +    'argo_core', 
 +
 +</code> 
 +    - If you are using MySQL: <code python> 
 +DATABASES = { 
 +    'default':
 +        'ENGINE': 'django.db.backends.mysql', 
 +        'NAME': 'your_table_name_goes_here', 
 +        'USER': 'your_login', 
 +        'PASSWORD': 'your_password', 
 +        'HOST': '127.0.0.1', 
 +        'PORT': '', 
 +        'CONN_MAX_AGE': 2000000, 
 +    } 
 +
 +</code> 
 +  - Setup your database:  
 +    - For Older Django using South (pre-1.7):  
 +      - <code bash> python manage.py syncdb </code> 
 +      - Create the first migration <code bash> python manage.py schemamigration balsam_core --initial </code> 
 +      - Apply the first migration <code bash> python manage.py migrate balsam_core --fake </code> 
 +      - Create the first migration <code bash> python manage.py schemamigration argo_core --initial </code> 
 +      - Apply the first migration <code bash> python manage.py migrate argo_core --fake </code> 
 +    - For newer Django (1.7,1.8): 
 +      - <code bash> python manage.py syncdb </code> 
 +    - For Django (1.9+): 
 +      - <code bash> python manage.py migration --fake-initial </code>
  
 ===== Git Tag Notes ===== ===== Git Tag Notes =====
  
-[[ https://trac.alcf.anl.gov/projects/balsam/browser Git Browser ]]+<html><a href="https://trac.alcf.anl.gov/projects/balsam/browser" target="_blank">Git Browser</a></html> 
 + 
 +5.0 
 +  * updated to MySQL database 
 +  * create filter website  
 +  * Added ''group_identifier'' to ArgoDbEntry so that jobs can be grouped together and searched for easier. 
 +4.1 
 +  * updated vesta balsam delays to 5 min 
 +  * making all settings files consistent. 
 +  * added code to deal with jobs after a crash, and added print statements 
 +  * added restart try of subprocesses in the service loop 
 +  * updated vesta settings 
 +  * Updated Balsam code to support tukey submit script with manual mpirun call. Mira handles the mpirun call for the user whereas tukey does not. 
 +  * added tukey balsam site to argo settings 
 +  * updated argo settings to reflect new install directory balsam_production 
 +4.0 
 +  * adding condor command files which should have already been added. Fixed bugs with adding alpgen data to finished emails. 
 +  * adding logger.exception in the proper places. Fixed small bugs and added JobHold error 
 +  * Adding files for the condor scheduler changes to include dagman jobs and condor job files. 
 +  * Many updates to accomodate a Condor Scheduler ability to accept condor job files and condor dagman job files. Also includes updates to include more information on emails upon completion. 
 +  * fixing missing str() conversion 
 +  * fixed error messages where integers needed to be converted to strings 
 +  * updating only specific db fields instead of full object 
 +3.2 
 +  * re-added JobStatusReceiver 
 +3.1 
 +  * adding QueueMessage class to argo 
 +  * merging old and new? 
 +  * adding longer wait times to balsam on ascinode settings, and an error checking to the job status receiver. 
 +3.0 
 +  * major change to ARGO so that each transition takes place in a subprocess and does not block argo from processing other jobs in parallel 
 +  * added error catching for job id mismatch
  
-  * 4.1 
-    * updated vesta balsam delays to 5 min 
-    * making all settings files consistent. 
-    * added code to deal with jobs after a crash, and added print statements 
-    * added restart try of subprocesses in the service loop 
-    * updated vesta settings 
-    * Updated Balsam code to support tukey submit script with manual mpirun call. Mira handles the mpirun call for the user whereas tukey does not. 
-    * added tukey balsam site to argo settings 
-    * updated argo settings to reflect new install directory balsam_production 
-  * 4.0 
-    * adding condor command files which should have already been added. Fixed bugs with adding alpgen data to finished emails. 
-    * adding logger.exception in the proper places. Fixed small bugs and added JobHold error 
-    * Adding files for the condor scheduler changes to include dagman jobs and condor job files. 
-    * Many updates to accomodate a Condor Scheduler ability to accept condor job files and condor dagman job files. Also includes updates to include more information on emails upon completion. 
-    * fixing missing str() conversion 
-    * fixed error messages where integers needed to be converted to strings 
-    * updating only specific db fields instead of full object 
-  * 3.2 
-    * re-added JobStatusReceiver 
-  * 3.1 
-    * adding QueueMessage class to argo 
-    * merging old and new? 
-    * adding longer wait times to balsam on ascinode settings, and an error checking to the job status receiver. 
-  * 3.0 
-    * major change to ARGO so that each transition takes place in a subprocess and does not block argo from processing other jobs in parallel 
-    * added error catching for job id mismatch 
-  - 2.2 
-    - moved postprocessing to thread 
-    - grid proxy now valid for 96 hours 
-    - fixed loop iteration for postprocess list 
-    - fixed the postprocessing process tracking 
-    - testing running post processing in a subthread 
-    - adding a few more debug messages 
-    - added more debug messages and removed channel/connection close in Message Interface. This should stop the WARNING messages from pika. 
-    - added run_project to cobalt flags 
-    - Added job ID to email 
-    - removed fail current jobs on restart in balsam_service, and added logging to the service loop 
-    - updated website with time 
-    - update vesta_dev settings 
-    - added subjob site to ls_jobs 
-    - removed some debug statements from GridFtp 
-    - updated mira queue to hadronsim 
-    - added 2048 bits to certificate security grid-proxy-init call 
-    - if job fails on sheduler status update, it runs the postprocessing 
-    - added vesta_dev_settings 
-    - added ability to specify balsam site explicitly 
-    - removed debug from grid ftp 
-    - fixes for condor 
-    - added balsam site to balsamjob fixed response to holding state 
-    - Adding site and fixing Holding state response. 
-    - added failed to list of messages sent by balsam_service and added command to remove all jobs 
-    - Updates to fix multiple job finished send message. Using Tom Urams excellent solution in the PreSave step :) 
hpc/argobalsam.txt · Last modified: 2016/02/24 21:31 by jchilders