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
hpc:argobalsam [2015/01/21 16:13]
jchilders [Git Tag Notes]
hpc:argobalsam [2016/02/24 21:31] (current)
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 migrate --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.1421856807.txt.gz · Last modified: 2015/01/21 16:13 by jchilders