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 }}