Commit 65654894 authored by Alain Takoudjou's avatar Alain Takoudjou

Simplify BonjourGrid software release: extends BOINC, Condor and Redis SR

parent 092c7c42
[buildout]
parts =
boinc-server
boinc-app
certificate-authority
ca-stunnel
logrotate
logrotate-entry-apache
logrotate-entry-stunnel
cron
cron-entry-logrotate
cron-entry-boinc
promise
slapmonitor
frontend-promise
content-promise
publish-connection-informations
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}
...@@ -23,17 +23,36 @@ parts = ...@@ -23,17 +23,36 @@ parts =
extends = extends =
${template-condor:output} ${template-condor:output}
${boinc-instance:output} ${template-boinc:output}
${template-redis:output} ${template-redis:output}
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/
srv = $${buildout:directory}/srv/
var = $${buildout:directory}/var/
bin = $${buildout:directory}/bin/
[basedirectory] [basedirectory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
scripts = $${rootdirectory:etc}/run/
log = $${rootdirectory:var}/log/ log = $${rootdirectory:var}/log/
run = $${rootdirectory:var}/run/ run = $${rootdirectory:var}/run/
backup = $${rootdirectory:srv}/backup/ backup = $${rootdirectory:srv}/backup/
promises = $${rootdirectory:etc}/promise/ promises = $${rootdirectory:etc}/promise/
bonjourgrid = $${rootdirectory:etc}/bonjourgrid.d/ bonjourgrid = $${rootdirectory:etc}/bonjourgrid.d/
bg_base = $${rootdirectory:srv}/bonjourgrid/ bg_base = $${rootdirectory:srv}/bonjourgrid/
condor = $${rootdirectory:etc}/condor/
boinc = $${rootdirectory:etc}/boinc/
#Override Boinc server part with custom variables for BonjourGrid
#Change the wrapper directory to /bin/boinc/
[boinc-server]
wrapper-dir = $${basedirectory:boinc}
[condor]
#Change default wrapper dir to /etc/condor/
wrapper-dir = $${basedirectory:condor}
[bonjourgrid] [bonjourgrid]
recipe = slapos.cookbook:bonjourgrid recipe = slapos.cookbook:bonjourgrid
...@@ -54,11 +73,18 @@ type = $${slap-parameter:project-type} ...@@ -54,11 +73,18 @@ type = $${slap-parameter:project-type}
python-bin = ${buildout:executable} python-bin = ${buildout:executable}
url-boinc = $${boinc-app:url-base}$${boinc-app:project}/ url-boinc = $${boinc-app:url-base}$${boinc-app:project}/
condor_host = $${slap-parameter:condor_host} condor_host = $${slap-parameter:condor-host}
ipv6 = $${condor:ip} ipv6 = $${condor:ip}
[publish-connection-informations] [publish-connection-informations]
bg_instance_type = $${slap-parameter:project-type} bg_instance_type = $${slap-parameter:project-type}
condor_ipv6_address = $${condor:ip}
condor_instance_type = $${condor:machine-role}
condor_host = $${condor:condor_host}
redis_ip = $${bonjourgrid:redis-url}
redis_port = $${bonjourgrid:redis-port}
redis_passwd = $${bonjourgrid:redis-passwd}
redis_uses_password = $${redis:use_passwd}
[slap-parameter] [slap-parameter]
project = bonjourgrid project = bonjourgrid
...@@ -69,3 +95,15 @@ worker-number = 1 ...@@ -69,3 +95,15 @@ worker-number = 1
#specified if we want to run BOINC or Condor project: #specified if we want to run BOINC or Condor project:
#project-type = boinc | condor #project-type = boinc | condor
project-type = boinc project-type = boinc
###Condor Parameters #####
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, using Json application list
condor-app-list = ${condor-application:list}
###Redis Parameters####
use_passwd = false
###BOINC parameters --Refer to Boinc Stack######
[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
scripts = $${rootdirectory:etc}/run/
services = $${rootdirectory:etc}/service/
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_ip = $${redis:ipv6}
redis_port = $${redis:port}
redis_passwd = $${redis:passwd}
redis_uses_password = $${redis:use_passwd}
[slap-parameter]
use_passwd = false
\ No newline at end of file
...@@ -5,7 +5,6 @@ develop = ...@@ -5,7 +5,6 @@ develop =
${:parts-directory}/slapos.cookbook-repository ${:parts-directory}/slapos.cookbook-repository
parts = parts =
boinc-instance
template template
application application
template_wu template_wu
...@@ -47,7 +46,7 @@ recipe = slapos.recipe.template ...@@ -47,7 +46,7 @@ recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-bonjourgrid.cfg url = ${:_profile_base_location_}/instance-bonjourgrid.cfg
output = ${buildout:directory}/template-bonjourgrid.cfg output = ${buildout:directory}/template-bonjourgrid.cfg
mode = 0644 mode = 0644
md5sum = 216b87eb0675cb5f61462d21fff3a392 md5sum = 59cc789d6ce765d3d25f9bd6f9659e55
[bonjourgrid] [bonjourgrid]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
...@@ -59,7 +58,7 @@ md5sum = 22925dcf5a8ceb8da449ccf52402a195 ...@@ -59,7 +58,7 @@ md5sum = 22925dcf5a8ceb8da449ccf52402a195
################################# #################################
[template-redis] [template-redis]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-redis.cfg url = ${:_profile_base_location_}/../redis-server/instance-redis.cfg
output = ${buildout:directory}/template-redis.cfg output = ${buildout:directory}/template-redis.cfg
mode = 0644 mode = 0644
md5sum = 8b223d1fe0ffd40c7151766730da7fcb md5sum = 8b223d1fe0ffd40c7151766730da7fcb
...@@ -67,12 +66,6 @@ md5sum = 8b223d1fe0ffd40c7151766730da7fcb ...@@ -67,12 +66,6 @@ md5sum = 8b223d1fe0ffd40c7151766730da7fcb
################################# #################################
### BOINC Server description #### ### BOINC Server description ####
################################# #################################
[boinc-instance]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/boinc-app.cfg
output = ${buildout:directory}/template-boinc-app.cfg
mode = 0644
md5sum = 97bf1a369946b50ae1163e2d83209857
#Download Boinc Application Binary and configure project #Download Boinc Application Binary and configure project
[application] [application]
...@@ -125,9 +118,9 @@ extension = ...@@ -125,9 +118,9 @@ extension =
[template-condor] [template-condor]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-condor.cfg url = ${:_profile_base_location_}/../condor/instance-condor.cfg
output = ${buildout:directory}/template-condor.cfg output = ${buildout:directory}/template-condor.cfg
md5sum = 8bb788d39cbfa8a7473f25cd2e2a6104 md5sum = 54a7e1e859c23101eed61ad0968eb600
mode = 0644 mode = 0644
[description-file] [description-file]
...@@ -146,6 +139,11 @@ filename = simple ...@@ -146,6 +139,11 @@ filename = simple
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
md5sum = c512f495cdd112bceb04feab7c909a10 md5sum = c512f495cdd112bceb04feab7c909a10
[condor-application]
list = {"condor_test":{"description-file":"${description-file:location}/${description-file:filename}", "executable":"${executable:location}/${executable:filename}", "executable-name":"${executable:filename}", "files":{}}}
######################################################"
# Local development # Local development
[slapos.cookbook-repository] [slapos.cookbook-repository]
recipe = plone.recipe.command recipe = plone.recipe.command
......
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