Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
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
zhifan huang
slapos
Commits
f51dbb5c
Commit
f51dbb5c
authored
Feb 08, 2022
by
Arnaud Fontaine
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master' into zope4py2
parents
23c92030
d6dd35af
Changes
30
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
131 additions
and
78 deletions
+131
-78
component/ZODB/buildout.cfg
component/ZODB/buildout.cfg
+1
-1
component/egg-patch/Acquisition/aq_dynamic-2.13.12.patch
component/egg-patch/Acquisition/aq_dynamic-2.13.12.patch
+0
-0
component/inkscape/buildout.cfg
component/inkscape/buildout.cfg
+3
-1
component/trafficserver/buildout.cfg
component/trafficserver/buildout.cfg
+5
-0
component/trafficserver/trafficserver-9.1.1-TSHttpTxnCacheLookupStatusGet-fix.patch
...afficserver-9.1.1-TSHttpTxnCacheLookupStatusGet-fix.patch
+16
-0
component/wendelin.core/buildout.cfg
component/wendelin.core/buildout.cfg
+1
-1
slapos/recipe/check_parameter/template/check_parameter.py.in
slapos/recipe/check_parameter/template/check_parameter.py.in
+3
-2
slapos/recipe/generic_mysql/mysql.py
slapos/recipe/generic_mysql/mysql.py
+1
-1
slapos/recipe/zeo/__init__.py
slapos/recipe/zeo/__init__.py
+1
-1
software/neoppod/buildout.hash.cfg
software/neoppod/buildout.hash.cfg
+2
-2
software/neoppod/instance.cfg.in
software/neoppod/instance.cfg.in
+1
-1
software/neoppod/root-common.cfg.in
software/neoppod/root-common.cfg.in
+3
-3
software/ors-amarisoft/buildout.hash.cfg
software/ors-amarisoft/buildout.hash.cfg
+4
-4
software/ors-amarisoft/config/enb.jinja2.cfg
software/ors-amarisoft/config/enb.jinja2.cfg
+4
-0
software/ors-amarisoft/config/gnb.jinja2.cfg
software/ors-amarisoft/config/gnb.jinja2.cfg
+4
-0
software/ors-amarisoft/instance-enb-epc.jinja2.cfg
software/ors-amarisoft/instance-enb-epc.jinja2.cfg
+6
-0
software/ors-amarisoft/instance-gnb-epc.jinja2.cfg
software/ors-amarisoft/instance-gnb-epc.jinja2.cfg
+6
-0
software/theia/buildout.hash.cfg
software/theia/buildout.hash.cfg
+1
-1
software/theia/instance-import.cfg.jinja.in
software/theia/instance-import.cfg.jinja.in
+8
-9
stack/erp5/buildout.hash.cfg
stack/erp5/buildout.hash.cfg
+9
-9
stack/erp5/haproxy.cfg.in
stack/erp5/haproxy.cfg.in
+2
-2
stack/erp5/instance-balancer.cfg.in
stack/erp5/instance-balancer.cfg.in
+4
-4
stack/erp5/instance-erp5.cfg.in
stack/erp5/instance-erp5.cfg.in
+8
-8
stack/erp5/instance-mariadb.cfg.in
stack/erp5/instance-mariadb.cfg.in
+5
-4
stack/erp5/instance-zeo.cfg.in
stack/erp5/instance-zeo.cfg.in
+6
-6
stack/erp5/instance-zodb-base.cfg.in
stack/erp5/instance-zodb-base.cfg.in
+1
-1
stack/erp5/instance-zope.cfg.in
stack/erp5/instance-zope.cfg.in
+18
-12
stack/erp5/instance.cfg.in
stack/erp5/instance.cfg.in
+5
-2
stack/erp5/run-zelenium-test.py.in
stack/erp5/run-zelenium-test.py.in
+2
-2
stack/slapos.cfg
stack/slapos.cfg
+1
-1
No files found.
component/ZODB/buildout.cfg
View file @
f51dbb5c
...
...
@@ -96,7 +96,7 @@ setup-eggs = ${python-cffi:egg}
[versions]
BTrees = 4.5.1
persistent = 4.6.4
zodbpickle =
1.0.4
zodbpickle =
2.0.0
# Provide ZODB3 for those eggs that still care about ZODB3 compatibility -
# for example wendelin.core. ZODB3 3.11 is just a dependency egg on _latest_
...
...
component/egg-patch/Acquisition/aq_dynamic.patch
→
component/egg-patch/Acquisition/aq_dynamic
-2.13.12
.patch
View file @
f51dbb5c
File moved
component/inkscape/buildout.cfg
View file @
f51dbb5c
...
...
@@ -23,6 +23,8 @@ extends =
../popt/buildout.cfg
../xorg/buildout.cfg
../zlib/buildout.cfg
# Inkscape < 1.1 only supports python2
../python-2.7/buildout.cfg
[gsl]
recipe = slapos.recipe.cmmi
...
...
@@ -52,7 +54,7 @@ configure-options =
-DWITH_LIBVISIO=OFF
-DWITH_LIBWPG=OFF
environment =
PATH=${cmake:location}/bin:${freetype:location}/bin:${gdk-pixbuf:location}/bin:${gettext:location}/bin:${glib:location}/bin:${intltool:location}/bin:${libxml2:location}/bin:${pango:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PATH=${cmake:location}/bin:${freetype:location}/bin:${gdk-pixbuf:location}/bin:${gettext:location}/bin:${glib:location}/bin:${intltool:location}/bin:${libxml2:location}/bin:${pango:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:
${python2.7:location}/bin:
%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
CMAKE_INCLUDE_PATH=${boost-lib:location}/include:${freetype:location}/include:${garbage-collector:location}/include:${libjpeg:location}/include:${lcms2:location}/include:${libpng:location}/include:${zlib:location}/include
CMAKE_LIBRARY_PATH=${boost-lib:location}/lib:${freetype:location}/lib:${garbage-collector:location}/lib:${lcms2:location}/lib:${libjpeg:location}/lib:${libpng:location}/lib:${zlib:location}/lib
...
...
component/trafficserver/buildout.cfg
View file @
f51dbb5c
...
...
@@ -40,6 +40,11 @@ configure-options =
--disable-hwloc
--enable-experimental-plugins
--disable-posix-cap
patch-options = -p1
# https://github.com/apache/trafficserver/pull/8545 + https://github.com/apache/trafficserver/pull/8617
# (see https://github.com/apache/trafficserver/issues/8539 for the detail)
patches =
${:_profile_base_location_}/trafficserver-9.1.1-TSHttpTxnCacheLookupStatusGet-fix.patch#d8ed3db3a48e97eb72aaaf7d7598a2d2
environment =
PATH=${libtool:location}/bin:${make:location}/bin:${patch:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:%(PATH)s
LDFLAGS =-L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib -L${tcl:location}/lib -Wl,-rpath=${tcl:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${luajit:location}/lib -lm
...
...
component/trafficserver/trafficserver-9.1.1-TSHttpTxnCacheLookupStatusGet-fix.patch
0 → 100644
View file @
f51dbb5c
diff -ur trafficserver-9.1.1.orig/src/traffic_server/InkAPI.cc trafficserver-9.1.1/src/traffic_server/InkAPI.cc
--- trafficserver-9.1.1.orig/src/traffic_server/InkAPI.cc 2021-10-29 15:38:50.000000000 +0000
+++ trafficserver-9.1.1/src/traffic_server/InkAPI.cc 2022-01-31 10:37:24.675347079 +0000
@@ -5443,7 +5443,11 @@
break;
case HttpTransact::CACHE_LOOKUP_HIT_WARNING:
case HttpTransact::CACHE_LOOKUP_HIT_FRESH:
- *lookup_status = TS_CACHE_LOOKUP_HIT_FRESH;
+ if (HttpTransact::need_to_revalidate(&sm->t_state)) {
+ *lookup_status = TS_CACHE_LOOKUP_MISS;
+ } else {
+ *lookup_status = TS_CACHE_LOOKUP_HIT_FRESH;
+ }
break;
case HttpTransact::CACHE_LOOKUP_SKIPPED:
*lookup_status = TS_CACHE_LOOKUP_SKIPPED;
component/wendelin.core/buildout.cfg
View file @
f51dbb5c
...
...
@@ -50,7 +50,7 @@ CGO_LDFLAGS += -Wl,-rpath=${zlib:location}/lib
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/wendelin.core.git
branch = master
revision = wendelin.core-2.0.alpha2-
1-gad6305c0
revision = wendelin.core-2.0.alpha2-
2-g3d0f134c
# dir is pretty name as top-level recipe
location = ${buildout:parts-directory}/wendelin.core
git-executable = ${git:location}/bin/git
slapos/recipe/check_parameter/template/check_parameter.py.in
View file @
f51dbb5c
#!%(python_path)s
# BEWARE: This file is operated by slapos node
# BEWARE: It will be overwritten automatically
from __future__ import print_function
import socket
import sys
...
...
@@ -9,9 +10,9 @@ expected = "%(expected-value)s"
not_expected = "%(expected-not-value)s"
if expected != "" and value != expected:
print
"FAIL: %%s != %%s" %% (value, expected
)
print
("FAIL: %%s != %%s" %% (value, expected)
)
sys.exit(127)
if not_expected != "" and value == not_expected:
print
"FAIL: %%s == %%s" %% (value, not_expected
)
print
("FAIL: %%s == %%s" %% (value, not_expected)
)
sys.exit(127)
slapos/recipe/generic_mysql/mysql.py
View file @
f51dbb5c
...
...
@@ -8,7 +8,7 @@ import pytz
def
updateMysql
(
mysql_upgrade_binary
,
mysql_binary
,
mysql_script_file
):
sleep
=
0
with
open
(
mysql_script_file
)
as
script_file
:
with
open
(
mysql_script_file
,
'rb'
)
as
script_file
:
mysql_script
=
script_file
.
read
()
mysql_list
=
mysql_binary
,
'-B'
mysql_tzinfo_to_sql_list
=
(
...
...
slapos/recipe/zeo/__init__.py
View file @
f51dbb5c
...
...
@@ -57,7 +57,7 @@ class Recipe(GenericBaseRecipe):
# Prepare all filestorages
filestorage_snippet
=
""
storage
=
self
.
options
[
'storage'
]
if
isinstance
(
storage
,
basestring
):
if
isinstance
(
storage
,
str
):
for
storage_definition
in
storage
.
splitlines
():
storage_definition
=
storage_definition
.
strip
()
if
not
storage_definition
:
...
...
software/neoppod/buildout.hash.cfg
View file @
f51dbb5c
...
...
@@ -18,7 +18,7 @@ md5sum = 2bd1779425b7561682c0de5496d808ed
[root-common]
filename = root-common.cfg.in
md5sum =
c13b4f1a5aa526a8d3f8e02bf6baf785
md5sum =
ae00507d9e69209a0babd725cf6be536
[instance-neo-admin]
filename = instance-neo-admin.cfg.in
...
...
@@ -38,7 +38,7 @@ md5sum = a8939dcf440126a30db661b5a0a1bfb7
[template-neo]
filename = instance.cfg.in
md5sum =
9e63e16eda75e73ad4ffb50afde0505d
md5sum =
3c7770c03c51ee12d5a94f0924e98990
[cluster]
filename = cluster.cfg.in
...
...
software/neoppod/instance.cfg.in
View file @
f51dbb5c
...
...
@@ -9,7 +9,7 @@ rendered = ${buildout:parts-directory}/${:_buildout_section_name_}.cfg
template = {{ cluster }}
extra-context =
import re re
import url
parse url
parse
import url
lib_parse six.moves.urllib.
parse
import-list =
rawfile root_common {{ root_common }}
...
...
software/neoppod/root-common.cfg.in
View file @
f51dbb5c
...
...
@@ -2,13 +2,13 @@
{% set part_list = [] -%}
{% set sla_dict = {} -%}
{% for sla, ref_list in s
lapparameter_dict.get('sla-dict', {}).iteritems(
) -%}
{% for sla, ref_list in s
ix.iteritems(slapparameter_dict.get('sla-dict', {})
) -%}
{% 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(
) -%}
{% for k, (v,) in
six.iteritems(urllib_parse.parse_qs(sla_dict.pop(name), strict_parsing=1)
) -%}
sla-{{ k }} = {{ v }}
{% endfor -%}
{% else -%}
...
...
@@ -133,7 +133,7 @@ config-monitor-port = {{ dumps(port) }}
{%- endif %}
config-monitor = {{ dumps(parameter_dict.get('monitor', {})) }}
{%- endif %}
{%- for k, v in
node.iteritems(
) %}
{%- for k, v in
six.iteritems(node
) %}
config-{{ k }} = {{ dumps(v) }}
{%- endfor %}
{{ sla(section_id) }}
...
...
software/ors-amarisoft/buildout.hash.cfg
View file @
f51dbb5c
...
...
@@ -20,7 +20,7 @@ md5sum = 6ea4fa210a91c15278c847a809de5991
[template-lte-enb-epc]
_update_hash_filename_ = instance-enb-epc.jinja2.cfg
md5sum =
25fae79db2b30be0f365ad967b278c3c
md5sum =
cf6c400d9fa5b0942f9be7145f77b8de
[template-lte-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
...
...
@@ -28,7 +28,7 @@ md5sum = fe249168a3f50b0efe6aeae39afb03ae
[template-lte-gnb-epc]
_update_hash_filename_ = instance-gnb-epc.jinja2.cfg
md5sum =
5ec4508b02f6e7fbdbe1f37c65b9d897
md5sum =
f94c3e2f714629d9e1fc9b2f7c8eb586
[template-lte-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg
...
...
@@ -44,11 +44,11 @@ md5sum = d33163012d6c98efc59161974c649557
[enb.jinja2.cfg]
filename = config/enb.jinja2.cfg
md5sum =
97d9cdd07704cae36c5e4234c87025e8
md5sum =
8cac0de54f54236e750ee85b98de8a31
[gnb.jinja2.cfg]
filename = config/gnb.jinja2.cfg
md5sum =
b0df7f3b679b25d5296dd67e074364b4
md5sum =
28cc9fc7b1fa7cccb16315a732d9a15f
[ltelogs.jinja2.sh]
filename = ltelogs.jinja2.sh
...
...
software/ors-amarisoft/config/enb.jinja2.cfg
View file @
f51dbb5c
...
...
@@ -61,7 +61,11 @@
],
/* GTP bind address (=address of the ethernet interface connected to
the MME). Must be modified if the MME runs on a different host. */
{% if slapparameter_dict.get('mme_addr', '') %}
gtp_addr: "{{ gtp_addr }}",
{% else %}
gtp_addr: "127.0.1.1",
{% endif %}
/* high 20 bits of SIB1.cellIdentifier */
enb_id: {{ slapparameter_dict.get('enb_id', '0x1A2D0') }},
...
...
software/ors-amarisoft/config/gnb.jinja2.cfg
View file @
f51dbb5c
...
...
@@ -42,7 +42,11 @@
],
/* GTP bind address (=address of the ethernet interface connected to
the AMF). Must be modified if the AMF runs on a different host. */
{% if slapparameter_dict.get('mme_addr', '') %}
gtp_addr: "{{ gtp_addr }}",
{% else %}
gtp_addr: "127.0.1.1",
{% endif %}
gnb_id_bits: 28,
gnb_id: {{ slapparameter_dict.get('gnb_id', '0x12345') }},
...
...
software/ors-amarisoft/instance-enb-epc.jinja2.cfg
View file @
f51dbb5c
...
...
@@ -70,6 +70,12 @@ config-dl_earfcn = {{ dumps(slapparameter_dict["dl_earfcn"]) }}
{% if slapparameter_dict.get("n_rb_dl", None) %}
config-n_rb_dl = {{ dumps(slapparameter_dict["n_rb_dl"]) }}
{% endif %}
{% if slapparameter_dict.get("mme_addr", None) %}
config-mme_addr = {{ dumps(slapparameter_dict["mme_addr"]) }}
{% endif %}
{% if slapparameter_dict.get("enb_id", None) %}
config-enb_id = {{ dumps(slapparameter_dict["enb_id"]) }}
{% endif %}
[monitor-base-url-dict]
lte-epc-request = ${lte-epc-request:connection-monitor-base-url}
...
...
software/ors-amarisoft/instance-gnb-epc.jinja2.cfg
View file @
f51dbb5c
...
...
@@ -73,6 +73,12 @@ config-nr_band = {{ dumps(slapparameter_dict["nr_band"]) }}
{% if slapparameter_dict.get("nr_bandwidth", None) %}
config-nr_bandwidth = {{ dumps(slapparameter_dict["nr_bandwidth"]) }}
{% endif %}
{% if slapparameter_dict.get("mme_addr", None) %}
config-mme_addr = {{ dumps(slapparameter_dict["mme_addr"]) }}
{% endif %}
{% if slapparameter_dict.get("enb_id", None) %}
config-enb_id = {{ dumps(slapparameter_dict["enb_id"]) }}
{% endif %}
[monitor-base-url-dict]
lte-epc-request = ${lte-epc-request:connection-monitor-base-url}
...
...
software/theia/buildout.hash.cfg
View file @
f51dbb5c
...
...
@@ -23,7 +23,7 @@ md5sum = f2f01a47d98a980177dc1755e618bbb7
[instance-import]
_update_hash_filename_ = instance-import.cfg.jinja.in
md5sum =
b0a2c2b3d59fd6c8ba76c634b83a1ba2
md5sum =
74b9b46769a25add50f9f63365de58ad
[instance-export]
_update_hash_filename_ = instance-export.cfg.jinja.in
...
...
software/theia/instance-import.cfg.jinja.in
View file @
f51dbb5c
...
...
@@ -64,15 +64,14 @@ seed = Import {{ root_title }}
# in post-notification-run:output and in importer:wrapper.
[post-notification-run]
recipe = slapos.recipe.template:jinja2
rendered = $${directory:bin}/post-notification-run-script
output = $${:rendered}
mode = 0700
template =
inline:#!${software-info:bash}
# Do nothing because the backup signature will
# be verified by the import script itself
exit 0
# Do nothing because the backup signature will
# be verified by the import script itself
recipe = slapos.recipe.build
output = $${directory:bin}/post-notification-run-script
location = $${:output}
install =
import os
os.symlink("/bin/true", location)
[importer]
wrapper = $${theia-import-script:rendered}
...
...
stack/erp5/buildout.hash.cfg
View file @
f51dbb5c
...
...
@@ -26,7 +26,7 @@ md5sum = d10b8e35b02b5391cf46bf0c7dbb1196
[template-mariadb]
filename = instance-mariadb.cfg.in
md5sum =
f553aa7d6596dcf98e7e61bfb6bd81c7
md5sum =
4a1e279e3757c964caaa27137fecb66f
[template-kumofs]
filename = instance-kumofs.cfg.in
...
...
@@ -66,35 +66,35 @@ md5sum = 0969fbb25b05c02ef3c2d437b2f4e1a0
[template-run-zelenium]
filename = run-zelenium-test.py.in
md5sum =
7a14019abf48ca100eb94d9add20f5ae
md5sum =
274365ebbade26558ca4836837e781aa
[template]
filename = instance.cfg.in
md5sum =
0444d646607f8643e987bb62d1cbbc1d
md5sum =
ed280a76c22247cf2a05fac29b8a8b30
[template-erp5]
filename = instance-erp5.cfg.in
md5sum =
cb41e15a1585973896a7645dc2ae3a5c
md5sum =
f5a1661449c9681b3de7d4af645124ba
[template-zeo]
filename = instance-zeo.cfg.in
md5sum =
1f33f3b93da32b34e2fd11471648835d
md5sum =
3c59315a8f102a970dc54ded85df735a
[template-zodb-base]
filename = instance-zodb-base.cfg.in
md5sum =
bc821f9f9696953b10a03ad7b59a1936
md5sum =
0ac4b74436f554cd677f19275d18d880
[template-zope]
filename = instance-zope.cfg.in
md5sum =
5520e81f1fff3dc26568a614b595da37
md5sum =
06265195ca29805696873b6f8a57a5fd
[template-balancer]
filename = instance-balancer.cfg.in
md5sum =
cbcbe2daf3a51dfab50446a18c0be76e
md5sum =
e0567c8d7717d1ed5daf4555566c76cd
[template-haproxy-cfg]
filename = haproxy.cfg.in
md5sum =
9d61e05c8578e0f17e349603ccaaf52c
md5sum =
4149e3e83c9981586ffa123d31a08908
[template-rsyslogd-cfg]
filename = rsyslogd.cfg.in
...
...
stack/erp5/haproxy.cfg.in
View file @
f51dbb5c
...
...
@@ -150,7 +150,7 @@ defaults
{% set family_path_routing_dict = parameter_dict['family-path-routing-dict'] %}
{% set path_routing_list = parameter_dict['path-routing-list'] %}
{% for name, (port, _, certificate_authentication, backend_list) in sorted(
parameter_dict['backend-dict'].iteritems(
)) -%}
{% for name, (port, _, certificate_authentication, backend_list) in sorted(
six.iteritems(parameter_dict['backend-dict']
)) -%}
listen family_{{ name }}
{%- if parameter_dict.get('ca-cert') -%}
{%- set ssl_auth = ' ca-file ' ~ parameter_dict['ca-cert'] ~ ' verify' ~ ( ' required' if certificate_authentication else ' optional' ) ~ ' crl-file ' ~ parameter_dict['crl'] %}
...
...
@@ -192,7 +192,7 @@ listen family_{{ name }}
{% endfor %}
{% for (ip, port), (_, backend_dict) in sorted(
parameter_dict['zope-virtualhost-monster-backend-dict'].iteritems(
)) -%}
{% for (ip, port), (_, backend_dict) in sorted(
six.iteritems(parameter_dict['zope-virtualhost-monster-backend-dict']
)) -%}
{% set group_name = 'testrunner_' ~ loop.index0 %}
frontend frontend_{{ group_name }}
bind {{ ip }}:{{ port }} {{ bind_ssl_crt }}
...
...
stack/erp5/instance-balancer.cfg.in
View file @
f51dbb5c
...
...
@@ -38,7 +38,7 @@ mode = 644
{% set frontend_caucase_url_hash_list = [] -%}
{% for frontend_caucase_url in frontend_caucase_url_list -%}
{% set hash = hashlib.md5(
frontend_caucase_url
).hexdigest() -%}
{% set hash = hashlib.md5(
six.ensure_binary(frontend_caucase_url)
).hexdigest() -%}
{% do frontend_caucase_url_hash_list.append(hash) -%}
{% set data_dir = '${directory:client-cert-ca}/%s' % hash -%}
{{ caucase.updater(
...
...
@@ -120,9 +120,9 @@ update-command = ${:command}
{% set haproxy_dict = {} -%}
{% set zope_virtualhost_monster_backend_dict = {} %}
{% set test_runner_url_dict = {} %} {# family_name => list of URLs #}
{% set next_port =
itertools.count(slapparameter_dict['tcpv4-port']).next
-%}
{% set next_port =
functools.partial(next, itertools.count(slapparameter_dict['tcpv4-port']))
-%}
{% for family_name, parameter_id_list in sorted(
s
lapparameter_dict['zope-family-dict'].iteritems(
)) -%}
s
ix.iteritems(slapparameter_dict['zope-family-dict']
)) -%}
{% set zope_family_address_list = [] -%}
{% set ssl_authentication = slapparameter_dict['ssl-authentication-dict'].get(family_name, False) -%}
{% set has_webdav = [] -%}
...
...
@@ -306,7 +306,7 @@ certificate-and-key = ${directory:etc}/certificate-and-key-generated.pem
promise = check_socket_listening
name = haproxy.py
config-host = {{ ipv4 }}
config-port = {{
haproxy_dict.values()[0]
[0] }}
config-port = {{
next(six.itervalues(haproxy_dict))
[0] }}
[{{ section('publish') }}]
recipe = slapos.cookbook:publish.serialised
...
...
stack/erp5/instance-erp5.cfg.in
View file @
f51dbb5c
...
...
@@ -28,7 +28,7 @@
{% set partition_thread_count_list = [] -%}
{% set zope_partition_dict = slapparameter_dict.get('zope-partition-dict', {'1': {}}) -%}
{% set zope_family_override_dict = slapparameter_dict.get('family-override', {}) -%}
{% for zope_parameter_dict in
zope_partition_dict.values(
) -%}
{% for zope_parameter_dict in
six.itervalues(zope_partition_dict
) -%}
{# Apply some zope_parameter_dict default values, to avoid duplication. -#}
{% do zope_parameter_dict.setdefault('thread-amount', 4) -%}
{% do zope_parameter_dict.setdefault('instance-count', 1) -%}
...
...
@@ -49,7 +49,7 @@ config-computer-memory-percent-threshold = {{ dumps(monitor_dict.get('computer-m
name = {{ name }}
software-type = {{ software_type }}
return = {{ ' '.join(ret) }}
{% for ret, publish in
ret.iteritems(
) -%}
{% for ret, publish in
six.iteritems(ret
) -%}
{% if publish -%}
{% do publish_dict.__setitem__(name ~ '-' ~ ret, '${' ~ section ~ ':connection-' ~ ret ~ '}') %}
{% endif -%}
...
...
@@ -58,10 +58,10 @@ return = {{ ' '.join(ret) }}
{% endif -%}
{% endfor -%}
{{ root_common.sla(name) }}
{% for k, v in
config.iteritems(
) -%}
{% for k, v in
six.iteritems(config
) -%}
config-{{ k }} = {{ dumps(v) }}
{% endfor -%}
{% for k, v in
key_config.iteritems(
) -%}
{% for k, v in
six.iteritems(key_config
) -%}
config-{{ k }} = {{ '${' ~ v ~ '}' }}
{% endfor -%}
config-name = {{ name }}
...
...
@@ -177,7 +177,7 @@ connection-url = smtp://127.0.0.2:0/
{% endfor -%}
{% do assert(len(mountpoints) == len(zodb_dict)) -%}
{% set neo = [] -%}
{% for server_type, server_dict in s
torage_dict.iteritems(
) -%}
{% for server_type, server_dict in s
ix.iteritems(storage_dict
) -%}
{% if server_type == 'neo' -%}
{% set ((name, server_dict),) = server_dict.items() -%}
{% do neo.append(server_dict.get('cluster')) -%}
...
...
@@ -196,7 +196,7 @@ connection-url = smtp://127.0.0.2:0/
[request-zodb-base]
config-zodb-dict = {{ dumps(zodb_dict) }}
{% for server_type, server_dict in s
torage_dict.iteritems(
) -%}
{% for server_type, server_dict in s
ix.iteritems(storage_dict
) -%}
{% if server_type == 'neo' -%}
config-neo-cluster = ${publish-early:neo-cluster}
config-neo-name = {{ server_dict.keys()[0] }}
...
...
@@ -272,7 +272,7 @@ software-type = zope
{% set zope_backend_path_dict = {} -%}
{% set ssl_authentication_dict = {} -%}
{% set jupyter_zope_family_default = [] -%}
{% for custom_name, zope_parameter_dict in
zope_partition_dict.items(
) -%}
{% for custom_name, zope_parameter_dict in
six.iteritems(zope_partition_dict
) -%}
{% set partition_name = 'zope-' ~ custom_name -%}
{% set section_name = 'request-' ~ partition_name -%}
{% set promise_software_url_section_name = 'promise-software-url' ~ partition_name -%}
...
...
@@ -461,7 +461,7 @@ recipe = slapos.cookbook:publish.serialised
Pick any published hosts-dict, they are expected to be identical - and there is
no way to check here.
-#}
hosts-dict = {{ '${' ~
zope_address_list_id_dict.keys()[0]
~ ':connection-hosts-dict}' }}
hosts-dict = {{ '${' ~
next(iter(zope_address_list_id_dict))
~ ':connection-hosts-dict}' }}
{% endif -%}
{% for name, value in publish_dict.items() -%}
{{ name }} = {{ value }}
...
...
stack/erp5/instance-mariadb.cfg.in
View file @
f51dbb5c
...
...
@@ -195,16 +195,17 @@ environ =
{{ variable }}
{%- endfor %}
[odbc-ini-text]
text = {{ dumps(slapparameter_dict.get('odbc-ini', '').encode('base64')) }}
[{{ section('odbc-ini') }}]
< = jinja2-template-base
rendered = ${directory:etc}/odbc.ini
template = inline:{% raw -%}
{{
parameter_dict['text'].decode('base64
') }}
{{
base64.b64decode(text).decode('utf-8
') }}
{%- endraw %}
context = section parameter_dict odbc-ini-text
text = {{ dumps(base64.b64encode(slapparameter_dict.get('odbc-ini', '').encode('utf-8'))) }}
context =
key text :text
import base64 base64
[{{ section('logrotate-entry-mariadb') }}]
< = logrotate-entry-base
...
...
stack/erp5/instance-zeo.cfg.in
View file @
f51dbb5c
{% set
next_port = itertools.count(slapparameter_dict['tcpv4-port']).next
-%}
{% set
ports = itertools.count(slapparameter_dict['tcpv4-port'])
-%}
{% set ipv4 = (ipv4_set | list)[0] -%}
{% set backup_periodicity = slapparameter_dict.get('backup-periodicity', 'daily') -%}
{% set part_list = [] -%}
...
...
@@ -19,13 +19,13 @@ ip = {{ ipv4 }}
{% set known_tid_storage_identifier_dict = {} -%}
{% set zodb_dict = {} -%}
{% for name, zodb in s
lapparameter_dict['zodb-dict'].iteritems(
) -%}
{% for name, zodb in s
ix.iteritems(slapparameter_dict['zodb-dict']
) -%}
{% do zodb_dict.setdefault(zodb.get('family', 'default').lower(), []).append((name, zodb)) -%}
{% endfor -%}
{% set tidstorage_port = slapparameter_dict['tcpv4-port'] + len(zodb_dict) -%}
{% for family, zodb in
zodb_dict.iteritems(
) -%}
{% for family, zodb in
six.iteritems(zodb_dict
) -%}
{% set storage_list = [] -%}
{% set current_port = next
_port(
) -%}
{% set current_port = next
(ports
) -%}
{% set known_tid_storage_identifier_host = (ipv4, current_port), -%}
{% for name, zodb in zodb -%}
{% do storage_dict.__setitem__(name, {'server': ipv4 ~ ':' ~ current_port, 'storage': name}) %}
...
...
@@ -140,7 +140,7 @@ input = inline: #!/bin/sh
zodb_backup_directory="{{ default_backup_path }}"
repozo="${tidstorage:repozo-binary}"
EXIT_CODE=0
{% for family, zodb in
zodb_dict.iteritems(
) -%}
{% for family, zodb in
six.iteritems(zodb_dict
) -%}
{% for name, zodb in zodb -%}
{% set zeo_section_name = 'zeo-' ~ family %}
storage_name="{{ name }}"
...
...
@@ -209,7 +209,7 @@ tidstorage = {{ tidstorage_repozo_path }}
[monitor-instance-parameter]
monitor-httpd-ipv6 = {{ (ipv6_set | list)[0] }}
monitor-httpd-port = {{ next
_port(
) }}
monitor-httpd-port = {{ next
(ports
) }}
monitor-title = {{ slapparameter_dict['name'] }}
password = {{ slapparameter_dict['monitor-passwd'] }}
...
...
stack/erp5/instance-zodb-base.cfg.in
View file @
f51dbb5c
...
...
@@ -4,7 +4,7 @@
{% set zodb_dict = slapparameter_dict['zodb-dict'] -%}
{% set zeo_dict = slapparameter_dict.get('zodb-zeo', {}) -%}
{% for name, zodb in
zodb_dict.iteritems(
) -%}
{% for name, zodb in
six.iteritems(zodb_dict
) -%}
{% set storage_dict = zodb.setdefault('storage-dict', {}) -%}
{% if zodb['type'] == 'zeo' -%}
{% do storage_dict.update(zeo_dict.get(name, ())) -%}
...
...
stack/erp5/instance-zope.cfg.in
View file @
f51dbb5c
...
...
@@ -2,7 +2,7 @@
{% set wsgi = slapparameter_dict['wsgi'] -%}
{% set webdav = slapparameter_dict['webdav'] -%}
{% set use_ipv6 = slapparameter_dict.get('use-ipv6', False) -%}
{% set
next_port = itertools.count(slapparameter_dict['port-base']).next
-%}
{% set
ports = itertools.count(slapparameter_dict['port-base'])
-%}
{% set site_id = slapparameter_dict['site-id'] -%}
{% set instance_index_list = range(slapparameter_dict['instance-count']) -%}
{% set node_id_base = slapparameter_dict['name'] -%}
...
...
@@ -36,14 +36,14 @@ partition. No more (undefined result), no less (IndexError).
('erp5-cloudooo', slapparameter_dict['cloudooo-url']),
('erp5-smtp', slapparameter_dict['smtp-url']),
) -%}
{% set parsed_url = urlparse.urlparse(url) -%}
{% set parsed_url = url
lib_
parse.urlparse(url) -%}
{% do port_dict.__setitem__(alias, parsed_url.port) -%}
{% do publishable_hosts_dict.__setitem__(alias, parsed_url.hostname) -%}
{%- endfor %}
{% for i, url in enumerate(slapparameter_dict['mysql-url-list']) -%}
{% do publishable_hosts_dict.__setitem__(
'erp5-catalog-' ~ i,
urlparse.urlparse(url).hostname,
url
lib_
parse.urlparse(url).hostname,
) -%}
{%- endfor %}
{% do publishable_hosts_dict.update(slapparameter_dict['hosts-dict']) -%}
...
...
@@ -202,7 +202,7 @@ environment =
command-line = '${userhosts-bin:rendered}' ${:wrapped-command-line}
{# Hack to deploy SSL certs via instance parameters -#}
{% for zodb in
zodb_dict.itervalues(
) -%}
{% for zodb in
six.itervalues(zodb_dict
) -%}
{% set storage_dict = zodb.setdefault('storage-dict', {}) -%}
{% if zodb['type'] == 'neo' and storage_dict.get('ssl', 1) -%}
{% for k, v in (('_ca', 'ca.crt'),
...
...
@@ -243,7 +243,7 @@ file-list = {{ parameter_dict['site-zcml'] }}
[{{ section('zope-inituser') }}]
< = jinja2-template-base
rendered = ${directory:instance}/inituser
template = inline:{{ slapparameter_dict['inituser-login'] }}:{SHA}{{
hashlib.sha1(slapparameter_dict['inituser-password']).digest().encode('base64').rstrip(
) }}
template = inline:{{ slapparameter_dict['inituser-login'] }}:{SHA}{{
base64.b64encode(hashlib.sha1(slapparameter_dict['inituser-password'].encode('utf-8')).digest()
) }}
mode = 600
once = ${:rendered}_done
...
...
@@ -253,7 +253,7 @@ site-id = {{ site_id }}
{% if site_id -%}
mysql-url = {{ slapparameter_dict['mysql-url-list'][0] }}
inituser = {{ slapparameter_dict['inituser-login'] }}
{% set mysql = urlparse.urlsplit(slapparameter_dict['mysql-url-list'][0]) -%}
{% set mysql = url
lib_
parse.urlsplit(slapparameter_dict['mysql-url-list'][0]) -%}
{% set mysql_db = mysql.path.split('/')[1] -%}
sql-connection-string = {{ '%s@erp5-catalog-0:%s %s %s' % (
mysql_db, mysql.port, mysql.username, mysql.password) }}
...
...
@@ -264,7 +264,7 @@ home = ${buildout:directory}
# We only want to change the hostname to 'erp5-cloudooo' if we use the internal
# cloudooo. We plan to remove the ability to have an internal one, so this
# heuristic is enough.
{% set cloudooo = urlparse.urlsplit(slapparameter_dict['cloudooo-url']) -%}
{% set cloudooo = url
lib_
parse.urlsplit(slapparameter_dict['cloudooo-url']) -%}
cloudooo-url = {{ (cloudooo if cloudooo.port == None else
cloudooo._replace(netloc='erp5-cloudooo:%s' % cloudooo.port)).geturl() }}
...
...
@@ -317,7 +317,7 @@ z2-log = ${directory:log}/{{ name }}-Z2.log
node-id = {{ dumps(node_id_base ~ (node_id_index_format % index)) }}
{% set log_list = [] -%}
{% set import_set = set() -%}
{% for db_name, zodb in
zodb_dict.iteritems(
) -%}
{% for db_name, zodb in
six.iteritems(zodb_dict
) -%}
{% do zodb.setdefault('pool-size', thread_amount) -%}
{% if zodb['type'] == 'neo' -%}
{% do import_set.add('neo.client') -%}
...
...
@@ -358,11 +358,17 @@ hash-existing-files =
${buildout:directory}/software_release/buildout.cfg
[{{ section("promise-" ~ name) }}]
{% if six.PY3 -%}
# Disable the promise in Python 3. ERP5 is not compatible with Python 3 yet, so
# the promise would always fail.
recipe =
{% else -%}
<= monitor-promise-base
promise = check_socket_listening
name = {{ name }}.py
config-host = {{ ipv4 }}
config-port = {{ port }}
{% endif -%}
{% if use_ipv6 -%}
[{{ zope_tunnel_section_name }}]
...
...
@@ -402,7 +408,7 @@ post = test ! -s {{ '${' ~ conf_parameter_name ~ ':pid-file}' }} || {{ bin_direc
{% for i in instance_index_list -%}
{{ zope(
i,
next
_port(
),
next
(ports
),
slapparameter_dict['longrequest-logger-timeout'],
slapparameter_dict['longrequest-logger-interval'],
) }}
...
...
@@ -420,7 +426,7 @@ wrapper-path = ${buildout:bin-directory}/${:_buildout_section_name_}
{% if test_runner_enabled and test_runner_node_count -%}
{% for _ in range(test_runner_node_count) %}
{% do test_runner_address_list.append((ipv4, next
_port(
))) %}
{% do test_runner_address_list.append((ipv4, next
(ports
))) %}
{% endfor %}
{% if selenium_server_configuration_dict -%}
...
...
@@ -454,7 +460,7 @@ wrapper-path = ${buildout:bin-directory}/runTestSuite
{% set connection_string_list = [] -%}
{% for url in slapparameter_dict['mysql-test-url-list'] -%}
{% set parsed_url = urlparse.urlparse(url) -%}
{% set parsed_url = url
lib_
parse.urlparse(url) -%}
{% do connection_string_list.append(
'%s@%s:%s %s %s' % (
parsed_url.path.lstrip('/'),
...
...
@@ -563,7 +569,7 @@ software-release-url = ${slap-connection:software-release-url}
[monitor-instance-parameter]
monitor-httpd-ipv6 = {{ (ipv6_set | list)[0] }}
monitor-httpd-port = {{ next
_port(
) }}
monitor-httpd-port = {{ next
(ports
) }}
monitor-title = {{ slapparameter_dict['name'] }}
password = {{ slapparameter_dict['monitor-passwd'] }}
...
...
stack/erp5/instance.cfg.in
View file @
f51dbb5c
...
...
@@ -50,7 +50,7 @@ extra-context =
key local_bt5_repository dynamic-template-erp5-parameters:local-bt5-repository
key openssl_location :openssl-location
import re re
import url
parse url
parse
import url
lib_parse six.moves.urllib.
parse
import-list =
file root_common context:root-common
file caucase context:caucase-jinja2-library
...
...
@@ -80,6 +80,7 @@ extra-context =
section parameter_dict dynamic-template-balancer-parameters
import itertools itertools
import hashlib hashlib
import functools functools
import-list =
file caucase context:caucase-jinja2-library
...
...
@@ -125,7 +126,8 @@ extra-context =
key buildout_directory buildout:directory
key root_common context:root-common
section parameter_dict dynamic-template-zope-parameters
import urlparse urlparse
import base64 base64
import urllib_parse six.moves.urllib.parse
import hashlib hashlib
import itertools itertools
import json json
...
...
@@ -176,6 +178,7 @@ template = {{ template_mariadb }}
filename = instance-mariadb.cfg
extra-context =
section parameter_dict dynamic-template-mariadb-parameters
import base64 base64
# Keep a section for backward compatibility for removed types
# Once the section is removed, ghost instances will keep failing until
...
...
stack/erp5/run-zelenium-test.py.in
View file @
f51dbb5c
...
...
@@ -64,7 +64,7 @@ def main():
if response.code == 200:
static_dict = json.loads(response.read())
activity_list = []
for _, value in s
tatic_dict.iteritems(
):
for _, value in s
ix.iteritems(static_dict
):
activity_list += value['line_list']
if len(activity_list) == 0:
break
...
...
@@ -181,7 +181,7 @@ def main():
try:
test_result = tool.createTestResult(revision = revision,
test_name_list =
test_line_dict.keys(
),
test_name_list =
list(test_line_dict
),
node_title = args.test_node_title,
test_title = test_suite_title,
project_title = args.project_title)
...
...
stack/slapos.cfg
View file @
f51dbb5c
...
...
@@ -197,7 +197,7 @@ slapos.libnetworkcache = 0.22
slapos.rebootstrap = 4.5
slapos.recipe.build = 0.53
slapos.recipe.cmmi = 0.19
slapos.recipe.template =
4.6
slapos.recipe.template =
5.0
slapos.toolbox = 0.126
stevedore = 1.21.0:whl
subprocess32 = 3.5.4
...
...
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