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

Merge branch 'master' into kvm

parents 875f8a7a d1f1d6a9
Changes Changes
======= =======
0.60 (Unreleased) 0.61 (Unreleased)
----------------- -----------------
* No change yet.
0.60 (2012-08-13)
-----------------
* New recipe: requestoptional, like "request", but won't fail if instance is
not ready. [Cedric de Saint Martin]
* Update zabbix to return strings as parameters. [Cedric de Saint Martin]
* Add check in check_url_promise in case of empty URL. [Cedric de Saint
Martin]
* Upgrade slaprunner recipe to be compatible with newest version. [Alain
Takoudjou]
0.59 (2012-07-12) 0.59 (2012-07-12)
----------------- -----------------
......
...@@ -30,10 +30,10 @@ md5sum = 52b31b33fb1aa16e65ddaefc76e41151 ...@@ -30,10 +30,10 @@ md5sum = 52b31b33fb1aa16e65ddaefc76e41151
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
depends = depends =
${gdbm:version} ${gdbm:version}
version = 2.4.1 version = 2.4.2
revision = 1 revision = 1
url = http://mir2.ovh.net/ftp.apache.org/dist/httpd/httpd-${:version}.tar.bz2 url = http://mir2.ovh.net/ftp.apache.org/dist/httpd/httpd-${:version}.tar.bz2
md5sum = 7d3001c7a26b985d17caa367a868f11c md5sum = 6bb12f726e22656f0ad2baf91f1f8329
configure-command = cp -ar ${apr:location}/apr-${apr:version} srclib/apr/; cp -ar ${apr-util:location}/apr-util-${apr-util:version} srclib/apr-util; ./configure configure-command = cp -ar ${apr:location}/apr-${apr:version} srclib/apr/; cp -ar ${apr-util:location}/apr-util-${apr-util:version} srclib/apr-util; ./configure
configure-options = --prefix=${buildout:parts-directory}/${:_buildout_section_name_} configure-options = --prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--disable-static --disable-static
......
...@@ -7,8 +7,8 @@ parts = ...@@ -7,8 +7,8 @@ parts =
[autoconf] [autoconf]
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz url = http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
md5sum = c3b5247592ce694f7097873aa07d66fe md5sum = 82d05e03b93e45f5a39b828dc9c6c29b
environment = environment =
M4=${m4:location}/bin/m4 M4=${m4:location}/bin/m4
PATH=${perl:location}/bin:%(PATH)s PATH=${perl:location}/bin:%(PATH)s
...@@ -3,7 +3,10 @@ extends = ...@@ -3,7 +3,10 @@ extends =
../autoconf/buildout.cfg ../autoconf/buildout.cfg
../perl/buildout.cfg ../perl/buildout.cfg
parts = parts =
automake-1.11 automake
[automake]
<= automake-1.12
[automake-1.11] [automake-1.11]
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
...@@ -11,3 +14,11 @@ md5sum = 93ecb319f0365cb801990b00f658d026 ...@@ -11,3 +14,11 @@ md5sum = 93ecb319f0365cb801990b00f658d026
url = http://ftp.gnu.org/gnu/automake/automake-1.11.3.tar.gz url = http://ftp.gnu.org/gnu/automake/automake-1.11.3.tar.gz
environment = environment =
PATH =${autoconf:location}/bin:${perl:location}/bin:%(PATH)s PATH =${autoconf:location}/bin:${perl:location}/bin:%(PATH)s
[automake-1.12]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/automake/automake-1.12.tar.gz
md5sum = d8a8f6bd898a6b34a874728cd1e47a95
environment =
PATH =${autoconf:location}/bin:${perl:location}/bin:%(PATH)s
# CA certificates # CA certificates
[buildout] [buildout]
extends =
../patch/buildout.cfg
parts = parts =
ca-certificates ca-certificates
...@@ -16,6 +20,7 @@ download-only = true ...@@ -16,6 +20,7 @@ download-only = true
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
version = 20120623 version = 20120623
url = ftp://ftp.free.fr/mirrors/ftp.debian.org/pool/main/c/ca-certificates/ca-certificates_${:version}.tar.gz url = ftp://ftp.free.fr/mirrors/ftp.debian.org/pool/main/c/ca-certificates/ca-certificates_${:version}.tar.gz
patch-binary = ${patch:location}/bin/patch
patches = patches =
${ca-certificates-sbin-dir.patch:location}/${ca-certificates-sbin-dir.patch:filename} ${ca-certificates-sbin-dir.patch:location}/${ca-certificates-sbin-dir.patch:filename}
patch-options = -p0 patch-options = -p0
......
...@@ -28,13 +28,11 @@ environment = ...@@ -28,13 +28,11 @@ environment =
# NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location} # NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location}
recipe = plone.recipe.command recipe = plone.recipe.command
stop-on-error = true stop-on-error = true
commit = 78f2722332faf2487bf765e642352a39d0c94789 commit = 1f46081df51e6654cef17c205fbf589b219133a7
repository = https://github.com/ajaxorg/cloud9.git repository = https://github.com/ajaxorg/cloud9.git
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
git-binary = ${git:location}/bin/git environment = export GIT_SSL_NO_VERIFY=true; export PATH=${git:location}/bin:${nodejs:location}/bin:${node-sm:location}/node_modules/sm/bin:$PATH; export CPPFLAGS="-I${libxml2:location}/include -I${nodejs:location}/include"; export LDFLAGS="-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib"; export HOME=${:location};
npm-binary = ${nodejs:location}/bin/node ${nodejs:location}/bin/npm command = ${:environment} (git clone --quiet ${:repository} ${:location} && cd ${:location} && git reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install) || (rm -fr ${:location}; exit 1)
environment = export GIT_SSL_NO_VERIFY=true; export PATH=${nodejs:location}/bin:${node-sm:location}/node_modules/sm/bin/:$PATH; export CPPFLAGS="-I${libxml2:location}/include -I${nodejs:location}/include"; export LDFLAGS="-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib"; export HOME=${:location};
command = ${:environment} (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install) || (rm -fr ${:location}; exit 1)
update-command = update-command =
[cloud9-npm] [cloud9-npm]
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
extends = extends =
../ca-certificates/buildout.cfg ../ca-certificates/buildout.cfg
../zlib/buildout.cfg ../zlib/buildout.cfg
../patch/buildout.cfg
parts = parts =
openssl openssl
...@@ -30,6 +31,7 @@ download-only = true ...@@ -30,6 +31,7 @@ download-only = true
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = https://www.openssl.org/source/openssl-1.0.1.tar.gz url = https://www.openssl.org/source/openssl-1.0.1.tar.gz
md5sum = 134f168bc2a8333f19f81d684841710b md5sum = 134f168bc2a8333f19f81d684841710b
patch-binary = ${patch:location}/bin/patch
patches = patches =
${openssl-nodoc.patch:location}/${openssl-nodoc.patch:filename} ${openssl-nodoc.patch:location}/${openssl-nodoc.patch:filename}
${openssl-exlibs.patch:location}/${openssl-exlibs.patch:filename} ${openssl-exlibs.patch:location}/${openssl-exlibs.patch:filename}
......
...@@ -11,7 +11,7 @@ extends = ...@@ -11,7 +11,7 @@ extends =
[pkgconfig] [pkgconfig]
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://pkgconfig.freedesktop.org/releases/pkg-config-0.26.tar.gz url = ftp://mirror.ovh.net/gentoo-distfiles/distfiles/pkg-config-0.26.tar.gz
md5sum = 47525c26a9ba7ba14bf85e01509a7234 md5sum = 47525c26a9ba7ba14bf85e01509a7234
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
# build pkg-config twice so that second configure can use pkg-config # build pkg-config twice so that second configure can use pkg-config
......
...@@ -19,6 +19,7 @@ extends = ...@@ -19,6 +19,7 @@ extends =
../sqlite3/buildout.cfg ../sqlite3/buildout.cfg
../swig/buildout.cfg ../swig/buildout.cfg
../zlib/buildout.cfg ../zlib/buildout.cfg
../patch/buildout.cfg
parts = parts =
slapos slapos
...@@ -27,7 +28,6 @@ parts = ...@@ -27,7 +28,6 @@ parts =
find-links = find-links =
http://www.nexedi.org/static/packages/source/slapos.buildout/ http://www.nexedi.org/static/packages/source/slapos.buildout/
http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/
versions = versions versions = versions
...@@ -48,7 +48,7 @@ allowed-eggs-from-site-packages = ...@@ -48,7 +48,7 @@ allowed-eggs-from-site-packages =
[environment] [environment]
# Note: For now original PATH is appeneded to the end, as not all tools are # Note: For now original PATH is appeneded to the end, as not all tools are
# provided by SlapOS # provided by SlapOS
PATH=${bison:location}/bin:${bzip2:location}/bin:${gettext:location}/bin:${glib:location}/bin:${libxml2:location}/bin:${libxslt:location}/bin:${m4:location}/bin:${ncurses:location}/bin:${openssl:location}/bin:${pkgconfig:location}/bin:${python2.7:location}/bin:${readline:location}/bin:${sqlite3:location}/bin:${swig:location}/bin:${buildout:bin-directory}:$PATH PATH=${bison:location}/bin:${bzip2:location}/bin:${gettext:location}/bin:${glib:location}/bin:${libxml2:location}/bin:${libxslt:location}/bin:${m4:location}/bin:${ncurses:location}/bin:${openssl:location}/bin:${pkgconfig:location}/bin:${python2.7:location}/bin:${readline:location}/bin:${sqlite3:location}/bin:${swig:location}/bin:${buildout:bin-directory}:${patch:location}/bin:$PATH
CFLAGS=-I${bzip2:location}/include -I${gdbm:location}/include -I${gettext:location}/include -I${glib:location}/include -I${libxml2:location}/include -I${libxslt:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${popt:location}/include -I${readline:location}/include -I${sqlite3:location}/include -I${zlib:location}/include CFLAGS=-I${bzip2:location}/include -I${gdbm:location}/include -I${gettext:location}/include -I${glib:location}/include -I${libxml2:location}/include -I${libxslt:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${popt:location}/include -I${readline:location}/include -I${sqlite3:location}/include -I${zlib:location}/include
CPPFLAGS=${:CFLAGS} CPPFLAGS=${:CFLAGS}
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${gdbm:location}/lib -Wl,-rpath=${gdbm:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${glib:location}/lib -Wl,-rpath=${glib:location}/lib -L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${libxslt:location}/lib -Wl,-rpath=${libxslt:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib -L${popt:location}/lib -Wl,-rpath=${popt:location}/lib -L${readline:location}/lib -Wl,-rpath=${readline:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${gdbm:location}/lib -Wl,-rpath=${gdbm:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${glib:location}/lib -Wl,-rpath=${glib:location}/lib -L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${libxslt:location}/lib -Wl,-rpath=${libxslt:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib -L${popt:location}/lib -Wl,-rpath=${popt:location}/lib -L${readline:location}/lib -Wl,-rpath=${readline:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
...@@ -114,9 +114,7 @@ scripts = ...@@ -114,9 +114,7 @@ scripts =
[versions] [versions]
zc.buildout = 1.6.0-dev-SlapOS-006 zc.buildout = 1.6.0-dev-SlapOS-006
hexagonit.recipe.download = 1.5.1-dev-slapos-002
# Generated by buildout-versions
Jinja2 = 2.6 Jinja2 = 2.6
Pygments = 1.5 Pygments = 1.5
Werkzeug = 0.8.3 Werkzeug = 0.8.3
...@@ -125,17 +123,17 @@ collective.recipe.template = 1.9 ...@@ -125,17 +123,17 @@ collective.recipe.template = 1.9
docutils = 0.9.1 docutils = 0.9.1
hexagonit.recipe.cmmi = 1.6 hexagonit.recipe.cmmi = 1.6
ipython = 0.13 ipython = 0.13
lxml = 2.3.4 lxml = 2.3.5
meld3 = 0.6.8 meld3 = 0.6.8
netaddr = 0.7.7 netaddr = 0.7.7
slapos.core = 0.26.1 slapos.core = 0.27
slapos.libnetworkcache = 0.12 slapos.libnetworkcache = 0.12
xml-marshaller = 0.9.7 xml-marshaller = 0.9.7
z3c.recipe.scripts = 1.0.1 z3c.recipe.scripts = 1.0.1
zc.recipe.egg = 1.3.2 zc.recipe.egg = 1.3.2
# Required by: # Required by:
# slapos.core==0.26.1 # slapos.core==0.27
Flask = 0.9 Flask = 0.9
# Required by: # Required by:
...@@ -143,11 +141,15 @@ Flask = 0.9 ...@@ -143,11 +141,15 @@ Flask = 0.9
Sphinx = 1.1.3 Sphinx = 1.1.3
# Required by: # Required by:
# slapos.core==0.26.1 # hexagonit.recipe.cmmi==1.6
hexagonit.recipe.download = 1.5.1
# Required by:
# slapos.core==0.27
netifaces = 0.8 netifaces = 0.8
# Required by: # Required by:
# slapos.core==0.26.1 # slapos.core==0.27
# slapos.libnetworkcache==0.12 # slapos.libnetworkcache==0.12
# supervisor==3.0a12 # supervisor==3.0a12
# zc.buildout==1.6.0-dev-SlapOS-006 # zc.buildout==1.6.0-dev-SlapOS-006
...@@ -155,9 +157,9 @@ netifaces = 0.8 ...@@ -155,9 +157,9 @@ netifaces = 0.8
setuptools = 0.6c12dev-r88846 setuptools = 0.6c12dev-r88846
# Required by: # Required by:
# slapos.core==0.26.1 # slapos.core==0.27
supervisor = 3.0a12 supervisor = 3.0a12
# Required by: # Required by:
# slapos.core==0.26.1 # slapos.core==0.27
zope.interface = 4.0.1 zope.interface = 4.0.1
...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages ...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
import glob import glob
import os import os
version = '0.60-dev' version = '0.61-dev'
name = 'slapos.cookbook' name = 'slapos.cookbook'
long_description = open("README.txt").read() + "\n" + \ long_description = open("README.txt").read() + "\n" + \
open("CHANGES.txt").read() + "\n" open("CHANGES.txt").read() + "\n"
...@@ -100,6 +100,7 @@ setup(name=name, ...@@ -100,6 +100,7 @@ setup(name=name,
'pwgen = slapos.recipe.pwgen:Recipe', 'pwgen = slapos.recipe.pwgen:Recipe',
'proactive = slapos.recipe.proactive:Recipe', 'proactive = slapos.recipe.proactive:Recipe',
'request = slapos.recipe.request:Recipe', 'request = slapos.recipe.request:Recipe',
'requestoptional = slapos.recipe.requestoptional:Recipe',
'seleniumrunner = slapos.recipe.seleniumrunner:Recipe', 'seleniumrunner = slapos.recipe.seleniumrunner:Recipe',
'sheepdogtestbed = slapos.recipe.sheepdogtestbed:SheepDogTestBed', 'sheepdogtestbed = slapos.recipe.sheepdogtestbed:SheepDogTestBed',
'shell = slapos.recipe.shell:Recipe', 'shell = slapos.recipe.shell:Recipe',
......
...@@ -3,14 +3,20 @@ ...@@ -3,14 +3,20 @@
# BEWARE: It will be overwritten automatically # BEWARE: It will be overwritten automatically
URL="%(url)s" URL="%(url)s"
if [ -z $URL ]; then
echo "No URL specified." >&2
exit 3
fi
CODE=$(%(curl_path)s -k -sL $URL -w %%{http_code} -o /dev/null) CODE=$(%(curl_path)s -k -sL $URL -w %%{http_code} -o /dev/null)
if [ $CODE -eq 000 ]; then if [ $CODE -eq 000 ]; then
echo "$URL is not available (server not reachable)" >&2 echo "$URL is not available (server not reachable)." >&2
exit 1 exit 1
fi fi
if ! [ $CODE -eq 200 ]; then if ! [ $CODE -eq 200 ]; then
echo "$URL is not available (returned $CODE)" >&2 echo "$URL is not available (returned $CODE)." >&2
exit 2 exit 2
fi fi
##############################################################################
#
# Copyright (c) 2010 Vifib SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import logging
from slapos import slap as slapmodule
class Recipe(object):
""" Request a SlapOS instance. Won't fail if instance is not ready.
"""
def __init__(self, buildout, name, options):
self.logger = logging.getLogger(name)
slap = slapmodule.slap()
self.software_release_url = options['software-url']
self.name = options['name']
slap.initializeConnection(options['server-url'],
options.get('key-file'),
options.get('cert-file'),
)
computer_partition = slap.registerComputerPartition(
options['computer-id'], options['partition-id'])
self.request = computer_partition.request
self.isSlave = False
if 'slave' in options:
self.isSlave = options['slave'].lower() in ['y', 'yes', 'true', '1']
self.return_parameters = []
if 'return' in options:
self.return_parameters = [str(parameter).strip()
for parameter in options['return'].split()]
else:
self.logger.debug("No parameter to return to main instance."
"Be careful about that...")
software_type = 'RootSoftwareInstance'
if 'software-type' in options:
software_type = options['software-type']
filter_kw = {}
if 'sla' in options:
for sla_parameter in options['sla'].split():
filter_kw[sla_parameter] = options['sla-%s' % sla_parameter]
partition_parameter_kw = {}
if 'config' in options:
for config_parameter in options['config'].split():
partition_parameter_kw[config_parameter] = \
options['config-%s' % config_parameter]
self.instance = self.request(options['software-url'], software_type,
self.name, partition_parameter_kw=partition_parameter_kw,
filter_kw=filter_kw, shared=self.isSlave)
self.failed = None
for param in self.return_parameters:
try:
options['connection-%s' % param] = str(
self.instance.getConnectionParameter(param))
except slapmodule.NotFoundError:
options['connection-%s' % param] = ''
if self.failed is None:
self.failed = param
def install(self):
if self.failed is not None:
# Check instance status to know if instance has been deployed
try:
status = self.instance.getState()
except slapmodule.NotFoundError:
status = 'not ready yet'
except AttributeError:
status = 'unknown'
error_message = 'Connection parameter %s not found. '\
'Requested instance is currently %s. If this error persists, '\
'check status of this instance.' % (self.failed, status)
self.logger.error(error_message)
return []
update = install
...@@ -58,6 +58,7 @@ class Recipe(GenericBaseRecipe): ...@@ -58,6 +58,7 @@ class Recipe(GenericBaseRecipe):
supervisord_config=os.path.join(self.instance_directory, 'etc', supervisord_config=os.path.join(self.instance_directory, 'etc',
'supervisord.conf'), 'supervisord.conf'),
runner_workdir=self.workdir, runner_workdir=self.workdir,
etc_dir=self.options['etc_dir'],
runner_host=self.ipv6, runner_host=self.ipv6,
runner_port=self.runner_port, runner_port=self.runner_port,
ipv4_address=self.ipv4, ipv4_address=self.ipv4,
......
...@@ -19,6 +19,7 @@ runner_host = %(runner_host)s ...@@ -19,6 +19,7 @@ runner_host = %(runner_host)s
runner_port = %(runner_port)s runner_port = %(runner_port)s
ipv4_address = %(ipv4_address)s ipv4_address = %(ipv4_address)s
ipv6_address = %(ipv6_address)s ipv6_address = %(ipv6_address)s
etc_dir = %(etc_dir)s
[slapproxy] [slapproxy]
host = %(proxy_host)s host = %(proxy_host)s
......
...@@ -124,5 +124,6 @@ class Recipe(BaseSlapRecipe): ...@@ -124,5 +124,6 @@ class Recipe(BaseSlapRecipe):
self.parameter_dict['hostname'], self.parameter_dict['hostname'],
self.parameter_dict['server']) self.parameter_dict['server'])
self.setConnectionDict(dict(ip=zabbix_agentd_conf['ip'], self.setConnectionDict(dict(ip=zabbix_agentd_conf['ip'],
name=zabbix_agentd_conf['hostname'], port=zabbix_agentd_conf['port'])) name=zabbix_agentd_conf['hostname'],
port=str(zabbix_agentd_conf['port'])))
return self.path_list return self.path_list
...@@ -5,8 +5,8 @@ extends = ...@@ -5,8 +5,8 @@ extends =
[application] [application]
recipe = slapos.recipe.build:download-unpacked recipe = slapos.recipe.build:download-unpacked
url = http://ftp.drupal.org/files/projects/drupal-7.14.tar.gz url = http://ftp.drupal.org/files/projects/drupal-7.15.tar.gz
md5sum = af7abd95c03ecad4e1567ed94a438334 md5sum = f42c9baccd74e1d035d61ff537ae21b4
[application-template] [application-template]
recipe = slapos.recipe.download recipe = slapos.recipe.download
......
...@@ -41,6 +41,12 @@ project = $${:home}/project ...@@ -41,6 +41,12 @@ project = $${:home}/project
software-root = $${:home}/software software-root = $${:home}/software
instance-root = $${:home}/instance instance-root = $${:home}/instance
#Create password recovery code for slaprunner
[recovery-code]
recipe = slapos.cookbook:generate.password
storage-path = $${rootdirectory:etc}/.rcode
bytes = 4
# Deploy cloud9 and slaprunner # Deploy cloud9 and slaprunner
[cloud9] [cloud9]
recipe = slapos.cookbook:cloud9 recipe = slapos.cookbook:cloud9
...@@ -65,6 +71,8 @@ working-directory = $${runnerdirectory:home} ...@@ -65,6 +71,8 @@ working-directory = $${runnerdirectory:home}
project-directory = $${runnerdirectory:project} project-directory = $${runnerdirectory:project}
software-directory = $${runnerdirectory:software-root} software-directory = $${runnerdirectory:software-root}
instance-directory = $${runnerdirectory:instance-root} instance-directory = $${runnerdirectory:instance-root}
etc_dir = $${rootdirectory:etc}
log_dir = $${basedirectory:log}
ssh_client = $${sshkeys-dropbear:wrapper} ssh_client = $${sshkeys-dropbear:wrapper}
public_key = $${sshkeys-dropbear:public-key} public_key = $${sshkeys-dropbear:public-key}
private_key = $${sshkeys-dropbear:private-key} private_key = $${sshkeys-dropbear:private-key}
...@@ -118,7 +126,7 @@ key = $${slap-parameter:authorized-key} ...@@ -118,7 +126,7 @@ key = $${slap-parameter:authorized-key}
# Request frontend # Request frontend
[request-frontend] [request-frontend]
<= slap-connection <= slap-connection
recipe = slapos.cookbook:request recipe = slapos.cookbook:requestoptional
name = Frontend name = Frontend
# XXX We have hardcoded SR URL here. # XXX We have hardcoded SR URL here.
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
...@@ -135,7 +143,7 @@ backend_url = $${slaprunner:access-url} ...@@ -135,7 +143,7 @@ backend_url = $${slaprunner:access-url}
url = $${request-frontend:connection-site_url} url = $${request-frontend:connection-site_url}
cloud9_url = $${cloud9:access-url} cloud9_url = $${cloud9:access-url}
ssh_command = ssh $${dropbear-server:host} -p $${dropbear-server:port} ssh_command = ssh $${dropbear-server:host} -p $${dropbear-server:port}
password_recovery_code = $${recovery-code:passwd}
[slap-parameter] [slap-parameter]
# Default value if no ssh key is specified # Default value if no ssh key is specified
......
...@@ -23,14 +23,14 @@ md5sum = 5307e4200f044ae57b504ad68444491c ...@@ -23,14 +23,14 @@ md5sum = 5307e4200f044ae57b504ad68444491c
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-runner.cfg url = ${:_profile_base_location_}/instance-runner.cfg
output = ${buildout:directory}/template-runner.cfg output = ${buildout:directory}/template-runner.cfg
md5sum = 0ddddd0be595df4fb15d55e566cc3bc3 md5sum = 963ef5b43cd52a5804a6d254d842cae5
mode = 0644 mode = 0644
[eggs] [eggs]
recipe = z3c.recipe.scripts recipe = z3c.recipe.scripts
eggs = eggs =
slapos.libnetworkcache slapos.libnetworkcache
slapos.toolbox slapos.toolbox[flask_auth]
slapos.core slapos.core
[networkcache] [networkcache]
...@@ -52,42 +52,39 @@ signature-certificate-list = ...@@ -52,42 +52,39 @@ signature-certificate-list =
-----END CERTIFICATE----- -----END CERTIFICATE-----
[versions] [versions]
Flask-Auth = 0.8
Jinja2 = 2.6 Jinja2 = 2.6
Pygments = 1.5 Pygments = 1.5
Werkzeug = 0.8.3 Werkzeug = 0.8.3
apache-libcloud = 0.10.1 apache-libcloud = 0.11.1
async = 0.6.1 async = 0.6.1
buildout-versions = 1.7 buildout-versions = 1.7
docutils = 0.9.1 docutils = 0.9.1
gitdb = 0.5.4 gitdb = 0.5.4
hexagonit.recipe.cmmi = 1.6 hexagonit.recipe.cmmi = 1.6
ipython = 0.13 ipython = 0.13
lxml = 2.3.4
meld3 = 0.6.8 meld3 = 0.6.8
netaddr = 0.7.7
plone.recipe.command = 1.1 plone.recipe.command = 1.1
pycrypto = 2.6 pycrypto = 2.6
slapos.cookbook = 0.58 slapos.cookbook = 0.60
slapos.core = 0.26.2
slapos.libnetworkcache = 0.12 slapos.libnetworkcache = 0.12
slapos.recipe.build = 0.9 slapos.recipe.build = 0.10.2
slapos.recipe.template = 2.4 slapos.recipe.template = 2.4.1
slapos.toolbox = 0.26 slapos.toolbox = 0.28
smmap = 0.8.2 smmap = 0.8.2
xml-marshaller = 0.9.7
z3c.recipe.scripts = 1.0.1 z3c.recipe.scripts = 1.0.1
# Required by: # Required by:
# slapos.core==0.26.2 # slapos.core==0.27
# slapos.toolbox==0.26 # slapos.toolbox==0.28
Flask = 0.9 Flask = 0.9
# Required by: # Required by:
# slapos.toolbox==0.26 # slapos.toolbox==0.28
GitPython = 0.3.2.RC1 GitPython = 0.3.2.RC1
# Required by: # Required by:
# slapos.cookbook==0.58 # slapos.cookbook==0.60
PyXML = 0.8.4 PyXML = 0.8.4
# Required by: # Required by:
...@@ -95,46 +92,70 @@ PyXML = 0.8.4 ...@@ -95,46 +92,70 @@ PyXML = 0.8.4
Sphinx = 1.1.3 Sphinx = 1.1.3
# Required by: # Required by:
# slapos.toolbox==0.26 # slapos.toolbox==0.28
atomize = 0.1.1 atomize = 0.1.1
# Required by: # Required by:
# slapos.toolbox==0.26 # slapos.toolbox==0.28
feedparser = 5.1.2 feedparser = 5.1.2
# Required by: # Required by:
# slapos.cookbook==0.58 # hexagonit.recipe.cmmi==1.6
hexagonit.recipe.download = 1.5.1
# Required by:
# slapos.cookbook==0.60
inotifyx = 0.2.0 inotifyx = 0.2.0
# Required by: # Required by:
# slapos.core==0.26.2 # slapos.core==0.27
# slapos.toolbox==0.28
# xml-marshaller==0.9.7
lxml = 2.3.5
# Required by:
# slapos.cookbook==0.60
netaddr = 0.7.7
# Required by:
# slapos.core==0.27
netifaces = 0.8 netifaces = 0.8
# Required by: # Required by:
# slapos.toolbox==0.26 # slapos.toolbox==0.28
paramiko = 1.7.7.2 paramiko = 1.7.7.2
# Required by: # Required by:
# slapos.toolbox==0.26 # slapos.toolbox==0.28
psutil = 0.5.1 psutil = 0.6.0
# Required by: # Required by:
# slapos.cookbook==0.58 # slapos.cookbook==0.60
# slapos.core==0.26.2 # slapos.core==0.27
# slapos.libnetworkcache==0.12 # slapos.libnetworkcache==0.12
# slapos.toolbox==0.26 # slapos.toolbox==0.28
# supervisor==3.0a12 # supervisor==3.0a12
# zc.buildout==1.6.0-dev-SlapOS-006
# zc.recipe.egg==1.3.2
# zope.interface==4.0.1 # zope.interface==4.0.1
setuptools = 0.6c12dev-r88846 setuptools = 0.6c12dev-r88846
# Required by: # Required by:
# slapos.core==0.26.2 # slapos.cookbook==0.60
slapos.core = 0.27
# Required by:
# slapos.core==0.27
supervisor = 3.0a12 supervisor = 3.0a12
# Required by: # Required by:
# slapos.cookbook==0.58 # slapos.cookbook==0.60
xml-marshaller = 0.9.7
# Required by:
# slapos.cookbook==0.60
zc.recipe.egg = 1.3.2 zc.recipe.egg = 1.3.2
# Required by: # Required by:
# slapos.core==0.26.2 # slapos.core==0.27
zope.interface = 4.0.1 zope.interface = 4.0.1
...@@ -18,6 +18,24 @@ md5sum = 98a680fe8fddce5dcee455e65c228fde ...@@ -18,6 +18,24 @@ md5sum = 98a680fe8fddce5dcee455e65c228fde
output = ${buildout:directory}/template.cfg output = ${buildout:directory}/template.cfg
mode = 0644 mode = 0644
[networkcache]
# signature certificates of the following uploaders.
# Cedric de Saint Martin
signature-certificate-list =
-----BEGIN CERTIFICATE-----
MIIB9jCCAV+gAwIBAgIJAO4V/jiMoICoMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV
BAMMCENPTVAtMjMyMCAXDTEyMDIxNjExMTAyM1oYDzIxMTIwMTIzMTExMDIzWjAT
MREwDwYDVQQDDAhDT01QLTIzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
wi/3Z8W9pUiegUXIk/AiFDQ0UJ4JFAwjqr+HSRUirlUsHHT+8DzH/hfcTDX1I5BB
D1ADk+ydXjMm3OZrQcXjn29OUfM5C+g+oqeMnYQImN0DDQIOcUyr7AJc4xhvuXQ1
P2pJ5NOd3tbd0kexETa1LVhR6EgBC25LyRBRae76qosCAwEAAaNQME4wHQYDVR0O
BBYEFMDmW9aFy1sKTfCpcRkYnP6zUd1cMB8GA1UdIwQYMBaAFMDmW9aFy1sKTfCp
cRkYnP6zUd1cMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAskbFizHr
b6d3iIyN+wffxz/V9epbKIZVEGJd/6LrTdLiUfJPec7FaxVCWNyKBlCpINBM7cEV
Gn9t8mdVQflNqOlAMkOlUv1ZugCt9rXYQOV7rrEYJBWirn43BOMn9Flp2nibblby
If1a2ZoqHRxoNo2yTmm7TSYRORWVS+vvfjY=
-----END CERTIFICATE-----
[versions] [versions]
Jinja2 = 2.6 Jinja2 = 2.6
Pygments = 1.5 Pygments = 1.5
...@@ -34,6 +52,10 @@ slapos.recipe.template = 2.4 ...@@ -34,6 +52,10 @@ slapos.recipe.template = 2.4
# slapos.core==0.26.2 # slapos.core==0.26.2
Flask = 0.9 Flask = 0.9
# Required by:
# hexagonit.recipe.cmmi==1.6
hexagonit.recipe.download = 1.5.1
# Required by: # Required by:
# slapos.cookbook==0.59 # slapos.cookbook==0.59
PyXML = 0.8.4 PyXML = 0.8.4
......
# Stack for Flask microframework: http://flask.pocoo.org/ # Stack for Flask microframework: http://flask.pocoo.org/
[buildout] [buildout]
extends = extends =
../component/python-2.7/buildout.cfg slapos.cfg
../component/lxml-python/buildout.cfg
# Use only quite well working sites.
allow-hosts =
*.nexedi.org
*.python.org
*.sourceforge.net
dist.repoze.org
effbot.org
github.com
peak.telecommunity.com
psutil.googlecode.com
www.dabeaz.com
parts = parts =
eggs slapos-cookbook
flask-egg
# Unzip, as Flask can have a lot of troubles with zipped eggs
unzip = true
[eggs] [flask-egg]
python = python2.7
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
${lxml-python:egg}
Flask Flask
slapos.cookbook
[lxml-python]
python = python2.7
...@@ -66,7 +66,7 @@ mode = 0644 ...@@ -66,7 +66,7 @@ mode = 0644
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-apache-php.cfg url = ${:_profile_base_location_}/instance-apache-php.cfg
output = ${buildout:directory}/template-apache-php.cfg output = ${buildout:directory}/template-apache-php.cfg
md5sum = ae9c0f8c70a62f13eb948424c99d71e2 md5sum = 8bb0b03689d2be9566ed1ef3e96b4403
mode = 0644 mode = 0644
[template-apache-backup] [template-apache-backup]
...@@ -193,34 +193,34 @@ signature-certificate-list = ...@@ -193,34 +193,34 @@ signature-certificate-list =
Jinja2 = 2.6 Jinja2 = 2.6
Pygments = 1.5 Pygments = 1.5
Werkzeug = 0.8.3 Werkzeug = 0.8.3
apache-libcloud = 0.10.1 apache-libcloud = 0.11.1
async = 0.6.1 async = 0.6.1
buildout-versions = 1.7 buildout-versions = 1.7
docutils = 0.9.1 docutils = 0.9.1
gitdb = 0.5.4 gitdb = 0.5.4
hexagonit.recipe.cmmi = 1.5.1 hexagonit.recipe.cmmi = 1.6
ipython = 0.12.1 ipython = 0.13
meld3 = 0.6.8 meld3 = 0.6.8
pycrypto = 2.6 pycrypto = 2.6
rdiff-backup = 1.0.5 rdiff-backup = 1.0.5
slapos.cookbook = 0.55 slapos.cookbook = 0.60
slapos.recipe.build = 0.9 slapos.recipe.build = 0.10.2
slapos.recipe.download = 1.0.dev-r4053 slapos.recipe.download = 1.0.dev-r4053
slapos.recipe.template = 2.4 slapos.recipe.template = 2.4.1
slapos.toolbox = 0.25 slapos.toolbox = 0.28
smmap = 0.8.2 smmap = 0.8.2
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.27
# slapos.toolbox==0.25 # slapos.toolbox==0.28
Flask = 0.8 Flask = 0.9
# Required by: # Required by:
# slapos.toolbox==0.25 # slapos.toolbox==0.28
GitPython = 0.3.2.RC1 GitPython = 0.3.2.RC1
# Required by: # Required by:
# slapos.cookbook==0.55 # slapos.cookbook==0.60
PyXML = 0.8.4 PyXML = 0.8.4
# Required by: # Required by:
...@@ -228,65 +228,69 @@ PyXML = 0.8.4 ...@@ -228,65 +228,69 @@ PyXML = 0.8.4
Sphinx = 1.1.3 Sphinx = 1.1.3
# Required by: # Required by:
# slapos.toolbox==0.25 # slapos.toolbox==0.28
atomize = 0.1.1 atomize = 0.1.1
# Required by: # Required by:
# slapos.toolbox==0.25 # slapos.toolbox==0.28
feedparser = 5.1.2 feedparser = 5.1.2
# Required by: # Required by:
# slapos.cookbook==0.55 # hexagonit.recipe.cmmi==1.6
hexagonit.recipe.download = 1.5.1
# Required by:
# slapos.cookbook==0.60
inotifyx = 0.2.0 inotifyx = 0.2.0
# Required by: # Required by:
# slapos.cookbook==0.55 # slapos.cookbook==0.60
# slapos.core==0.25 # slapos.core==0.27
# xml-marshaller==0.9.7 # xml-marshaller==0.9.7
lxml = 2.3.4 lxml = 2.3.5
# Required by: # Required by:
# slapos.cookbook==0.55 # slapos.cookbook==0.60
netaddr = 0.7.7 netaddr = 0.7.7
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.27
netifaces = 0.8 netifaces = 0.8
# Required by: # Required by:
# slapos.toolbox==0.25 # slapos.toolbox==0.28
paramiko = 1.7.7.2 paramiko = 1.7.7.2
# Required by: # Required by:
# slapos.toolbox==0.25 # slapos.toolbox==0.28
psutil = 0.4.1 psutil = 0.6.0
# Required by: # Required by:
# slapos.cookbook==0.55 # slapos.cookbook==0.60
# slapos.core==0.25 # slapos.core==0.27
# slapos.toolbox==0.25 # slapos.toolbox==0.28
# zc.buildout==1.6.0-dev-SlapOS-006 # zc.buildout==1.6.0-dev-SlapOS-006
# zc.recipe.egg==1.3.2 # zc.recipe.egg==1.3.2
setuptools = 0.6c12dev-r88846 setuptools = 0.6c12dev-r88846
# Required by: # Required by:
# slapos.cookbook==0.55 # slapos.cookbook==0.60
# slapos.toolbox==0.25 # slapos.toolbox==0.28
slapos.core = 0.25 slapos.core = 0.27
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.27
supervisor = 3.0a12 supervisor = 3.0a12
# Required by: # Required by:
# slapos.cookbook==0.55 # slapos.cookbook==0.60
# slapos.toolbox==0.25 # slapos.toolbox==0.28
xml-marshaller = 0.9.7 xml-marshaller = 0.9.7
# Required by: # Required by:
# slapos.cookbook==0.55 # slapos.cookbook==0.60
zc.recipe.egg = 1.3.2 zc.recipe.egg = 1.3.2
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.27
zope.interface = 4.0.1 zope.interface = 4.0.1
...@@ -66,7 +66,7 @@ stunnel-binary = ${stunnel:location}/bin/stunnel ...@@ -66,7 +66,7 @@ stunnel-binary = ${stunnel:location}/bin/stunnel
remote-host = $${mariadb-urlparse:host} remote-host = $${mariadb-urlparse:host}
remote-port = $${mariadb-urlparse:port} remote-port = $${mariadb-urlparse:port}
local-host = $${slap-network-information:local-ipv4} local-host = $${slap-network-information:local-ipv4}
local-port = 3306 local-port = 33060
log-file = $${basedirectory:log}/stunnel.log log-file = $${basedirectory:log}/stunnel.log
config-file = $${directory:stunnel-conf}/stunnel.conf config-file = $${directory:stunnel-conf}/stunnel.conf
key-file = $${directory:stunnel-conf}/stunnel.key key-file = $${directory:stunnel-conf}/stunnel.key
...@@ -201,7 +201,7 @@ command = $${logrotate:wrapper} ...@@ -201,7 +201,7 @@ command = $${logrotate:wrapper}
# Request frontend # Request frontend
[request-frontend] [request-frontend]
<= slap-connection <= slap-connection
recipe = slapos.cookbook:request recipe = slapos.cookbook:requestoptional
name = Frontend name = Frontend
# XXX We have hardcoded SR URL here. # XXX We have hardcoded SR URL here.
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
......
...@@ -11,6 +11,7 @@ extensions += ...@@ -11,6 +11,7 @@ extensions +=
# Use shacache and lxml # Use shacache and lxml
extends = extends =
../component/lxml-python/buildout.cfg
shacache-client.cfg shacache-client.cfg
# Separate from site eggs # Separate from site eggs
...@@ -50,11 +51,9 @@ versions = versions ...@@ -50,11 +51,9 @@ versions = versions
[slapos-cookbook] [slapos-cookbook]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
${lxml-python:egg}
slapos.cookbook slapos.cookbook
[versions] [versions]
# Use patched hexagonit.recipe.download from
# https://github.com/SlapOS/hexagonit.recipe.download
hexagonit.recipe.download = 1.5.1-dev-slapos-002
# Use SlapOS patched zc.buildout # Use SlapOS patched zc.buildout
zc.buildout = 1.6.0-dev-SlapOS-006 zc.buildout = 1.6.0-dev-SlapOS-006
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