Commit a560f178 authored by Alain Takoudjou's avatar Alain Takoudjou

first version of BonjourGrid-Client

parent c0429412
[buildout]
parts =
boinc-client
publish-connection-informations
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/
var = $${buildout:directory}/var/
srv = $${buildout:directory}/srv/
bin = $${buildout:directory}/bin/
tmp = $${buildout:directory}/tmp/
[basedirectory]
recipe = slapos.cookbook:mkdirectory
log = $${rootdirectory:var}/log/
boinc_wrapper = $${rootdirectory:etc}/boinc/
run = $${rootdirectory:var}/run/
backup = $${rootdirectory:srv}/backup/
promises = $${rootdirectory:etc}/promise/
boinc = $${rootdirectory:srv}/boinc/
[boinc-passwd]
recipe = slapos.cookbook:generate.password
storage-path = $${basedirectory:boinc}/gui_rpc_auth.cfg
bytes = 8
[boinc-client]
recipe = slapos.cookbook:boinc.client
install-dir = $${basedirectory:boinc}
home = $${buildout:directory}
client-wrapper = $${basedirectory:boinc_wrapper}/boinc_client
cmd-wrapper = $${basedirectory:boinc_wrapper}/boinc_cmd
#specifie a cc_config.xml file to boinc client, use cconfig
ip = $${slap-network-information:global-ipv6}
passwd = $${boinc-passwd:passwd}
cconfig =
boinc-bin = ${boinc:location}/bin/boinc_client
cmd-bin = ${boinc:location}/bin/boinccmd
server-url =
key =
# Publish all instance parameters
[publish-connection-informations]
recipe = slapos.cookbook:publish
#this informations is provide in intern by bonjourgrid
boinc_remote-host = $${boinc-client:ip}
boinc_rpc-port = $${boinc-client:rpc-port}
boinc_rpc-passwd = $${boinc-passwd:passwd}
[buildout]
parts =
condor
boinc-client
computerinfo-script
bonjourgrid-client
publish-connection-informations
extends =
${template-condor:output}
${template-boinc:output}
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
[basedirectory]
recipe = slapos.cookbook:mkdirectory
log = $${rootdirectory:var}/log/
run = $${rootdirectory:var}/run/
services = $${rootdirectory:etc}/service/
backup = $${rootdirectory:srv}/backup/
promises = $${rootdirectory:etc}/promise/
bg_base = $${rootdirectory:srv}/bonjourgrid/
[account-passwd]
recipe = slapos.cookbook:generate.password
storage-path = $${rootdirectory:etc}/.account_passwd
bytes = 8
[computerinfo-script]
recipe = slapos.recipe.template
url = ${computer-info:location}/${computer-info:filename}
output = $${bonjourgrid-client:work_dir}/machineinfo.sh
mode = 0744
ip_address = $${slap-network-information:global-ipv6}
[bonjourgrid-client]
recipe = slapos.cookbook:bonjourgrid.client
client_script = ${bonjourgrid:location}/BonjourGridWorker.py
work_dir = $${basedirectory:bg_base}
install_dir = ${bonjourgrid:location}
boinc_script = $${basedirectory:bg_base}/runBoinc
condor_script = $${basedirectory:bg_base}/runCondor
wrapper = $${basedirectory:services}/bonjourGrid-Worker
log_file = $${basedirectory:log}/bonjourgrid-worker.log
pid_file = $${basedirectory:run}/bonjourgrid-worker.pid
python-bin = ${buildout:executable}
redis-url = $${slap-parameter:server-url}
redis-port = $${slap-parameter:server-port}
#Boinc and Condor parameters
ipv6 = $${slap-network-information:global-ipv6}
email = $${slap-parameter:user-email}
condor_host = $${condor:condor_host}
collector_name = $${condor:collector_name}
boinc_wrapper = $${boinc-client:client-wrapper}
condor_wrapper = $${condor:wrapper-dir}/start_condor
boinc_cmd = $${boinc-client:cmd-bin}
boinc_rpc_port = $${boinc-client:rpc-port}
boinc_install_dir = $${boinc-client:install-dir}
condor_config = $${buildout:directory}/etc/condor_config
condor_config_local = $${condor:local-dir}/condor_config.local
boinc_passwd = $${boinc-client:passwd}
account_name = $${slap-parameter:full-name}
account_passwd = $${account-passwd:passwd}
[publish-connection-informations]
boinc-account-email = $${slap-parameter:user-email}
boinc-account-name = $${slap-parameter:full-name}
boinc-account-passwd = $${account-passwd:passwd}
[slap-parameter]
user-email = your.email@your.domain.com
full-name = Your Full Name
server-url =
server-port = 6379
\ No newline at end of file
[buildout]
parts =
condor
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 = worker
disk-space = $${slap-parameter:condor_diskspace}
allowed-write = $${slap-parameter:condor_allowed-write}
admin-email =
# Publish all instance parameters (url of instance)
[publish-connection-informations]
recipe = slapos.cookbook:publish
condor_ipv6_address = $${condor:ip}
condor_instance_type = worker
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_diskspace = 5
condor_allowed-write = $${:condor_host}
[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 = ${template-bonjourgrid:output}
\ No newline at end of file
[buildout]
# Local development - to be remove
develop =
${:parts-directory}/slapos.cookbook-repository
parts=
slapos-cookbook
boinc
condor
bonjourgrid
template
template-boinc
template-condor
template-bonjourgrid
computer-info
slapos.cookbook-repository
check-recipe
extends =
../../component/boinc-client/buildout.cfg
../../component/condor/buildout.cfg
../../component/git/buildout.cfg
../../stack/slapos.cfg
[template-bonjourgrid]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/bonjourgrid-instance.cfg
output = ${buildout:directory}/template-bonjourgrid.cfg
mode = 0644
md5sum = 3d470d742a690a2959d376f4d978d407
[bonjourgrid]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/bonjourgrid.src/bonjourgrid.tar.gz
md5sum = 50f6da04e9cd203a886a9cb4658f8e03
[computer-info]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/templates/machineinfo.worker.sh.in
md5sum = 630303e64d98a9af31be7e9f8c0d91b6
filename = machineinfo.worker.sh.in
download-only = true
[template]
# Default template for boinc-client instance.
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
md5sum = 1fad063b948b00be92cbd4d6b1bb8c10
output = ${buildout:directory}/template.cfg
mode = 0644
[template-boinc]
# Default template for boinc-client instance.
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/boinc-instance.cfg
md5sum = 0d9da949721c58494fde07ab03684331
output = ${buildout:directory}/template-boinc.cfg
mode = 0644
[template-condor]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/condor-instance.cfg
output = ${buildout:directory}/template-condor.cfg
md5sum = 26d147295a10807efc9fa8256c4264f8
mode = 0644
# 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
#!/bin/sh
# This script generates a file (with the name `hostname`) of the characteristics of the machine
Mhz=`grep -i Mhz /proc/cpuinfo | cut -d : -f2 | head -1 | cut -f2 -d " "`
mem=`grep -i MemTotal /proc/meminfo | cut -f2 -d :`
Ram=`echo $mem | cut -f1 -d " "`
Cpu=`uname -a | cut -f3 -d " "`
H=`hostname`
Nbproc=`grep processor /proc/cpuinfo |wc -l`
Ip=${:ip_address}
c="{'"MHZ"':\"$Mhz\",'"Ram"':\"$Ram\",'"Cpu"':\"$Cpu\",'"HOST"':\"$H\",'"IP"':\"$Ip\"}"
filename=`hostname`
echo $c > $filename
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