Commit 2ef49f1d authored by Tristan Cavelier's avatar Tristan Cavelier

stack/erp5: add zope promise is-process-older-than-dependency-set

parent 5dba4a8f
...@@ -233,7 +233,7 @@ recipe = slapos.recipe.template:jinja2 ...@@ -233,7 +233,7 @@ recipe = slapos.recipe.template:jinja2
# XXX: "template.cfg" is hardcoded in instanciation recipe # XXX: "template.cfg" is hardcoded in instanciation recipe
rendered = ${buildout:directory}/template.cfg rendered = ${buildout:directory}/template.cfg
template = ${:_profile_base_location_}/instance.cfg.in template = ${:_profile_base_location_}/instance.cfg.in
md5sum = fdaaac449c92dcd68f0434b244d579f2 md5sum = 10d02ec69c875e6a55afe3bf79db7bba
mode = 640 mode = 640
context = context =
key mariadb_link_binary template-mariadb:link-binary key mariadb_link_binary template-mariadb:link-binary
...@@ -316,6 +316,7 @@ context = ...@@ -316,6 +316,7 @@ context =
key xdamage_location xdamage:location key xdamage_location xdamage:location
key xfixes_location xfixes:location key xfixes_location xfixes:location
key zlib_location zlib:location key zlib_location zlib:location
key extra_path_list eggs:extra-paths
[monitor-template-dummy] [monitor-template-dummy]
<= download-base <= download-base
...@@ -339,7 +340,7 @@ md5sum = b0cb0ee97cddc79112a718e065806037 ...@@ -339,7 +340,7 @@ md5sum = b0cb0ee97cddc79112a718e065806037
[template-zope] [template-zope]
<= download-base <= download-base
filename = instance-zope.cfg.in filename = instance-zope.cfg.in
md5sum = bac5ff1ded5454749ec0e18d0ae1dae8 md5sum = 91b830903bde2a60fc589dfb1943e3e3
link-binary = link-binary =
${aspell:location}/bin/aspell ${aspell:location}/bin/aspell
${dmtx-utils:location}/bin/dmtxwrite ${dmtx-utils:location}/bin/dmtxwrite
...@@ -613,6 +614,7 @@ eggs += ...@@ -613,6 +614,7 @@ eggs +=
slapos.toolbox[zodbpack] slapos.toolbox[zodbpack]
scripts += scripts +=
is-local-tcp-port-opened is-local-tcp-port-opened
is-process-older-than-dependency-set
onetimedownload onetimedownload
zodbpack zodbpack
......
...@@ -317,6 +317,19 @@ hostname = {{ ipv4 }} ...@@ -317,6 +317,19 @@ hostname = {{ ipv4 }}
port = {{ port }} port = {{ port }}
path = ${directory:promises}/{{ name }} path = ${directory:promises}/{{ name }}
{% set extra_path_list = [] -%}
{% set shell_escaped_extra_path_list = [] -%}
{% for line in parameter_dict['extra-path-list'].splitlines() -%}
{% set line = line.strip() -%}
{% do extra_path_list.append(line) -%}
{% do shell_escaped_extra_path_list.append(line.replace("\x27", "\x27\\\x27\x27")) -%}
{% endfor -%}
[{{ section("promise-" ~ name ~ "-is-running-actual-product") }}]
recipe = slapos.cookbook:wrapper
command-line = '{{ parameter_dict['bin-directory'] }}/is-process-older-than-dependency-set' -k '{{ "${" ~ conf_parameter_name ~ ":pid-file}" }}' {{ " ".join(shell_escaped_extra_path_list) }}
  • @vpelletier @tc Did you discuss the possibility to add a parameter to disable automatic kill of Zope process by the promise? Such parameter could be helpful when debugging in production environment.

  • No we did not discuss about it. But I agree, I can understand it could be helpful in slap runner environments that don't run instanciation automatically.

  • This would not be an instance parameter anyway. Maybe such use-case requires being able to disable individual promises in the monitor ? In the meantime, what about stopping the monirot process while debugging ? Or is the restart-on-reinstanciate (triggered when running instances promises) also an issue ?

Please register or sign in to reply
wrapper-path = ${directory:promises}/{{ name }}-is-running-actual-product
parameters-extra = true
{% if use_ipv6 -%} {% if use_ipv6 -%}
[{{ zope_tunnel_section_name }}] [{{ zope_tunnel_section_name }}]
< = ipv6toipv4-base < = ipv6toipv4-base
......
...@@ -124,6 +124,7 @@ link-binary = {{ dumps(zope_link_binary) }} ...@@ -124,6 +124,7 @@ link-binary = {{ dumps(zope_link_binary) }}
userhosts = {{ userhosts_location }} userhosts = {{ userhosts_location }}
runzope-userhosts-preloaded-template = {{ template_runzope_userhosts_preloaded }} runzope-userhosts-preloaded-template = {{ template_runzope_userhosts_preloaded }}
template-monitor = {{ dumps(template_monitor) }} template-monitor = {{ dumps(template_monitor) }}
extra-path-list = {{ dumps(extra_path_list) }}
[dynamic-template-zope] [dynamic-template-zope]
<= jinja2-template-base <= jinja2-template-base
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment