Commit ba65e350 authored by Cédric de Saint Martin's avatar Cédric de Saint Martin

Merge branch 'slaprunner'

Conflicts:
	software/slaprunner/software.cfg
parents 611f80e0 3f5689d1
...@@ -62,17 +62,24 @@ class Recipe(BaseSlapRecipe): ...@@ -62,17 +62,24 @@ class Recipe(BaseSlapRecipe):
ipv6_address=ipv6, ipv6_address=ipv6,
proxy_host=ipv4, proxy_host=ipv4,
proxy_port=proxy_port, proxy_port=proxy_port,
proxy_database=os.path.join(workdir, 'proxy.db') proxy_database=os.path.join(workdir, 'proxy.db'),
git=self.options['git'],
ssh_client=self.options['ssh_client'],
public_key=self.options['public_key'],
private_key=self.options['private_key']
) )
config_file = self.createConfigurationFile('slapos.cfg', config_file = self.createConfigurationFile('slapos.cfg',
self.substituteTemplate(pkg_resources.resource_filename(__name__, self.substituteTemplate(pkg_resources.resource_filename(__name__,
'template/slapos.cfg.in'), configuration)) 'template/slapos.cfg.in'), configuration))
self.path_list.append(config_file) self.path_list.append(config_file)
execute_arguments = dict(path = os.environ['PATH'], environment = dict(
launch_args = [self.options['slaprunner'].strip(), config_file]) PATH=os.path.dirname(self.options['git']) + ':' + os.environ['PATH'],
GIT_SSH=self.options['ssh_client']
)
launch_args = [self.options['slaprunner'].strip(), config_file, '--debug']
self.path_list.extend(zc.buildout.easy_install.scripts([('slaprunner', self.path_list.extend(zc.buildout.easy_install.scripts([('slaprunner',
'slapos.recipe.slaprunner.execute', 'execute')], self.ws, sys.executable, 'slapos.recipe.librecipe.execute', 'executee')], self.ws, sys.executable,
self.wrapper_directory, arguments=execute_arguments)) self.wrapper_directory, arguments=[launch_args, environment]))
self.setConnectionDict(dict(url='http://[%s]:%s' % (ipv6, runner_port))) self.setConnectionDict(dict(url='http://[%s]:%s' % (ipv6, runner_port)))
return self.path_list return self.path_list
...@@ -23,3 +23,11 @@ ipv6_address = %(ipv6_address)s ...@@ -23,3 +23,11 @@ ipv6_address = %(ipv6_address)s
host = %(proxy_host)s host = %(proxy_host)s
port = %(proxy_port)s port = %(proxy_port)s
database_uri = %(proxy_database)s database_uri = %(proxy_database)s
[sshkeys_authority]
ssh_client = %(ssh_client)s
public_key = %(public_key)s
private_key = %(private_key)s
[gitclient]
git = %(git)s
[buildout] [buildout]
parts = parts =
instance instance
sshkeys-authority
sshkeys-dropbear
dropbear-client
eggs-directory = ${buildout:eggs-directory} eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory}
...@@ -12,4 +15,51 @@ slapgrid_sr = ${buildout:directory}/bin/slapgrid-sr ...@@ -12,4 +15,51 @@ slapgrid_sr = ${buildout:directory}/bin/slapgrid-sr
slapgrid_cp = ${buildout:directory}/bin/slapgrid-cp slapgrid_cp = ${buildout:directory}/bin/slapgrid-cp
slapproxy = ${buildout:directory}/bin/slapproxy slapproxy = ${buildout:directory}/bin/slapproxy
supervisor = ${buildout:directory}/bin/slapgrid-supervisorctl supervisor = ${buildout:directory}/bin/slapgrid-supervisorctl
git = ${git:location}/bin/git
ssh_client = $${sshkeys-dropbear:wrapper}
public_key = $${sshkeys-dropbear:public-key}
private_key = $${sshkeys-dropbear:private-key}
[sshkeys-directory]
recipe = slapos.cookbook:mkdirectory
requests = $${directory:sshkeys}/requests/
keys = $${directory:sshkeys}/keys/
[sshkeys-authority]
recipe = slapos.cookbook:sshkeys_authority
request-directory = $${sshkeys-directory:requests}
keys-directory = $${sshkeys-directory:keys}
wrapper = $${directory:services}/sshkeys_authority
keygen-binary = ${dropbear:location}/bin/dropbearkey
[sshkeys-dropbear]
<= sshkeys-authority
recipe = slapos.cookbook:sshkeys_authority.request
name = dropbear
type = rsa
executable = $${dropbear-client:wrapper}
public-key = $${dropbear-client:identity-file}.pub
private-key = $${dropbear-client:identity-file}
wrapper = $${rootdirectory:bin}/dbclient
[dropbear-client]
recipe = slapos.cookbook:dropbear.client
dbclient-binary = ${dropbear:location}/bin/dbclient
identity-file = $${directory:ssh}/id_rsa
wrapper = $${rootdirectory:bin}/dbclient_raw
home = $${rootdirectory:etc}/ssh/
force-host-key = True
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/
var = $${buildout:directory}/var/
srv = $${buildout:directory}/srv/
bin = $${buildout:directory}/bin/
[directory]
recipe = slapos.cookbook:mkdirectory
sshkeys = $${rootdirectory:srv}/sshkeys
services = $${rootdirectory:etc}/run/
ssh = $${rootdirectory:etc}/ssh/
[buildout] [buildout]
extensions =
buildout-versions
extends = extends =
../../stack/flask.cfg ../../stack/flask.cfg
../../stack/shacache-client.cfg ../../stack/shacache-client.cfg
../../component/dropbear/buildout.cfg
../../component/git/buildout.cfg
develop =
${:parts-directory}/slapos.cookbook
parts = parts =
template template
slapos.cookbook
check-local-eggs
eggs eggs
instance-recipe-egg instance-recipe-egg
dropbear
find-links += find-links +=
http://www.nexedi.org/static/packages/source/slapos.buildout/ http://www.nexedi.org/static/packages/source/slapos.buildout/
...@@ -27,7 +38,25 @@ recipe = slapos.recipe.template ...@@ -27,7 +38,25 @@ recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/template.cfg output = ${buildout:directory}/template.cfg
mode = 0644 mode = 0644
md5sum = e2cbd8fe7b8e4c7e92a19cd775de0aa6 md5sum = cd69efd5c3a7e9adca7387b9a401590a
[slapos.cookbook]
# use official egg from pypi when it is released
recipe = plone.recipe.command
stop-on-error = true
commit = ce891b5070073d4dac9e21b089b8e662c7a9e0bd
repository = http://git.erp5.org/repos/slapos.git
location = ${buildout:parts-directory}/${:_buildout_section_name_}
git-binary = ${git:location}/bin/git
command = export GIT_SSL_NO_VERIFY=true; (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit}) || (rm -fr ${:location}; exit 1)
update-command =
[check-local-eggs]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
depends = ${instance-recipe:egg}
[eggs] [eggs]
eggs += eggs +=
...@@ -37,79 +66,102 @@ eggs += ...@@ -37,79 +66,102 @@ eggs +=
[versions] [versions]
# Use SlapOS patched zc.buildout # Use SlapOS patched zc.buildout
zc.buildout = 1.5.3-dev-SlapOS-010 zc.buildout = 1.6.0-dev-SlapOS-003
# Pinned to old version (2.4 does not compile well everywhere) # Pinned to old version (2.4 does not compile well everywhere)
pycrypto = 2.3 pycrypto = 2.3
Jinja2 = 2.6 Jinja2 = 2.6
Werkzeug = 0.8.1 Werkzeug = 0.8.2
apache-libcloud = 0.5.2 apache-libcloud = 0.7.1
async = 0.6.1
buildout-versions = 1.7 buildout-versions = 1.7
gitdb = 0.5.4
hexagonit.recipe.cmmi = 1.5.0 hexagonit.recipe.cmmi = 1.5.0
meld3 = 0.6.7 meld3 = 0.6.8
slapos.cookbook = 0.31 plone.recipe.command = 1.1
slapos.libnetworkcache = 0.11 slapos.libnetworkcache = 0.11
slapos.recipe.template = 2.2 slapos.recipe.template = 2.2
slapos.toolbox = 0.8 slapos.toolbox = 0.16
smmap = 0.8.2
# Required by: # Required by:
# slapos.core==0.18 # slapos.core==0.21
Flask = 0.8 Flask = 0.8
# Required by: # Required by:
# slapos.cookbook==0.31 # slapos.toolbox==0.16
GitPython = 0.3.2.RC1
# Required by:
# slapos.cookbook==0.39-dev
PyXML = 0.8.4 PyXML = 0.8.4
# Required by:
# slapos.toolbox==0.16
atomize = 0.1.1
# Required by:
# slapos.toolbox==0.16
feedparser = 5.1
# Required by: # Required by:
# hexagonit.recipe.cmmi==1.5.0 # hexagonit.recipe.cmmi==1.5.0
hexagonit.recipe.download = 1.5.0 hexagonit.recipe.download = 1.5.0
# Required by: # Required by:
# slapos.cookbook==0.31 # slapos.cookbook==0.39-dev
# slapos.core==0.18 inotifyx = 0.2.0
# Required by:
# slapos.cookbook==0.39-dev
# slapos.core==0.21
# xml-marshaller==0.9.7 # xml-marshaller==0.9.7
lxml = 2.3.1 lxml = 2.3.3
# Required by: # Required by:
# slapos.cookbook==0.31 # slapos.cookbook==0.39-dev
netaddr = 0.7.6 netaddr = 0.7.6
# Required by: # Required by:
# slapos.core==0.18 # slapos.core==0.21
netifaces = 0.6 netifaces = 0.6
# Required by: # Required by:
# slapos.toolbox==0.8 # slapos.toolbox==0.16
paramiko = 1.7.7.1 paramiko = 1.7.7.1
# Required by: # Required by:
# slapos.toolbox==0.8 # slapos.toolbox==0.16
psutil = 0.3.0 psutil = 0.4.1
# Required by: # Required by:
# slapos.cookbook==0.31 # slapos.cookbook==0.39-dev
# slapos.core==0.18 # slapos.core==0.21
# zc.buildout==1.5.3-dev-SlapOS-010 # slapos.libnetworkcache==0.11
# slapos.toolbox==0.16
# supervisor==3.0a12
# zc.buildout==1.6.0-dev-SlapOS-003
# zc.recipe.egg==1.3.2 # zc.recipe.egg==1.3.2
# zope.interface==3.8.0
setuptools = 0.6c12dev-r88846 setuptools = 0.6c12dev-r88846
# Required by: # Required by:
# slapos.cookbook==0.31 # slapos.cookbook==0.39-dev
slapos.core = 0.18 slapos.core = 0.21
# Required by: # Required by:
# slapos.core==0.18 # slapos.core==0.21
supervisor = 3.0a10 supervisor = 3.0a12
# Required by: # Required by:
# slapos.cookbook==0.31 # slapos.cookbook==0.39-dev
xml-marshaller = 0.9.7 xml-marshaller = 0.9.7
# Required by: # Required by:
# slapos.cookbook==0.31 # slapos.cookbook==0.39-dev
zc.recipe.egg = 1.3.2 zc.recipe.egg = 1.3.2
# Required by: # Required by:
# slapos.core==0.18 # slapos.core==0.21
zope.interface = 3.8.0 zope.interface = 3.8.0
\ 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