Commit 2af51b35 authored by Rafael Monnerat's avatar Rafael Monnerat

Update Release candidate

parents 0aaa7f94 73c7af4b
...@@ -5,6 +5,7 @@ extends = ...@@ -5,6 +5,7 @@ extends =
../libtiff/buildout.cfg ../libtiff/buildout.cfg
../libxml2/buildout.cfg ../libxml2/buildout.cfg
../pkgconfig/buildout.cfg ../pkgconfig/buildout.cfg
../xz-utils/buildout.cfg
parts = ghostscript parts = ghostscript
...@@ -22,7 +23,7 @@ configure-options = ...@@ -22,7 +23,7 @@ configure-options =
# it seems that parallel build sometimes fails for ghostscript. # it seems that parallel build sometimes fails for ghostscript.
make-options = -j1 make-options = -j1
environment = environment =
PATH=${pkgconfig:location}/bin:%(PATH)s PATH=${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends} PKG_CONFIG_PATH=${:pkg_config_depends}
LDFLAGS=-Wl,-rpath=${fontconfig:location}/lib -Wl,-rpath=${freetype:location}/lib -Wl,-rpath=${libtiff:location}/lib LDFLAGS=-Wl,-rpath=${fontconfig:location}/lib -Wl,-rpath=${freetype:location}/lib -Wl,-rpath=${libtiff:location}/lib
LD_LIBRARY_PATH=${fontconfig:location}/lib:${freetype:location}/lib:${libtiff:location}/lib:${libxml2:location}/lib LD_LIBRARY_PATH=${fontconfig:location}/lib:${freetype:location}/lib:${libtiff:location}/lib:${libxml2:location}/lib
...@@ -32,12 +33,11 @@ environment = ...@@ -32,12 +33,11 @@ environment =
[ghostscript-9] [ghostscript-9]
<= ghostscript-common <= ghostscript-common
url = http://downloads.ghostscript.com/public/ghostscript-9.18.tar.bz2 url = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs920/ghostscript-9.20.tar.xz
md5sum = aa125af368d89b3dbd15fc379f13375f md5sum = 8f3d383d48da22345937b66b01ab2960
[ghostscript-fonts] [ghostscript-fonts]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true ignore-existing = true
url = http://downloads.sourceforge.net/project/gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-8.11.tar.gz url = http://downloads.ghostscript.com/public/fonts/urw-base35-v1.10.zip
md5sum = 6865682b095f8c4500c54b285ff05ef6 md5sum = 66e8bbd8228519d5dba82b9433a61bb0
strip-top-level-dir = true
...@@ -14,12 +14,11 @@ extends = ...@@ -14,12 +14,11 @@ extends =
[groonga] [groonga]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/groonga/groonga-6.0.8.tar.gz url = http://packages.groonga.org/source/groonga/groonga-6.0.9.tar.gz
md5sum = 42c78baddfca42d3a19fe8b06fac821d md5sum = 792d6a70536c888b2007f6ef55e9e1c0
# temporary patch to respect more tokens in natural language mode. # temporary patch to respect more tokens in natural language mode.
patches = patches =
${:_profile_base_location_}/groonga.patch#9ed02fbe8400402d3eab47eee149978b ${:_profile_base_location_}/groonga.patch#9ed02fbe8400402d3eab47eee149978b
${:_profile_base_location_}/groonga-6.0.8-bugfix04107.patch#7618361b006abdbcceb1fa1df0bd2136
patch-options = -p1 patch-options = -p1
configure-options = configure-options =
--disable-static --disable-static
......
diff --git a/lib/ii.c b/lib/ii.c
index 97b34ec..9523cf7 100644
--- a/lib/ii.c
+++ b/lib/ii.c
@@ -5110,14 +5110,18 @@ grn_ii_cursor_next_internal(grn_ctx *ctx, grn_ii_cursor *c,
c->pb.rid = 0;
if (br->jump > 0 && !BUFFER_REC_DELETED(br)) {
buffer_rec *jump_br = BUFFER_REC_AT(c->buf, br->jump);
- uint8_t *jump_bp;
- uint32_t jump_rid;
- jump_bp = GRN_NEXT_ADDR(jump_br);
- GRN_B_DEC(jump_rid, jump_bp);
- if (jump_rid < c->min) {
- c->nextb = br->jump;
- } else {
+ if (BUFFER_REC_DELETED(jump_br)) {
c->nextb = br->step;
+ } else {
+ uint8_t *jump_bp;
+ uint32_t jump_rid;
+ jump_bp = GRN_NEXT_ADDR(jump_br);
+ GRN_B_DEC(jump_rid, jump_bp);
+ if (jump_rid < c->min) {
+ c->nextb = br->jump;
+ } else {
+ c->nextb = br->step;
+ }
}
} else {
c->nextb = br->step;
...@@ -22,9 +22,9 @@ parts = ...@@ -22,9 +22,9 @@ parts =
[mariadb] [mariadb]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
version = 10.1.17 version = 10.1.18
url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb/?serve url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb/?serve
md5sum = 036aca95257cb2948dd100605ec6d5a1 md5sum = 173b88ab54bdd1fc51483b6b26bef849
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
patch-options = -p0 patch-options = -p0
patches = patches =
...@@ -70,8 +70,8 @@ post-install = ...@@ -70,8 +70,8 @@ post-install =
# mroonga - a storage engine for MySQL. It provides fast fulltext search feature to all MySQL users. # mroonga - a storage engine for MySQL. It provides fast fulltext search feature to all MySQL users.
# http://mroonga.github.com/ # http://mroonga.github.com/
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/mroonga/mroonga-6.08.tar.gz url = http://packages.groonga.org/source/mroonga/mroonga-6.09.tar.gz
md5sum = 10c13aa9f7e520d93799be893aa44d3c md5sum = ac8672d81d6a8ceb13c2a9092f19541f
pre-configure = pre-configure =
mkdir fake_mariadb_source && mkdir fake_mariadb_source &&
ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql
......
...@@ -155,6 +155,7 @@ class Recipe(object): ...@@ -155,6 +155,7 @@ class Recipe(object):
'UNKNOWN Instance').encode('UTF-8') 'UNKNOWN Instance').encode('UTF-8')
options['root-instance-title'] = parameter_dict.pop('root_instance_title', options['root-instance-title'] = parameter_dict.pop('root_instance_title',
'UNKNOWN').encode('UTF-8') 'UNKNOWN').encode('UTF-8')
options['instance-guid'] = computer_partition.getInstanceGuid()
ipv4_set = set() ipv4_set = set()
v4_add = ipv4_set.add v4_add = ipv4_set.add
......
...@@ -48,31 +48,32 @@ ecdsa = 0.13 ...@@ -48,31 +48,32 @@ ecdsa = 0.13
erp5.util = 0.4.46 erp5.util = 0.4.46
gitdb = 0.6.4 gitdb = 0.6.4
pycrypto = 2.6.1 pycrypto = 2.6.1
pycurl = 7.43.0
slapos.recipe.download = 1.0 slapos.recipe.download = 1.0
slapos.recipe.template = 2.8 slapos.recipe.template = 2.8
slapos.toolbox = 0.59 slapos.toolbox = 0.60
smmap = 0.9.0 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
GitPython = 2.0.8 GitPython = 2.0.8
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
feedparser = 5.2.1 feedparser = 5.2.1
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
lockfile = 0.12.2 lockfile = 0.12.2
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
paramiko = 2.0.1 paramiko = 2.0.1
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
rpdb = 0.1.5 rpdb = 0.1.5
...@@ -11,29 +11,33 @@ plone.recipe.command = 1.1 ...@@ -11,29 +11,33 @@ plone.recipe.command = 1.1
pycrypto = 2.6.1 pycrypto = 2.6.1
rdiff-backup = 1.0.5 rdiff-backup = 1.0.5
slapos.recipe.template = 2.8 slapos.recipe.template = 2.8
slapos.toolbox = 0.59 slapos.toolbox = 0.60
smmap = 0.9.0 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
GitPython = 2.0.8 GitPython = 2.0.8
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
feedparser = 5.2.1 feedparser = 5.2.1
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
lockfile = 0.12.2 lockfile = 0.12.2
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
paramiko = 2.0.1 paramiko = 2.0.1
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
pycurl = 7.43.0
# Required by:
# slapos.toolbox = 0.60
rpdb = 0.1.5 rpdb = 0.1.5
...@@ -48,7 +48,7 @@ scipy = 0.13.3 ...@@ -48,7 +48,7 @@ scipy = 0.13.3
simpy = 3.0.5 simpy = 3.0.5
zope.dottedname = 4.1.0 zope.dottedname = 4.1.0
tablib = 0.10.0 tablib = 0.10.0
mysqlclient = 1.3.7 mysqlclient = 1.3.9
# indirect dependancies # indirect dependancies
cp.recipe.cmd = 0.5 cp.recipe.cmd = 0.5
......
{% set sla_dict = {} -%}
{% for sla, ref_list in slapparameter_dict.get('sla-dict', {}).iteritems() -%}
{% do sla_dict.update(dict.fromkeys(ref_list, sla)) -%}
{% endfor -%}
{% macro sla(name, required=False) -%}
{% if required or name in sla_dict -%}
{% for k, (v,) in urlparse.parse_qs(sla_dict.pop(name), strict_parsing=1).iteritems() -%}
sla-{{ k }} = {{ v }}
{% endfor -%}
{% else -%}
sla-computer_guid = ${slap-connection:computer-id}
{% endif -%}
{% endmacro -%}
[directory]
recipe = slapos.cookbook:mkdirectory
home = ${buildout:directory}
etc = ${:home}/etc
var = ${:home}/var
# Executables put here will be started but not monitored (for startup scripts)
script = ${:etc}/run
# Executables put here will be started and monitored (for daemons)
service = ${:etc}/service
[server]
<= request-common-base
software-type = server
name = server
{{ sla('server') }}
return =
[proxy]
recipe = slapos.cookbook:wrapper
command-line = {{ python_location }}/bin/python2.7 {{ rina_proxy }} ${server:instance-guid} ${:ipv6} ${:port}
wrapper-path = ${directory:service}/proxy
environment =
PATH={{ rina_tools_location }}/bin:%(PATH)s
ipv6 = {{ipv6}}
port = 8080
[publish]
recipe = slapos.cookbook:publish.serialised
url.proxy = http://[${proxy:ipv6}]:${proxy:port}
[request-common-base]
recipe = slapos.cookbook:request.serialised
software-url = ${slap-connection:software-release-url}
server-url = ${slap-connection:server-url}
key-file = ${slap-connection:key-file}
cert-file = ${slap-connection:cert-file}
computer-id = ${slap-connection:computer-id}
partition-id = ${slap-connection:partition-id}
[buildout]
parts =
publish
{{- assert(not sla_dict, sla_dict) }}
[directory]
recipe = slapos.cookbook:mkdirectory
service = ${buildout:directory}/etc/service
[server]
recipe = slapos.cookbook:wrapper
command-line = {{rina_tools_location}}/bin/rina-echo-time -l --server-api {{instance_guid}}
wrapper-path = ${directory:service}/server
[publish]
recipe = slapos.cookbook:publish.serialised
[buildout]
parts = publish server
[buildout]
parts = switch-softwaretype
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
[slap-configuration]
recipe = slapos.cookbook:slapconfiguration.serialised
computer = ${slap-connection:computer-id}
partition = ${slap-connection:partition-id}
url = ${slap-connection:server-url}
key = ${slap-connection:key-file}
cert = ${slap-connection:cert-file}
[jinja2-template-base]
recipe = slapos.recipe.template:jinja2
filename = ${:_buildout_section_name_}.cfg
rendered = ${buildout:parts-directory}/${:_buildout_section_name_}/${:filename}
extensions = jinja2.ext.do
extra-context =
context =
key slapparameter_dict slap-configuration:configuration
raw rina_tools_location {{ rina_tools_location }}
${:extra-context}
[root]
<= jinja2-template-base
template = {{ instance_root }}
extra-context =
key ipv6 slap-configuration:ipv6-random
raw python_location {{ python_location }}
raw rina_proxy {{ rina_proxy }}
[server]
<= jinja2-template-base
template = {{ instance_server }}
extra-context =
key instance_guid slap-configuration:instance-guid
[switch-softwaretype]
recipe = slapos.cookbook:switch-softwaretype
override = {{ dumps(override_switch_softwaretype |default) }}
default = root:rendered
# BBB
RootSoftwareInstance = ${:default}
server = server:rendered
#!/usr/bin/python
import httplib, socket, subprocess, sys, threading, urlparse
import BaseHTTPServer, SocketServer
class Popen(subprocess.Popen):
def stop(self):
if self.pid and self.returncode is None:
self.terminate()
t = threading.Timer(5, self.kill)
t.start()
# PY3: use waitid(WNOWAIT) and call self.poll() after t.cancel()
r = self.wait()
t.cancel()
return r
class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
try:
path, query = self.path.split('?', 1)
except ValueError:
path = self.path
query = {}
else:
query = dict(urlparse.parse_qsl(query,
keep_blank_values=1, strict_parsing=1))
_, path = path.split('/')
if not _:
try:
return getattr(self, '_GET_' + path, None)(**query)
except (AttributeError, TypeError):
pass
self.send_error(httplib.BAD_REQUEST)
def _GET_(self):
self.send_response(httplib.FOUND)
self.send_header('Location', 'ping?count=4')
self.end_headers()
def _GET_ping(self, count=4):
count = int(count)
args = "rina-echo-time", "--server-api", server_api, "-c", str(count)
try:
p = Popen(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
except Exception, e:
self.send_error(httplib.INTERNAL_SERVER_ERROR)
raise
try:
self.send_response(httplib.OK)
self.send_header('Content-type', 'text/plain; charset=utf-8')
self.end_headers()
self.wfile.write('# count=%s\n' % count)
while 1:
line = p.stdout.readline()
if not line:
break
self.wfile.write(line)
finally:
p.stop()
class Server(SocketServer.ThreadingTCPServer):
allow_reuse_address = True
daemon_threads = True
address_family = socket.AF_INET6
if __name__ == "__main__":
server_api = sys.argv[1]
Server((sys.argv[2], int(sys.argv[3])), Handler).serve_forever()
[buildout]
extends =
../../stack/slapos.cfg
../../component/rina-tools/buildout.cfg
parts =
slapos-cookbook
template
[template]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg.in
md5sum = d2fd3ed7df0e3082608b9caf72e4f700
# XXX: "template.cfg" is hardcoded in instanciation recipe
rendered = ${buildout:directory}/template.cfg
context =
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
key python_location python2.7:location
key rina_tools_location rina-tools:location
key instance_root instance-root:target
key instance_server instance-server:target
key rina_proxy proxy:target
[download-base]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:_buildout_section_name_}.cfg.in
# XXX: following mode should be the default
mode = 644
[instance-root]
<= download-base
md5sum = 8ba6905c430e69a14db1be386f932c0f
[instance-server]
<= download-base
md5sum = 88a451b0f7f8def12713b92b91659b98
[proxy]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:_buildout_section_name_}
mode = 755
md5sum = 78b77a6bda9958f547f7d89b747731e3
...@@ -5,7 +5,7 @@ extends = common.cfg ...@@ -5,7 +5,7 @@ extends = common.cfg
# XXX - use websockify = 0.5.1 for compatibility with kvm frontend # XXX - use websockify = 0.5.1 for compatibility with kvm frontend
websockify = 0.5.1 websockify = 0.5.1
slapos.toolbox = 0.59 slapos.toolbox = 0.60
erp5.util = 0.4.46 erp5.util = 0.4.46
apache-libcloud = 1.1.0 apache-libcloud = 1.1.0
collective.recipe.environment = 0.2.0 collective.recipe.environment = 0.2.0
...@@ -16,23 +16,23 @@ smmap = 0.9.0 ...@@ -16,23 +16,23 @@ smmap = 0.9.0
# websockify = 0.8.0 # websockify = 0.8.0
# Required by: # Required by:
# slapos.toolbox==0.59 # slapos.toolbox==0.60
GitPython = 2.0.8 GitPython = 2.0.8
# Required by: # Required by:
# slapos.toolbox==0.59 # slapos.toolbox==0.60
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox==0.59 # slapos.toolbox==0.60
dnspython = 1.14.0 dnspython = 1.14.0
# Required by: # Required by:
# slapos.toolbox==0.59 # slapos.toolbox==0.60
feedparser = 5.2.1 feedparser = 5.2.1
# Required by: # Required by:
# slapos.toolbox==0.59 # slapos.toolbox==0.60
lockfile = 0.12.2 lockfile = 0.12.2
# Required by: # Required by:
...@@ -40,9 +40,9 @@ lockfile = 0.12.2 ...@@ -40,9 +40,9 @@ lockfile = 0.12.2
numpy = 1.11.2rc1 numpy = 1.11.2rc1
# Required by: # Required by:
# slapos.toolbox==0.59 # slapos.toolbox==0.60
paramiko = 2.0.2 paramiko = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.59 # slapos.toolbox==0.60
passlib = 1.6.5 passlib = 1.6.5
\ No newline at end of file
...@@ -103,10 +103,10 @@ md5sum = 81ab5e842ecf8385b12d735585497cc8 ...@@ -103,10 +103,10 @@ md5sum = 81ab5e842ecf8385b12d735585497cc8
[versions] [versions]
slapos.recipe.template = 2.9 slapos.recipe.template = 2.9
ZODB3 = 3.10.7 ZODB3 = 3.10.7
# Required by slapos.toolbox = 0.59 # Required by slapos.toolbox = 0.60
slapos.toolbox = 0.59 slapos.toolbox = 0.60
PyRSS2Gen = 1.1 PyRSS2Gen = 1.1
apache-libcloud = 1.1.0 apache-libcloud = 1.2.1
atomize = 0.2.0 atomize = 0.2.0
dnspython = 1.14.0 dnspython = 1.14.0
ecdsa = 0.13 ecdsa = 0.13
...@@ -114,8 +114,9 @@ feedparser = 5.2.1 ...@@ -114,8 +114,9 @@ feedparser = 5.2.1
GitPython = 2.0.8 GitPython = 2.0.8
gitdb = 0.6.4 gitdb = 0.6.4
lockfile = 0.12.2 lockfile = 0.12.2
mysqlclient = 1.3.7 mysqlclient = 1.3.9
paramiko = 2.0.2 paramiko = 2.0.2
passlib = 1.6.5 passlib = 1.6.5
pycrypto = 2.6.1 pycrypto = 2.6.1
pycurl = 7.43.0
smmap = 0.9.0 smmap = 0.9.0
...@@ -113,16 +113,17 @@ ecdsa = 0.13 ...@@ -113,16 +113,17 @@ ecdsa = 0.13
gitdb = 0.6.4 gitdb = 0.6.4
plone.recipe.command = 1.1 plone.recipe.command = 1.1
pycrypto = 2.6.1 pycrypto = 2.6.1
pycurl = 7.43.0
slapos.recipe.template = 2.7 slapos.recipe.template = 2.7
slapos.toolbox = 0.59 slapos.toolbox = 0.60
smmap = 0.9.0 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
GitPython = 2.0.8 GitPython = 2.0.8
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
...@@ -130,11 +131,11 @@ atomize = 0.2.0 ...@@ -130,11 +131,11 @@ atomize = 0.2.0
backports.ssl-match-hostname = 3.4.0.2 backports.ssl-match-hostname = 3.4.0.2
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
feedparser = 5.1.3 feedparser = 5.1.3
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
lockfile = 0.12.2 lockfile = 0.12.2
# Required by: # Required by:
...@@ -142,10 +143,10 @@ lockfile = 0.12.2 ...@@ -142,10 +143,10 @@ lockfile = 0.12.2
miniupnpc = 1.9 miniupnpc = 1.9
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
paramiko = 2.0.1 paramiko = 2.0.1
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox = 0.60
rpdb = 0.1.5 rpdb = 0.1.5
...@@ -76,7 +76,7 @@ mode = 0644 ...@@ -76,7 +76,7 @@ mode = 0644
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-runner-import.cfg.in url = ${:_profile_base_location_}/instance-runner-import.cfg.in
output = ${buildout:directory}/instance-runner-import.cfg output = ${buildout:directory}/instance-runner-import.cfg
md5sum = 5234b94f24d57d43e3cd29ccabb2b119 md5sum = 4db13f6fad1483bf7c663a1485e56098
mode = 0644 mode = 0644
[template-runner-export-script] [template-runner-export-script]
...@@ -84,7 +84,7 @@ recipe = hexagonit.recipe.download ...@@ -84,7 +84,7 @@ recipe = hexagonit.recipe.download
ignore-existing = true ignore-existing = true
url = ${:_profile_base_location_}/template/runner-export.sh.jinja2 url = ${:_profile_base_location_}/template/runner-export.sh.jinja2
download-only = true download-only = true
md5sum = d89161fba1dce0de6f4ebbc7eb396ccb md5sum = c835dff22a1e3de3dacb325acb691299
filename = runner-export.sh.jinja2 filename = runner-export.sh.jinja2
mode = 0644 mode = 0644
......
...@@ -26,6 +26,7 @@ parts += ...@@ -26,6 +26,7 @@ parts +=
bash-profile bash-profile
supervisord-wrapper supervisord-wrapper
importer-consistency-promise importer-consistency-promise
software-release-deployment-promise
resilient-software-release-information resilient-software-release-information
# have to repeat the next one, as it's not inherited from pbsready-import # have to repeat the next one, as it's not inherited from pbsready-import
...@@ -106,6 +107,24 @@ input = inline: #!/bin/sh ...@@ -106,6 +107,24 @@ input = inline: #!/bin/sh
output = $${directory:promises}/importer-consistency-promise output = $${directory:promises}/importer-consistency-promise
mode = 755 mode = 755
[software-release-deployment-promise]
recipe = collective.recipe.template
input = inline: #!/bin/sh
PROJECT_FILE=$(find "$${directory:etc}" -maxdepth 1 -name .project)
if [ -z "$PROJECT_FILE" ]; then
exit 0;
else
INSTALLATION_FILE=$(find "$${runnerdirectory:software-root}" -mindepth 2 -maxdepth 2 -name .completed)
if [ -n "$INSTALLATION_FILE" ]; then
exit 0;
else
exit 1;
fi
fi
exit 1
output = $${directory:promises}/software-release-deployment-promise
mode = 755
[resilient-software-release-information] [resilient-software-release-information]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${template-resilient-software-release-information:destination}/${template-resilient-software-release-information:filename} url = ${template-resilient-software-release-information:destination}/${template-resilient-software-release-information:filename}
......
...@@ -8,44 +8,50 @@ extends = common.cfg ...@@ -8,44 +8,50 @@ extends = common.cfg
[versions] [versions]
Flask-Auth = 0.85 Flask-Auth = 0.85
PyRSS2Gen = 1.1 apache-libcloud = 1.2.1
apache-libcloud = 0.20.1
cns.recipe.symlink = 0.2.3 cns.recipe.symlink = 0.2.3
collective.recipe.environment = 0.2.0 collective.recipe.environment = 0.2.0
ecdsa = 0.13
erp5.util = 0.4.46
futures = 3.0.5 futures = 3.0.5
gitdb = 0.6.4 gitdb = 0.6.4
gunicorn = 19.5.0 gunicorn = 19.6.0
prettytable = 0.7.2 prettytable = 0.7.2
pycrypto = 2.6.1 pycurl = 7.43.0
slapos.recipe.template = 2.9 slapos.recipe.template = 2.9
slapos.toolbox = 0.59 slapos.toolbox = 0.60
smmap = 0.9.0 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox==0.60
GitPython = 2.0.8 GitPython = 2.0.8
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox==0.60
PyRSS2Gen = 1.1
# Required by:
# slapos.toolbox==0.60
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox==0.60
dnspython = 1.14.0
# Required by:
# slapos.toolbox==0.60
erp5.util = 0.4.46
# Required by:
# slapos.toolbox==0.60
feedparser = 5.2.1 feedparser = 5.2.1
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox==0.60
lockfile = 0.12.2 lockfile = 0.12.2
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox==0.60
paramiko = 2.0.1 paramiko = 2.0.2
# Required by: # Required by:
# slapos.toolbox = 0.59 # slapos.toolbox==0.60
passlib = 1.6.5 passlib = 1.6.5
# slapos.toolbox==0.59
dnspython = 1.14.0
\ No newline at end of file
...@@ -37,7 +37,7 @@ sync_element () { ...@@ -37,7 +37,7 @@ sync_element () {
done done
fi fi
done done
echo "$exclude_content" > $srv_directory/exporter.exclude echo -e "$exclude_content" > $srv_directory/exporter.exclude
for element in $element_list for element in $element_list
do do
......
...@@ -69,7 +69,7 @@ pycrypto = 2.6 ...@@ -69,7 +69,7 @@ pycrypto = 2.6
apache-libcloud = 0.12.4 apache-libcloud = 0.12.4
async = 0.6.1 async = 0.6.1
gitdb = 0.5.4 gitdb = 0.5.4
mysqlclient = 1.3.7 mysqlclient = 1.3.9
plone.recipe.command = 1.1 plone.recipe.command = 1.1
slapos.recipe.template = 2.4.2 slapos.recipe.template = 2.4.2
slapos.toolbox = 0.40.4 slapos.toolbox = 0.40.4
......
...@@ -670,7 +670,7 @@ Products.CMFActionIcons = 2.1.3 ...@@ -670,7 +670,7 @@ Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1 Products.DCWorkflowGraph = 0.4.1
# Products.ExternalEditor 2.0.0's dtml is not based on Zope2 OFS's one. # Products.ExternalEditor 2.0.0's dtml is not based on Zope2 OFS's one.
Products.ExternalEditor = 1.1.1 Products.ExternalEditor = 1.1.1
Products.GenericSetup = 1.8.3 Products.GenericSetup = 1.8.4
Products.LongRequestLogger = 2.0.0 Products.LongRequestLogger = 2.0.0
Products.MimetypesRegistry = 2.0.10 Products.MimetypesRegistry = 2.0.10
Products.PloneHotfix20160830 = 1.3 Products.PloneHotfix20160830 = 1.3
...@@ -705,9 +705,9 @@ ipywidgets = 5.2.2 ...@@ -705,9 +705,9 @@ ipywidgets = 5.2.2
logilab-common = 1.2.2 logilab-common = 1.2.2
matplotlib = 1.5.3 matplotlib = 1.5.3
mistune = 0.7.3 mistune = 0.7.3
notebook = 4.2.2 notebook = 4.2.3
numpy = 1.11.1 numpy = 1.11.1
objgraph = 3.0.0 objgraph = 3.0.1
pandas = 0.18.1 pandas = 0.18.1
ply = 3.9 ply = 3.9
polib = 1.0.7 polib = 1.0.7
...@@ -724,8 +724,8 @@ pyzmq = 15.4.0 ...@@ -724,8 +724,8 @@ pyzmq = 15.4.0
qrcode = 5.3 qrcode = 5.3
restkit = 4.2.2 restkit = 4.2.2
rtjp-eventlet = 0.3.2 rtjp-eventlet = 0.3.2
scikit-learn = 0.17.1 scikit-learn = 0.18
scipy = 0.18.0 scipy = 0.18.1
simplegeneric = 0.8.1 simplegeneric = 0.8.1
socketpool = 0.5.3 socketpool = 0.5.3
spyne = 2.12.13 spyne = 2.12.13
...@@ -734,7 +734,7 @@ terminado = 0.6 ...@@ -734,7 +734,7 @@ terminado = 0.6
threadframe = 0.2 threadframe = 0.2
timerserver = 2.0.2 timerserver = 2.0.2
tornado = 4.4.1 tornado = 4.4.1
traitlets = 4.3.0 traitlets = 4.3.1
urlnorm = 1.1.4 urlnorm = 1.1.4
uuid = 1.30 uuid = 1.30
validictory = 1.0.2 validictory = 1.0.2
...@@ -756,7 +756,7 @@ backports.ssl-match-hostname = 3.5.0.1 ...@@ -756,7 +756,7 @@ backports.ssl-match-hostname = 3.5.0.1
# Required by: # Required by:
# tornado==4.4.1 # tornado==4.4.1
certifi = 2016.8.31 certifi = 2016.9.26
# Required by: # Required by:
# matplotlib==1.5.3 # matplotlib==1.5.3
...@@ -764,7 +764,7 @@ cycler = 0.10.0 ...@@ -764,7 +764,7 @@ cycler = 0.10.0
# Required by: # Required by:
# ipython==5.1.0 # ipython==5.1.0
# traitlets==4.3.0 # traitlets==4.3.1
decorator = 4.0.10 decorator = 4.0.10
# Required by: # Required by:
...@@ -773,18 +773,18 @@ fpconst = 0.7.2 ...@@ -773,18 +773,18 @@ fpconst = 0.7.2
# Required by: # Required by:
# nbformat==4.1.0 # nbformat==4.1.0
# notebook==4.2.2 # notebook==4.2.3
# traitlets==4.3.0 # traitlets==4.3.1
ipython-genutils = 0.1.0 ipython-genutils = 0.1.0
# Required by: # Required by:
# notebook==4.2.2 # notebook==4.2.3
# nbconvert 4.2.0 depends on entrypoints egg that is not available as tar/zip source. # nbconvert 4.2.0 depends on entrypoints egg that is not available as tar/zip source.
nbconvert = 4.1.0 nbconvert = 4.1.0
# Required by: # Required by:
# nbconvert==4.1.0 # nbconvert==4.1.0
# notebook==4.2.2 # notebook==4.2.3
nbformat = 4.1.0 nbformat = 4.1.0
# Required by: # Required by:
......
...@@ -42,7 +42,7 @@ keep-compile-dir = false ...@@ -42,7 +42,7 @@ keep-compile-dir = false
apache-libcloud = 0.9.1 apache-libcloud = 0.9.1
async = 0.6.1 async = 0.6.1
gitdb = 0.5.4 gitdb = 0.5.4
mysqlclient = 1.3.7 mysqlclient = 1.3.9
plone.recipe.command = 1.1 plone.recipe.command = 1.1
slapos.recipe.template = 2.3 slapos.recipe.template = 2.3
slapos.toolbox = 0.40.4 slapos.toolbox = 0.40.4
......
...@@ -185,7 +185,7 @@ eggs = ...@@ -185,7 +185,7 @@ eggs =
apache-libcloud = 0.12.3 apache-libcloud = 0.12.3
async = 0.6.1 async = 0.6.1
gitdb = 0.5.4 gitdb = 0.5.4
mysqlclient = 1.3.7 mysqlclient = 1.3.9
pycrypto = 2.6 pycrypto = 2.6
rdiff-backup = 1.0.5 rdiff-backup = 1.0.5
slapos.recipe.template = 2.4.2 slapos.recipe.template = 2.4.2
......
...@@ -93,7 +93,7 @@ recipe = slapos.recipe.template:jinja2 ...@@ -93,7 +93,7 @@ recipe = slapos.recipe.template:jinja2
filename = template-monitor.cfg filename = template-monitor.cfg
template = ${:_profile_base_location_}/instance-monitor.cfg.jinja2.in template = ${:_profile_base_location_}/instance-monitor.cfg.jinja2.in
rendered = ${buildout:directory}/template-monitor.cfg rendered = ${buildout:directory}/template-monitor.cfg
md5sum = c25e1c8206fb7c08924ae3d5c16521fc md5sum = 61734742e3a01a8a1d512f491b2190cc
context = context =
key apache_location apache:location key apache_location apache:location
key gzip_location gzip:location key gzip_location gzip:location
...@@ -121,5 +121,6 @@ depends = ...@@ -121,5 +121,6 @@ depends =
[versions] [versions]
PyRSS2Gen = 1.1 PyRSS2Gen = 1.1
cns.recipe.symlink = 0.2.3 cns.recipe.symlink = 0.2.3
slapos.toolbox = 0.59 pycurl = 7.43.0
slapos.toolbox = 0.60
...@@ -372,17 +372,19 @@ check-secure = 1 ...@@ -372,17 +372,19 @@ check-secure = 1
recipe = collective.recipe.template recipe = collective.recipe.template
file = ${monitor-conf-parameters:promise-output-file} file = ${monitor-conf-parameters:promise-output-file}
input = inline:#!{{ dash_executable_location }} input = inline:#!{{ dash_executable_location }}
PID=`cat ${monitor-conf-parameters:pid-file}` if [ -f "${monitor-conf-parameters:pid-file}" ]; then
for i in {1..20}; do PID=`cat ${monitor-conf-parameters:pid-file}`
# wait for monitor bootstrap script to finish (max 10 seconds) for i in {1..20}; do
kill -0 "$PID" > /dev/null 2>&1 # wait for monitor bootstrap script to finish (max 10 seconds)
RETURN_CODE=$? kill -0 "$PID" > /dev/null 2>&1
if [ $RETURN_CODE -eq 0 ] ; then RETURN_CODE=$?
break if [ $RETURN_CODE -eq 0 ] ; then
else break
sleep 0.5 else
fi sleep 0.5
done fi
done
fi
if [ ! -f "${:file}" ]; then echo "Monitor bootstrap exited with error." && exit 2; else echo "Bootstrap OK"; fi if [ ! -f "${:file}" ]; then echo "Monitor bootstrap exited with error." && exit 2; else echo "Bootstrap OK"; fi
output = ${directory:promises}/monitor-bootstrap-status output = ${directory:promises}/monitor-bootstrap-status
mode = 700 mode = 700
......
...@@ -109,12 +109,12 @@ Jinja2 = 2.8 ...@@ -109,12 +109,12 @@ Jinja2 = 2.8
PyYAML = 3.12 PyYAML = 3.12
Werkzeug = 0.11.11 Werkzeug = 0.11.11
buildout-versions = 1.7 buildout-versions = 1.7
cffi = 1.8.2 cffi = 1.8.3
click = 6.6 click = 6.6
cliff = 2.2.0 cliff = 2.2.0
cmd2 = 0.6.8 cmd2 = 0.6.8
collective.recipe.template = 1.13 collective.recipe.template = 1.13
cryptography = 1.5 cryptography = 1.5.2
decorator = 4.0.10 decorator = 4.0.10
idna = 2.1 idna = 2.1
inotifyx = 0.2.2 inotifyx = 0.2.2
...@@ -152,7 +152,7 @@ Flask = 0.11.1 ...@@ -152,7 +152,7 @@ Flask = 0.11.1
MarkupSafe = 0.23 MarkupSafe = 0.23
# Required by: # Required by:
# cryptography==1.5 # cryptography==1.5.2
enum34 = 1.1.6 enum34 = 1.1.6
# Required by: # Required by:
...@@ -160,7 +160,7 @@ enum34 = 1.1.6 ...@@ -160,7 +160,7 @@ enum34 = 1.1.6
functools32 = 3.2.3.post2 functools32 = 3.2.3.post2
# Required by: # Required by:
# cryptography==1.5 # cryptography==1.5.2
ipaddress = 1.0.17 ipaddress = 1.0.17
# Required by: # Required by:
...@@ -177,7 +177,7 @@ lock-file = 2.0 ...@@ -177,7 +177,7 @@ lock-file = 2.0
netifaces = 0.10.4 netifaces = 0.10.4
# Required by: # Required by:
# cffi==1.8.2 # cffi==1.8.3
pycparser = 2.14 pycparser = 2.14
# Required by: # Required by:
......
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