diff --git a/software/slapos-master/instance-erp5.cfg.in b/software/slapos-master/instance-erp5.cfg.in
index 79fa92a8486d28fbf89790beb4a717cc91beb22e..59c1c2db19f8e88e7603b005fddfe2e1aef985e6 100644
--- a/software/slapos-master/instance-erp5.cfg.in
+++ b/software/slapos-master/instance-erp5.cfg.in
@@ -238,4 +238,7 @@ hosts-dict = {{ '${' ~ zope_address_list_id_dict.keys()[0] ~ ':connection-hosts-
 {% endfor -%}
 
 [buildout]
-parts = publish
+parts = 
+  apache-certificate-authority
+  fix-ca-folder
+  publish
diff --git a/software/slapos-master/instance-zope.cfg.in b/software/slapos-master/instance-zope.cfg.in
index 1e35a919e9d5cf3c40c3f5fd3c62df2c3d5ef07d..04a0694a227b528d3cf55296b6012b51fc659425 100644
--- a/software/slapos-master/instance-zope.cfg.in
+++ b/software/slapos-master/instance-zope.cfg.in
@@ -1,4 +1,3 @@
-{% if slap_software_type == software_type -%}
 {% set use_ipv6 = slapparameter_dict.get('use-ipv6', False) -%}
 {% set next_port = slapparameter_dict['port-base'] -%}
 {% set site_id = slapparameter_dict['site-id'] -%}
@@ -6,7 +5,7 @@
 {% set node_id_base = slapparameter_dict['name'] -%}
 {% set part_list = [] -%}
 {% set publish_list = [] -%}
-{% set zodb_dict = slapparameter_dict['zodb-dict'] -%}
+{% set zodb_dict = slapparameter_dict.get('zodb-dict', {}) -%}
 {% set longrequest_logger_base_path = buildout_directory ~ '/var/log/longrequest_logger_' -%}
 {% macro section(name) %}{% do part_list.append(name) %}{{ name }}{% endmacro -%}
 {% set bin_directory = parameter_dict['buildout-bin-directory'] -%}
@@ -226,11 +225,13 @@ bt5-repository =
 [zope-conf-parameter-base]
 ip = {{ ipv4 }}
 site-id = {{ site_id }}
-{% set zodb_list = [] -%}
+{% set zodb_list = slapparameter_dict.get('zodb-extern', []) -%}
 {% for key, (mount_point, cache_size, storage_dict) in zodb_dict.items() -%}
-{%   do zodb_list.append([key, mount_point, cache_size, storage_type, storage_dict]) -%}
+{%   do zodb_list.append({'name': key, 'mount-point': mount_point, 'storage-type': storage_type, 'storage-dict': storage_dict}) -%}
+{%   if cache_size >= 0 -%}
+{%     do zodb_list[-1].__setitem__('cache-size', cache_size) -%}
+{%   endif -%}
 {% endfor -%}
-zodb-list = {{ dumps(zodb_list) }}
 developer-list = {{ dumps(slapparameter_dict['developer-list']) }}
 instance = ${directory:instance}
 instance-products = ${directory:instance-products}
@@ -278,6 +279,18 @@ port = {{ port }}
 event-log = ${directory:log}/{{ name }}-event.log
 z2-log = ${directory:log}/{{ name }}-Z2.log
 node-id = {{ dumps(node_id_base ~ '-' ~ index) }}
+{% set log_list = [] -%}
+{% set import_set = {} -%}
+{% for zodb in zodb_list -%}
+{%   if zodb.setdefault('storage-type', 'NEOStorage') == 'NEOStorage' -%}
+{%     do import_set.__setitem__('neo.client', None) -%}
+{%     set log = buildout_directory ~ '/var/log/' ~ name ~ '-neo-' ~ zodb.get('name', 'main') ~ '.log' -%}
+{%     do log_list.append(log) -%}
+{%     do zodb.setdefault('storage-dict', {}).__setitem__('logfile', log) -%}
+{%   endif -%}
+{% endfor -%}
+import-list = {{ dumps(import_set.keys()) }}
+zodb-list = {{ dumps(zodb_list) }}
 
 [{{ conf_name }}]
 < = zope-conf-base
@@ -325,8 +338,8 @@ path = ${directory:promises}/{{ zope_tunnel_base_name }}
 [{{ section('logrotate-entry-' ~ name) }}]
 < = logrotate-entry-base
 name = {{ name }}
-log = {{ '${' ~ conf_parameter_name ~ ':event-log}' }} {{ '${' ~ conf_parameter_name ~ ':z2-log}' }} {{ '${' ~ name ~ ':longrequest-logger-file}' }}
-post = {{ bin_directory }}/killpidfromfile {{ '${' ~ conf_parameter_name ~ ':pid-file}' }} SIGUSR2
+log = {{ '${' ~ conf_parameter_name ~ ':event-log}' }} {{ '${' ~ conf_parameter_name ~ ':z2-log}' }} {{ '${' ~ name ~ ':longrequest-logger-file}' }} {{ ' '.join(log_list) }}
+post = {{ bin_directory }}/slapos-kill --pidfile {{ '${' ~ conf_parameter_name ~ ':pid-file}' }} -s USR2
 {% endmacro -%}
 
 {% for i in range(slapparameter_dict['instance-count']) -%}
@@ -366,10 +379,7 @@ certificate-authority-path = {{ dumps(slapparameter_dict['ca-path']) }}
 {% endif -%}
 
 [buildout]
-eggs-directory = {{ eggs_directory }}
-develop-eggs-directory = {{ develop_eggs_directory }}
-extends =
-  {{ parameter_dict['instance-logrotate-cfg'] }}
+extends = {{ logrotate_cfg }}
 parts +=
   erp5-promise
   {{ part_list | join('\n  ') }}
@@ -378,4 +388,3 @@ versions = versions
 
 [versions]
 slapos.core = {{ slapos_core_version }}
-{% endif %}
diff --git a/software/slapos-master/software.cfg b/software/slapos-master/software.cfg
index 45e731312934c9e7b25cf72dc5da886ed0ab205e..d379264165f1898b1f00846ea1b9d22a5462b23d 100644
--- a/software/slapos-master/software.cfg
+++ b/software/slapos-master/software.cfg
@@ -35,10 +35,7 @@ branch = master
 git-executable = ${git:location}/bin/git
 
 [slapos.cookbook-repository]
-recipe = slapos.recipe.build:gitclone
-repository = http://git.erp5.org/repos/slapos.git
-branch = slapos-master-cluster
-git-executable = ${git:location}/bin/git
+branch = erp5-cluster
 
 [vifib-fix-products-paths]
 recipe = plone.recipe.command
@@ -62,26 +59,35 @@ dummy +=
   
 extra-paths +=
   ${vifib:location}/master
+  
+[download-base-part]
+recipe = slapos.recipe.build:download
+url = ${:_profile_base_location_}/${:filename}
+mode = 644
 
 [template-erp5]
 < = download-base-part
 filename = instance-erp5.cfg.in
-md5sum = 92c9044c894fa1d75a56ef2976c2eea9
+md5sum = e75f791c031f042629858e7442d06964
 
 [template-balancer]
 < = download-base-part
 filename = instance-balancer.cfg.in
-md5sum = b4120ea2d07af771aeaa2ffe38d3bef9
+md5sum = 3f23b1a69304cbf142e61bbdb561686a
 
 [template-zope]
 < = download-base-part
 filename = instance-zope.cfg.in
-md5sum = b1bf0f082a63530970e3e25ef256ff4f
+md5sum = 65bfa6ceaa4edcf90297e2ee0bf42032
 
 [template-apache-conf]
+< = download-base-part
+filename = apache.conf.in
 md5sum = bb329fc28bef095a01efc901d2f84149
 
 [template-create-erp5-site-real]
+< = download-base-part
+filename = instance-create-erp5-site-real.cfg.in
 md5sum = 61824aab2172d21f1d6403a35cab47cd
 
 
diff --git a/stack/erp5/buildout.cfg b/stack/erp5/buildout.cfg
index 90af18f9d43e5bcedbd1d16af3522a505d28f6ef..145e547a3b75df565936044b01c14e20ddffffcb 100644
--- a/stack/erp5/buildout.cfg
+++ b/stack/erp5/buildout.cfg
@@ -217,7 +217,7 @@ md5sum = e40e2e39f4941c6372f4357e8589a5cf
 # XXX: "template.cfg" is hardcoded in instanciation recipe
 filename = template.cfg
 template = ${:_profile_base_location_}/instance.cfg.in
-md5sum = a9ed3392598d3b1b8fc09925e09e8e99
+md5sum = 7cf16ce6d138c96b465eeeeee1f67465
 extra-context =
     key mariadb_link_binary template-mariadb:link-binary
     key zope_link_binary template-zope:link-binary
diff --git a/stack/erp5/instance.cfg.in b/stack/erp5/instance.cfg.in
index 3fa8511916f8f8e2f6c75b5a675ae9ac13b8613b..68586699c597b3aaad05e0acbec1fdbc0f81f002 100644
--- a/stack/erp5/instance.cfg.in
+++ b/stack/erp5/instance.cfg.in
@@ -72,6 +72,7 @@ extensions = jinja2.ext.do
 extra-context =
     key local_bt5_repository dynamic-template-erp5-parameters:local-bt5-repository
     key openssl_location :openssl-location
+openssl-location = {{ openssl_location }}
 
 [dynamic-template-balancer-parameters]
 apache = {{ apache_location }}