Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
SlapOS Develop
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Eric Zheng
SlapOS Develop
Commits
15c2a0d0
Commit
15c2a0d0
authored
Aug 08, 2019
by
Julien Muchembled
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ERP5/NEO: fix/optimize propagation of the 'masters' parameter
parent
fa7df772
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
30 additions
and
59 deletions
+30
-59
software/neoppod/cluster.cfg.in
software/neoppod/cluster.cfg.in
+9
-5
software/neoppod/instance-neo-admin.cfg.in
software/neoppod/instance-neo-admin.cfg.in
+1
-1
software/neoppod/instance-neo-master.cfg.in
software/neoppod/instance-neo-master.cfg.in
+1
-1
software/neoppod/instance-neo.cfg.in
software/neoppod/instance-neo.cfg.in
+1
-16
software/neoppod/root-common.cfg.in
software/neoppod/root-common.cfg.in
+9
-24
software/neoppod/software-common.cfg
software/neoppod/software-common.cfg
+4
-4
software/neoppod/software.cfg
software/neoppod/software.cfg
+1
-1
stack/erp5/buildout.hash.cfg
stack/erp5/buildout.hash.cfg
+1
-1
stack/erp5/instance-erp5.cfg.in
stack/erp5/instance-erp5.cfg.in
+3
-6
No files found.
software/neoppod/cluster.cfg.in
View file @
15c2a0d0
{% import "root_common" as common_macro with context %}
{% import "root_common" as common_macro with context %}
[request-common]
<= request-common-base
{{ common_macro.request_neo(slapparameter_dict, 'neo', 'node-') }}
{{ common_macro.request_neo(slapparameter_dict, 'neo', 'node-') }}
[publish-early]
recipe = slapos.cookbook:publish-early
-init =
neo-admins node-cluster:admins
neo-masters node-cluster:masters
[publish]
[publish]
recipe = slapos.cookbook:publish.serialised
recipe = slapos.cookbook:publish.serialised
neo-masters = ${node-0-final:connection-masters}
-extends = publish-early
neo-admins = ${node-0-final:connection-admins}
{{ common_macro.common_section() }}
{{ common_macro.common_section() }}
software/neoppod/instance-neo-admin.cfg.in
View file @
15c2a0d0
...
@@ -13,7 +13,7 @@ ip = ${publish:ip}
...
@@ -13,7 +13,7 @@ ip = ${publish:ip}
port = ${publish:port-admin}
port = ${publish:port-admin}
ssl = {{ dumps(bool(slapparameter_dict['ssl'])) }}
ssl = {{ dumps(bool(slapparameter_dict['ssl'])) }}
cluster = {{ dumps(slapparameter_dict['cluster']) }}
cluster = {{ dumps(slapparameter_dict['cluster']) }}
masters =
${publish:masters
}
masters =
{{ dumps(slapparameter_dict['masters']) }
}
[neo-admin-promise]
[neo-admin-promise]
recipe = slapos.cookbook:check_port_listening
recipe = slapos.cookbook:check_port_listening
...
...
software/neoppod/instance-neo-master.cfg.in
View file @
15c2a0d0
...
@@ -21,7 +21,7 @@ autostart = {{ slapparameter_dict['autostart'] }}
...
@@ -21,7 +21,7 @@ autostart = {{ slapparameter_dict['autostart'] }}
# No actual installation takes place at that time
# No actual installation takes place at that time
# (slapos.cookbook:neoppod.master raises), but cfg expansion must succeed. So
# (slapos.cookbook:neoppod.master raises), but cfg expansion must succeed. So
# this default value is required.
# this default value is required.
masters =
${publish:masters
}
masters =
{{ dumps(slapparameter_dict['masters']) }
}
[neo-master-promise]
[neo-master-promise]
recipe = slapos.cookbook:check_port_listening
recipe = slapos.cookbook:check_port_listening
...
...
software/neoppod/instance-neo.cfg.in
View file @
15c2a0d0
...
@@ -47,17 +47,6 @@ recipe = slapos.cookbook:symbolic.link
...
@@ -47,17 +47,6 @@ recipe = slapos.cookbook:symbolic.link
target-directory = ${directory:bin}
target-directory = ${directory:bin}
link-binary = {{ bin_directory }}/neolog
link-binary = {{ bin_directory }}/neolog
{% set master_list = [] -%}
{% set admin_list = [] -%}
{% for k, v in slapparameter_dict.iteritems() -%}
{% if k.startswith('master-') and v -%}
{% do master_list.append(v) -%}
{% endif -%}
{% if k.startswith('admin-') and v -%}
{% do admin_list.append(v) -%}
{% endif -%}
{% endfor -%}
[publish]
[publish]
recipe = slapos.cookbook:publish.serialised
recipe = slapos.cookbook:publish.serialised
# TODO: make port a partition parameter
# TODO: make port a partition parameter
...
@@ -76,10 +65,6 @@ admin = ${:ip}:${:port-admin}
...
@@ -76,10 +65,6 @@ admin = ${:ip}:${:port-admin}
{% else -%}
{% else -%}
admin =
admin =
{% endif -%}
{% endif -%}
masters = {{ ' '.join(sorted(master_list)) }}
{%- if admin_list %}
admins = {{ ' '.join(sorted(admin_list)) }}
{%- endif %}
{#- Hack to deploy SSL certs via instance parameters #}
{#- Hack to deploy SSL certs via instance parameters #}
{%- for name, pem in zip(('ca.crt', 'neo.crt', 'neo.key'),
{%- for name, pem in zip(('ca.crt', 'neo.crt', 'neo.key'),
...
@@ -102,7 +87,7 @@ binary = {{ bin_directory }}/neostorage
...
@@ -102,7 +87,7 @@ binary = {{ bin_directory }}/neostorage
ip = ${publish:ip}
ip = ${publish:ip}
ssl = {{ dumps(bool(slapparameter_dict['ssl'])) }}
ssl = {{ dumps(bool(slapparameter_dict['ssl'])) }}
cluster = {{ dumps(slapparameter_dict['cluster']) }}
cluster = {{ dumps(slapparameter_dict['cluster']) }}
masters =
${publish:masters
}
masters =
{{ dumps(slapparameter_dict['masters']) }
}
database-adapter = {{ storage_type }}
database-adapter = {{ storage_type }}
wait-database = -1
wait-database = -1
engine = ${my-cnf-parameters:engine}
engine = ${my-cnf-parameters:engine}
...
...
software/neoppod/root-common.cfg.in
View file @
15c2a0d0
...
@@ -39,6 +39,10 @@ parts =
...
@@ -39,6 +39,10 @@ parts =
{% set section_id_list = [] -%}
{% set section_id_list = [] -%}
[{{ prefix }}request-common]
[{{ prefix }}request-common]
<= request-common-base
<= request-common-base
return =
master
admin
config-masters = {{ '${' ~ prefix ~ 'cluster:masters}' }}
config-cluster = {{ parameter_dict['cluster'] }}
config-cluster = {{ parameter_dict['cluster'] }}
{% set replicas = parameter_dict.get('replicas', 0) -%}
{% set replicas = parameter_dict.get('replicas', 0) -%}
config-partitions = {{ dumps(parameter_dict.get('partitions', 12)) }}
config-partitions = {{ dumps(parameter_dict.get('partitions', 12)) }}
...
@@ -62,35 +66,16 @@ config-autostart = {{ dumps(sum(storage_count)) }}
...
@@ -62,35 +66,16 @@ config-autostart = {{ dumps(sum(storage_count)) }}
{% set section_id = prefix ~ i -%}
{% set section_id = prefix ~ i -%}
{% do section_id_list.append(section_id) -%}
{% do section_id_list.append(section_id) -%}
[{{ section_id }}-base]
[{{section_id}}]
<= {{ prefix }}request-common
name = {{ section_id }}
name = {{ section_id }}
{% for k, v in node.iteritems() -%}
{% for k, v in node.iteritems() -%}
config-{{ k }} = {{ dumps(v) }}
config-{{ k }} = {{ dumps(v) }}
{% endfor -%}
{% endfor -%}
{{ sla(section_id) }}
{{ sla(section_id) }}
[{{ section_id }}]
<= {{ prefix }}request-common
{{ section_id }}-base
return =
master
admin
{% endfor -%}
[final-base]
{% for i, section_id in enumerate(section_id_list) -%}
config-master-{{i}} = {{ '${' + section_id + ':connection-master}' }}
config-admin-{{i}} = {{ '${' + section_id + ':connection-admin}' }}
{% endfor -%}
{% endfor -%}
{% for section_id in section_id_list -%}
[{{section(prefix ~ 'cluster')}}]
[{{ section(section_id + '-final') }}]
recipe = slapos.cookbook:neoppod.cluster
<= {{ prefix }}request-common
nodes = {{ ' '.join(section_id_list) }}
final-base
{{ section_id }}-base
{% if loop.first -%}
return =
masters
admins
{% endif -%}
{% endfor -%}
{% endmacro -%}
{% endmacro -%}
software/neoppod/software-common.cfg
View file @
15c2a0d0
...
@@ -111,19 +111,19 @@ adapter-context =
...
@@ -111,19 +111,19 @@ adapter-context =
[root-common]
[root-common]
<= download-base-neo
<= download-base-neo
md5sum =
66055aa82f9097c5301864c07e6e5d80
md5sum =
15fa47a59cc3019f59612aaf33bd9ec5
[instance-neo-admin]
[instance-neo-admin]
<= download-base-neo
<= download-base-neo
md5sum =
4d1ae570b4458e7725454857aabb37f6
md5sum =
ce0d9ff9e899bb706351a99df29238a9
[instance-neo-master]
[instance-neo-master]
<= download-base-neo
<= download-base-neo
md5sum =
1fee10f02c2fa2a581e21878ca0fd704
md5sum =
4faee020eaf7cd495cd6210dfa4eb0c1
[instance-neo]
[instance-neo]
<= download-base-neo
<= download-base-neo
md5sum =
d4e30d74316e6931da4a1e305f9bbc68
md5sum =
3e394ae616e554e1eacb2b86ee74fc76
[template-neo-my-cnf]
[template-neo-my-cnf]
<= download-base-neo
<= download-base-neo
...
...
software/neoppod/software.cfg
View file @
15c2a0d0
...
@@ -22,7 +22,7 @@ context =
...
@@ -22,7 +22,7 @@ context =
[cluster]
[cluster]
<= download-base-neo
<= download-base-neo
md5sum =
ee8401a4e7d82bf488a57e3399f9ce48
md5sum =
5afd326de385563b5aeac81039f23341
[runTestSuite.in]
[runTestSuite.in]
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
...
...
stack/erp5/buildout.hash.cfg
View file @
15c2a0d0
...
@@ -78,7 +78,7 @@ md5sum = d41d8cd98f00b204e9800998ecf8427e
...
@@ -78,7 +78,7 @@ md5sum = d41d8cd98f00b204e9800998ecf8427e
[template-erp5]
[template-erp5]
filename = instance-erp5.cfg.in
filename = instance-erp5.cfg.in
md5sum =
ca5375204bacdc1df30285d3c5d179b1
md5sum =
af5d9aeac2bae695220465a4348ae592
[template-zeo]
[template-zeo]
filename = instance-zeo.cfg.in
filename = instance-zeo.cfg.in
...
...
stack/erp5/instance-erp5.cfg.in
View file @
15c2a0d0
...
@@ -212,7 +212,7 @@ config-test-runner-node-count = {{ dumps(test_runner_node_count) }}
...
@@ -212,7 +212,7 @@ config-test-runner-node-count = {{ dumps(test_runner_node_count) }}
{% if server_type == 'neo' -%}
{% if server_type == 'neo' -%}
config-neo-cluster = ${publish-early:neo-cluster}
config-neo-cluster = ${publish-early:neo-cluster}
config-neo-name = {{ server_dict.keys()[0] }}
config-neo-name = {{ server_dict.keys()[0] }}
config-neo-masters = ${
neo-0-final:connection
-masters}
config-neo-masters = ${
publish-early:neo
-masters}
{% else -%}
{% else -%}
config-zodb-zeo = ${request-zodb:connection-storage-dict}
config-zodb-zeo = ${request-zodb:connection-storage-dict}
config-tidstorage-ip = ${request-zodb:connection-tidstorage-ip}
config-tidstorage-ip = ${request-zodb:connection-tidstorage-ip}
...
@@ -368,10 +368,6 @@ return = site_url
...
@@ -368,10 +368,6 @@ return = site_url
<= monitor-publish
<= monitor-publish
recipe = slapos.cookbook:publish.serialised
recipe = slapos.cookbook:publish.serialised
-extends = publish-early
-extends = publish-early
{% if 'neo' in storage_dict -%}
neo-masters = ${neo-0-final:connection-masters}
neo-admins = ${neo-0-final:connection-admins}
{% endif -%}
{% if zope_address_list_id_dict -%}
{% if zope_address_list_id_dict -%}
{#
{#
Pick any published hosts-dict, they are expected to be identical - and there is
Pick any published hosts-dict, they are expected to be identical - and there is
...
@@ -388,7 +384,6 @@ hosts-dict = {{ '${' ~ zope_address_list_id_dict.keys()[0] ~ ':connection-hosts-
...
@@ -388,7 +384,6 @@ hosts-dict = {{ '${' ~ zope_address_list_id_dict.keys()[0] ~ ':connection-hosts-
{% endfor -%}
{% endfor -%}
{% endif -%}
{% endif -%}
[publish-early]
[publish-early]
recipe = slapos.cookbook:publish-early
recipe = slapos.cookbook:publish-early
-init =
-init =
...
@@ -404,6 +399,8 @@ recipe = slapos.cookbook:publish-early
...
@@ -404,6 +399,8 @@ recipe = slapos.cookbook:publish-early
{%- endif %}
{%- endif %}
{%- if neo %}
{%- if neo %}
neo-cluster gen-neo-cluster:name
neo-cluster gen-neo-cluster:name
neo-admins neo-cluster:admins
neo-masters neo-cluster:masters
{%- if neo[0] %}
{%- if neo[0] %}
neo-cluster = {{ dumps(neo[0]) }}
neo-cluster = {{ dumps(neo[0]) }}
{%- endif %}
{%- endif %}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment