Commit c0429412 authored by Alain Takoudjou's avatar Alain Takoudjou

Add BonjourGrid-Master software release

parent 0e7f5cf1
[buildout]
parts =
boinc-server
certificate-authority
ca-stunnel
logrotate
logrotate-entry-apache
logrotate-entry-stunnel
cron
cron-entry-logrotate
cron-entry-boinc
promise
slapmonitor
slapreport
frontend-promise
content-promise
publish-connection-informations
#User application
boinc-app
#slap application
slap-application
extends =
${template-boinc:output}
[boincdirectory]
recipe = slapos.cookbook:mkdirectory
boinc = $${rootdirectory:etc}/boinc/
#Override Boinc server part with custom variables for BonjourGrid
#Change the wrapper directory to /bin/boinc/
[boinc-server]
wrapper-dir = $${boincdirectory:boinc}
#Deploy a Boinc application in existing boinc server instance. do the same thing for another boinc app instance
[boinc-app]
<= boinc-server
recipe = slapos.cookbook:boinc.app
binary = ${boinc-application:location}/${boinc-application:filename}
#app-name should be unique (for all app deployed an boinc instance)
app-name = ${boinc-application:app-name}
version = ${boinc-application:version}
platform = ${boinc-application:platform}
extension = ${boinc-application:exec-extension}
#templates
template-result = ${template_result:location}/${template_result:filename}
template-wu = ${template_wu:location}/${template_wu:filename}
#Work Unit
wu-number = ${boinc-application:wu-number}
input-file = ${template_input:location}/${template_input:filename}
Universe = vanilla
Executable = simple
Arguments = 4 10
Log = simple.log
Output = simple.$(Process).out
Error = simple.$(Process).error
Queue
Arguments = 4 11
Queue
Arguments = 4 12
Queue
\ No newline at end of file
test string
\ No newline at end of file
[buildout]
parts =
redis
bonjourgrid
boinc-server
certificate-authority
ca-stunnel
logrotate
logrotate-entry-apache
logrotate-entry-stunnel
cron
cron-entry-logrotate
cron-entry-boinc
promise
slapmonitor
slapreport
frontend-promise
content-promise
publish-connection-informations
#User application
boinc-app
#slap application
slap-application
condor
app-submit
extends =
${template-condor:output}
${boinc-instance:output}
${template-redis:output}
[basedirectory]
recipe = slapos.cookbook:mkdirectory
log = $${rootdirectory:var}/log/
run = $${rootdirectory:var}/run/
backup = $${rootdirectory:srv}/backup/
promises = $${rootdirectory:etc}/promise/
bonjourgrid = $${rootdirectory:etc}/bonjourgrid.d/
bg_base = $${rootdirectory:srv}/bonjourgrid/
[bonjourgrid]
recipe = slapos.cookbook:bonjourgrid
master_script = ${bonjourgrid:location}/BonjourGridMaster.py
work_dir = $${basedirectory:bg_base}
install_dir = ${bonjourgrid:location}
condor-wrapper = $${condor:wrapper-dir}
boinc-wrapper = $${boinc-server:wrapper-dir}
boinc_condor_wrapper = $${basedirectory:bonjourgrid}/bonjourGrid
wrapper = $${basedirectory:services}/bonjourGrid
log_file = $${basedirectory:log}/bonjourgrid.log
pid_file = $${basedirectory:run}/bonjourgrid.pid
nworkers = $${slap-parameter:worker-number}
redis-url = $${slap-parameter:server-url}
redis-port = $${slap-parameter:server-port}
redis-passwd = $${slap-parameter:server-password}
type = $${slap-parameter:project-type}
python-bin = ${buildout:executable}
url-boinc = $${boinc-app:url-base}$${slap-application:project}/
condor_host = $${slap-parameter:condor_host}
ipv6 = $${condor:ip}
[publish-connection-informations]
bg_instance_type = $${slap-parameter:project-type}
[slap-parameter]
project = bonjourgrid
server-url = $${redis:ipv6}
server-port = $${redis:port}
server-password = $${redis:passwd}
worker-number = 1
#specified if we want to run BOINC or Condor project:
#project-type = boinc | condor | both
project-type = boinc
\ No newline at end of file
[buildout]
parts =
condor
app-submit
publish-connection-informations
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
#Enable download
newest = false
offline = false
# Create all needed directories
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/
var = $${buildout:directory}/var/
condor = $${buildout:directory}/condor/
job = $${buildout:directory}/jobs/
bin = $${buildout:directory}/bin/
sbin = $${buildout:directory}/sbin/
srv = $${buildout:directory}/srv/
[basedirectory]
recipe = slapos.cookbook:mkdirectory
log = $${rootdirectory:var}/log/
run = $${rootdirectory:var}/run/
backup = $${rootdirectory:srv}/backup/
promises = $${rootdirectory:etc}/promise/
condor = $${rootdirectory:etc}/condor/
[wrapperdirectory]
recipe = slapos.cookbook:mkdirectory
wrapper = $${basedirectory:run}/condor
[condor]
recipe = slapos.cookbook:condor
#Change default wrapper dir to /etc/condor/
wrapper-dir = $${basedirectory:condor}
ip = $${slap-network-information:global-ipv6}
package = ${condor:location}
rootdirectory = $${buildout:directory}
local-dir = $${rootdirectory:condor}
job-dir = $${rootdirectory:job}
java-bin = ${java:location}/bin
bin = $${wrapperdirectory:wrapper}/bin/
sbin = $${wrapperdirectory:wrapper}/sbin/
dash = ${dash:location}/bin/dash
environment =
LD_LIBRARY_PATH=${libexpat:location}/lib:${kerberos:location}/lib:${openldap:location}/lib:${zlib:location}/lib
PATH=${perl:location}/bin:${java:location}/bin:${kerberos:location}/bin:${openldap:location}/bin:%(PATH)s
HOME=$${rootdirectory:condor}
HOSTNAME=$${slap-parameter:condor_host}
#Condor user parameter
condor_host = $${slap-parameter:condor_host}
collector_name = $${slap-parameter:condor_collector_name}
#Condor machine role: worker=submit,execute manager=manager,submit
machine-role = $${slap-parameter:condor_role}
disk-space = $${slap-parameter:condor_diskspace}
allowed-write = $${slap-parameter:condor_allowed-write}
admin-email = $${slap-parameter:condor_admin-email}
[app-submit]
<= condor
recipe = slapos.cookbook:condor.submit
app-name = $${slap-parameter:condor_app-name}
#user can specifie a list files to use in application, one per line
files = $${slap-parameter:condor_files}
description-file = $${slap-parameter:condor_description-file}
executable = $${slap-parameter:condor_executable}
executable-name = $${slap-parameter:condor_executable-name}
# Publish all instance parameters (url of instance)
[publish-connection-informations]
recipe = slapos.cookbook:publish
condor_ipv6_address = $${condor:ip}
condor_instance_type = $${condor:machine-role}
condor_host = $${condor:condor_host}
[slap-parameter]
# Default values if not specified
condor_host = [$${slap-network-information:global-ipv6}]
condor_collector_name = SLAPOS-CONDOR-POOL
condor_role = manager
condor_diskspace = 5
condor_admin-email =
condor_allowed-write = $${:condor_host}
#submit application
condor_app-name = condor_test
condor_description-file = ${description-file:location}/${description-file:filename}
condor_executable = ${executable:location}/${executable:filename}
condor_executable-name = ${executable:filename}
#user can specifie a list of input file, one per line
condor_files =
[buildout]
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
parts =
publish-connection-informations
redis
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/
srv = $${buildout:directory}/srv/
var = $${buildout:directory}/var/
bin = $${buildout:directory}/bin/
[basedirectory]
recipe = slapos.cookbook:mkdirectory
services = $${rootdirectory:etc}/run/
run = $${rootdirectory:var}/run/
log = $${rootdirectory:var}/log/
[master-passwd]
recipe = slapos.cookbook:generate.password
storage-path = $${rootdirectory:etc}/.passwd
bytes = 4
[redis]
recipe = slapos.cookbook:redis.server
server_bin = ${redis:location}/bin/redis-server
ipv6 = $${slap-network-information:global-ipv6}
port = 6379
use_passwd = $${slap-parameter:use_passwd}
pid_file = $${basedirectory:run}/redis.pid
server_dir = $${rootdirectory:srv}
passwd = $${master-passwd:passwd}
config_file = $${rootdirectory:etc}/redis.conf
log_file = $${basedirectory:log}/redis.log
wrapper = $${basedirectory:services}/redis_server
# Send informations to SlapOS Master
[publish-connection-informations]
recipe = slapos.cookbook:publish
redis_url = $${redis:ipv6}
redis_port = $${redis:port}
redis_passwd = $${redis:passwd}
redis_password = $${redis:use_passwd}
[slap-parameter]
use_passwd = false
\ No newline at end of file
[buildout]
parts =
switch_softwaretype
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
[switch_softwaretype]
recipe = slapos.cookbook:softwaretype
default = ${bonjourgrid-instance:output}
mariadb = ${template-mariadb:output}
\ No newline at end of file
[buildout]
# Local development - to be remove
develop =
${:parts-directory}/slapos.cookbook-repository
parts =
boinc-instance
template
boinc-application
template_wu
template_result
template_input
template-redis
slapos-cookbook
instance-egg
condor
redis
template-condor
description-file
executable
bonjourgrid-instance
bonjourgrid
slapos.cookbook-repository
check-recipe
extends =
../../stack/boinc/buildout.cfg
../../component/condor/buildout.cfg
../../component/redis/buildout.cfg
../../component/git/buildout.cfg
../../stack/slapos.cfg
#Generate All instances templates
[bonjourgrid-instance]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-bonjourgrid.cfg
output = ${buildout:directory}/template-bonjourgrid.cfg
mode = 0644
md5sum = c1334a8564d5ddbd6f18e06995d8f5ca
[bonjourgrid]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/bonjourgrid.src/bonjourgrid.tar.gz
md5sum = 50f6da04e9cd203a886a9cb4658f8e03
[template-redis]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-redis.cfg
output = ${buildout:directory}/template-redis.cfg
mode = 0644
md5sum = d46047a3b6285b12843572b8101e955a
[boinc-instance]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/boinc-app.cfg
output = ${buildout:directory}/template-boinc-app.cfg
mode = 0644
md5sum = 6522c134cbdc52daf0f8983a45153100
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/template.cfg
mode = 0644
md5sum = 2f23572c39bfcedcdebdb5963aeefc38
#Download Boinc Application Binary and configure project
[boinc-application]
recipe = hexagonit.recipe.download
url = ${boinc:location}/libexec/examples/upper_case
download-only = true
filename = upper_case
#Application configuration
app-name = upper_case
version = 1.00
exec-extension =
#Please read Boinc platform before update platform value: http://boinc.berkeley.edu/trac/wiki/BoincPlatforms
platform = x86_64-pc-linux-gnu
#Work Unit number number of work unit
wu-number = 2
[template-base]
recipe = slapos.recipe.download
download-only = true
mode = 0644
[template_result]
<= template-base
url = ${:_profile_base_location_}/templates/template_result
filename = template_result
location = ${buildout:parts-directory}/${:_buildout_section_name_}
#md5sum =
[template_wu]
<= template-base
url = ${:_profile_base_location_}/templates/template_wu
filename = template_wu
location = ${buildout:parts-directory}/${:_buildout_section_name_}
#md5sum =
[template_input]
<= template-base
url = ${:_profile_base_location_}/input/input_file
filename = input_file
location = ${buildout:parts-directory}/${:_buildout_section_name_}
#md5sum =
###Condor description ####
[template-condor]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-condor.cfg
output = ${buildout:directory}/template-condor.cfg
md5sum = 8bb788d39cbfa8a7473f25cd2e2a6104
mode = 0644
[description-file]
recipe = slapos.recipe.download
mode = 0644
url = ${:_profile_base_location_}/condor_job/submit
filename = submit
location = ${buildout:parts-directory}/${:_buildout_section_name_}
md5sum = 8180d88348b89b55216f8dd4475a9eea
[executable]
recipe = slapos.recipe.download
mode = 0774
url = ${:_profile_base_location_}/condor_job/simple
filename = simple
location = ${buildout:parts-directory}/${:_buildout_section_name_}
md5sum = c512f495cdd112bceb04feab7c909a10
# Local development
[slapos.cookbook-repository]
recipe = plone.recipe.command
stop-on-error = true
branch = grid-computing
revision =
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = "${git:location}/bin/git" clone --branch "${:branch}" --quiet http://git.erp5.org/repos/slapos.git "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}" ; fi
update-command = cd "${:location}" && "${git:location}/bin/git" fetch --quiet && if [ -n "${:revision}" ]; then "${git:location}/bin/git" reset --hard "${:revision}"; else "${git:location}/bin/git" reset --quiet --hard @{upstream} ; fi
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
[versions]
lxml = 2.3.6
\ No newline at end of file
<file_info>
<name><OUTFILE_0/></name>
<generated_locally/>
<upload_when_present/>
<max_nbytes>5000000</max_nbytes>
<url><UPLOAD_URL/></url>
</file_info>
<result>
<file_ref>
<file_name><OUTFILE_0/></file_name>
<open_name>out</open_name>
</file_ref>
</result>
\ No newline at end of file
<file_info>
<number>0</number>
</file_info>
<workunit>
<file_ref>
<file_number>0</file_number>
<open_name>in</open_name>
</file_ref>
<command_line>-cpu_time 10</command_line>
</workunit>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment