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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Thomas Gambier
slapos
Commits
b3edaef2
Commit
b3edaef2
authored
Sep 17, 2024
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
ERP5: set $TMPDIR for zeo
See merge request
nexedi/slapos!1640
parents
618d96ca
bcc64932
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
53 additions
and
128 deletions
+53
-128
setup.py
setup.py
+0
-1
slapos/recipe/zeo/__init__.py
slapos/recipe/zeo/__init__.py
+0
-97
slapos/recipe/zeo/template/zeo-filestorage-snippet.conf.in
slapos/recipe/zeo/template/zeo-filestorage-snippet.conf.in
+0
-4
slapos/recipe/zeo/template/zeo.conf.in
slapos/recipe/zeo/template/zeo.conf.in
+0
-14
stack/erp5/buildout.cfg
stack/erp5/buildout.cfg
+4
-0
stack/erp5/buildout.hash.cfg
stack/erp5/buildout.hash.cfg
+6
-2
stack/erp5/instance-zeo.cfg.in
stack/erp5/instance-zeo.cfg.in
+24
-10
stack/erp5/instance.cfg.in
stack/erp5/instance.cfg.in
+1
-0
stack/erp5/zeo.conf.in
stack/erp5/zeo.conf.in
+18
-0
No files found.
setup.py
View file @
b3edaef2
...
...
@@ -165,7 +165,6 @@ setup(name=name,
'userinfo = slapos.recipe.userinfo:Recipe'
,
'wrapper = slapos.recipe.wrapper:Recipe'
,
'zabbixagent = slapos.recipe.zabbixagent:Recipe'
,
'zeo = slapos.recipe.zeo:Recipe'
,
'zero-knowledge.read = slapos.recipe.zero_knowledge:ReadRecipe'
,
'zero-knowledge.write = slapos.recipe.zero_knowledge:WriteRecipe'
],
...
...
slapos/recipe/zeo/__init__.py
deleted
100644 → 0
View file @
618d96ca
##############################################################################
#
# Copyright (c) 2011 Vifib SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from
slapos.recipe.librecipe
import
GenericBaseRecipe
import
os
class
Recipe
(
GenericBaseRecipe
):
"""
ZEO instance configuration.
wrapper-path -- location of the init script to generate
binary-path -- location of the runzeo command
ip -- ip of the zeo server
port -- port of the zeo server
log-path -- location of the log file
pid-path -- location of the pid file
conf-path -- location of the configuration file
zodb-path -- location of the zodb directory (which contains all storage)
storage -- string with list of all resquested storage
Example: event_module person_module
"""
def
install
(
self
):
snippet_filename
=
self
.
getTemplateFilename
(
'zeo-filestorage-snippet.conf.in'
)
# Prepare all filestorages
filestorage_snippet
=
""
storage
=
self
.
options
[
'storage'
]
if
isinstance
(
storage
,
str
):
for
storage_definition
in
storage
.
splitlines
():
storage_definition
=
storage_definition
.
strip
()
if
not
storage_definition
:
continue
for
q
in
storage_definition
.
split
():
if
'storage-name'
in
q
:
storage_name
=
q
.
split
(
'='
)[
1
].
strip
()
if
'zodb-path'
in
q
:
zodb_path
=
q
.
split
(
'='
)[
1
].
strip
()
filestorage_snippet
+=
self
.
substituteTemplate
(
snippet_filename
,
dict
(
storage_name
=
storage_name
,
path
=
zodb_path
))
else
:
for
storage_name
,
path
in
storage
:
filestorage_snippet
+=
self
.
substituteTemplate
(
snippet_filename
,
{
'storage_name'
:
storage_name
,
'path'
:
path
})
config
=
dict
(
zeo_ip
=
self
.
options
[
'ip'
],
zeo_port
=
self
.
options
[
'port'
],
zeo_event_log
=
self
.
options
[
'log-path'
],
zeo_pid
=
self
.
options
[
'pid-path'
],
zeo_filestorage_snippet
=
filestorage_snippet
,
)
# Create configuration file
template_filename
=
self
.
getTemplateFilename
(
'zeo.conf.in'
)
configuration_path
=
self
.
createFile
(
self
.
options
[
'conf-path'
],
self
.
substituteTemplate
(
template_filename
,
config
))
# Create running wrapper
wrapper_path
=
self
.
createWrapper
(
self
.
options
[
'wrapper-path'
],
(
self
.
options
[
'binary-path'
].
strip
(),
'-C'
,
self
.
options
[
'conf-path'
]))
return
[
configuration_path
,
wrapper_path
]
slapos/recipe/zeo/template/zeo-filestorage-snippet.conf.in
deleted
100644 → 0
View file @
618d96ca
<filestorage %(storage_name)s>
path %(path)s
# pack-gc false
</filestorage>
slapos/recipe/zeo/template/zeo.conf.in
deleted
100644 → 0
View file @
618d96ca
# ZEO configuration file generated by SlapOS
<zeo>
address %(zeo_ip)s:%(zeo_port)s
pid-filename %(zeo_pid)s
</zeo>
%(zeo_filestorage_snippet)s
<eventlog>
<logfile>
dateformat
path %(zeo_event_log)s
</logfile>
</eventlog>
stack/erp5/buildout.cfg
View file @
b3edaef2
...
...
@@ -226,6 +226,7 @@ context =
key template_postfix_master_cf template-postfix-master-cf:target
key instance_wcfs_cfg_in instance-wcfs.cfg.in:target
key template_zeo template-zeo:target
key template_zeo_conf template-zeo-conf:target
key template_zodb_base template-zodb-base:target
key template_zope template-zope:target
key template_zope_conf template-zope-conf:target
...
...
@@ -245,6 +246,9 @@ context =
[template-zeo]
<= download-base
[template-zeo-conf]
<= download-base
[template-zodb-base]
<= download-base
...
...
stack/erp5/buildout.hash.cfg
View file @
b3edaef2
...
...
@@ -70,7 +70,7 @@ md5sum = b95084ae9eed95a68eada45e28ef0c04
[template]
filename = instance.cfg.in
md5sum =
ca0cb83950dd9079cc289891cce08e76
md5sum =
b15425c6e37314c499ad4c0dd52a8212
[template-erp5]
filename = instance-erp5.cfg.in
...
...
@@ -78,7 +78,11 @@ md5sum = d6f7d2fa1bde019892897c767f93e089
[template-zeo]
filename = instance-zeo.cfg.in
md5sum = a9d42d8b2aee3c329913d46e0e3cd108
md5sum = 3190fb6b2380ffbef40db62e1d4ba4d0
[template-zeo-conf]
filename = zeo.conf.in
md5sum = 9e15886206c5deda35542c98acb42e70
[template-zodb-base]
filename = instance-zodb-base.cfg.in
...
...
stack/erp5/instance-zeo.cfg.in
View file @
b3edaef2
...
...
@@ -8,14 +8,6 @@
{% set default_backup_path = buildout_directory ~ '/srv/backup/zodb' -%}
{% set bin_directory = parameter_dict['buildout-bin-directory'] -%}
[zeo-base]
recipe = slapos.cookbook:zeo
log-path = ${directory:log}/${:base-name}.log
pid-path = ${directory:run}/${:base-name}.pid
conf-path = ${directory:etc}/${:base-name}.conf
wrapper-path = ${directory:services}/${:base-name}
binary-path = {{ bin_directory }}/runzeo
ip = {{ ipv4 }}
{% set known_tid_storage_identifier_dict = {} -%}
{% set zodb_dict = {} -%}
...
...
@@ -41,12 +33,33 @@ ip = {{ ipv4 }}
{% endfor -%}
{% set zeo_section_name = 'zeo-' ~ family %}
[{{ zeo_section_name }}]
< = zeo-base
[{{ zeo_section_name ~ "-base" }}]
base-name = zeo-{{ family }}
log-path = ${directory:log}/${:base-name}.log
pid-path = ${directory:run}/${:base-name}.pid
ip = {{ ipv4 }}
port = {{ current_port }}
storage = {{ dumps(storage_list) }}
[{{ zeo_section_name ~ "-conf" }}]
<= {{ zeo_section_name ~ "-base" }}
recipe = slapos.recipe.template:jinja2
url = {{ parameter_dict['zeo-conf-template'] }}
output = ${directory:etc}/${:base-name}.conf
context =
section parameter_dict ${:_buildout_section_name_}
[{{ zeo_section_name }}]
<= {{ zeo_section_name ~ "-base" }}
recipe = slapos.cookbook:wrapper
base-name = {{ "${" ~ zeo_section_name ~"-conf:base-name}" }}
log-path = {{ "${" ~ zeo_section_name ~"-conf:log-path}" }}
wrapper-path = ${directory:services}/${:base-name}
command-line = {{ bin_directory }}/runzeo -C {{ "${" ~ zeo_section_name ~"-conf:output}" }}
environment =
TMPDIR=${directory:tmp}
TMP=${directory:tmp}
[{{ section("logrotate-" ~ zeo_section_name) }}]
< = logrotate-entry-base
name = {{ "${" ~ zeo_section_name ~ ":base-name}" }}
...
...
@@ -196,6 +209,7 @@ srv = ${buildout:directory}/srv
var = ${buildout:directory}/var
log = ${:var}/log
run = ${:var}/run
tmp = ${buildout:directory}/tmp
backup-zodb = {{ default_backup_path }}
zodb = {{ default_zodb_path }}
tidstorage = {{ tidstorage_repozo_path }}
...
...
stack/erp5/instance.cfg.in
View file @
b3edaef2
...
...
@@ -102,6 +102,7 @@ import-list =
[dynamic-template-zeo-parameters]
<= default-dynamic-template-parameters
zeo-conf-template = {{ template_zeo_conf }}
[dynamic-template-zeo]
<= jinja2-template-base
...
...
stack/erp5/zeo.conf.in
0 → 100644
View file @
b3edaef2
<zeo>
address {{ parameter_dict['ip'] }}:{{ parameter_dict['port'] }}
pid-filename {{ parameter_dict['pid-path'] }}
</zeo>
{% for (storage_name, storage_path) in parameter_dict['storage'] -%}
<filestorage {{ storage_name }}>
path {{ storage_path }}
# pack-gc false
</filestorage>
{% endfor %}
<eventlog>
<logfile>
dateformat
path {{ parameter_dict['log-path'] }}
</logfile>
</eventlog>
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