Commit 74018d53 authored by Alain Takoudjou's avatar Alain Takoudjou

Update Release Candidate

parents e156a5b3 297a0dd9
...@@ -184,6 +184,7 @@ Listen {{ ip }}:{{ port }} ...@@ -184,6 +184,7 @@ Listen {{ ip }}:{{ port }}
Listen {{ ip }}:{{ port }} Listen {{ ip }}:{{ port }}
<VirtualHost {{ ip }}:{{ port }}> <VirtualHost {{ ip }}:{{ port }}>
SSLEngine on SSLEngine on
Timeout 3600
{% if enable_authentication and parameter_dict['ca-cert'] and parameter_dict['crl'] -%} {% if enable_authentication and parameter_dict['ca-cert'] and parameter_dict['crl'] -%}
SSLVerifyClient require SSLVerifyClient require
SSLCACertificateFile {{ parameter_dict['ca-cert'] }} SSLCACertificateFile {{ parameter_dict['ca-cert'] }}
......
...@@ -14,5 +14,5 @@ ...@@ -14,5 +14,5 @@
# not need these here). # not need these here).
[template-apache-backend-conf] [template-apache-backend-conf]
filename = apache-backend.conf.in filename = apache-backend.conf.in
md5sum = 3b430ca726a2707e1b6a2ae41a6c8e21 md5sum = c969256e5a9e85a295baf3a695a7c21d
[buildout]
parts =
opensp
extends =
../perl/buildout.cfg
[opensp]
recipe = slapos.recipe.cmmi
shared = true
url = http://prdownloads.sourceforge.net/openjade/OpenSP-1.5.2.tar.gz
md5sum = 670b223c5d12cee40c9137be86b6c39b
configure-options =
--disable-static
--disable-doc-build
environment =
PATH=${perl:location}/bin:%(PATH)s
[buildout]
extends =
../perl/buildout.cfg
parts =
perl-CGI
[perl-CGI]
<= perl-CPAN-package
module = CGI/CGI
version = 4.38
md5sum = 0aeb8563d533e7f83724ed068b5bfc37
[buildout]
extends =
../perl/buildout.cfg
parts =
perl-Class-Accessor
[perl-Class-Accessor]
<= perl-CPAN-package
module = Class/Class-Accessor
version = 0.34
md5sum = 0d9640d237a13276145f7e44b4855b89
[buildout]
extends =
../perl/buildout.cfg
parts =
perl-Config-General
[perl-Config-General]
<= perl-CPAN-package
module = Config/Config-General
version = 2.56
md5sum = 8cf9dd044d016f27b4dc26077606736d
--- Encode-HanExtra-0.23/Makefile.PL.orig 2017-04-14 13:22:30.511213646 +0200
+++ Encode-HanExtra-0.23/Makefile.PL 2017-04-14 13:22:41.935282773 +0200
@@ -179,7 +179,7 @@
my $plib = $self->{PERL_CORE} ? '"-I$(PERL_LIB)"' : '';
my $ucopts = '-"Q"';
$str .=
- qq{\n\t\$(PERL) $plib $enc2xs $ucopts -o \$\@ -f $table.fnm\n\n};
+ qq{\n\t$enc2xs $ucopts -o \$\@ -f $table.fnm\n\n};
open(FILELIST, ">$table.fnm")
|| die "Could not open $table.fnm: $!";
foreach my $file (@{ $tables{$table} }) {
[buildout]
extends =
../patch/buildout.cfg
../perl/buildout.cfg
parts =
perl-Encode-HanExtra
[perl-Encode-HanExtra]
<= perl-CPAN-package
module = Encode/Encode-HanExtra
version = 0.23
md5sum = e1d3bc32c1c8ee304235a06fbcd5d5a4
install-inc = .
patch-options = -p1
patches =
${:_profile_base_location_}/Encode-HanExtra-0.23_use_shebang.patch#4ac804013a68a3e6b7c3bc4115d25a5e
environment =
PATH=${patch:location}/bin:%(PATH)s
[buildout]
extends =
../perl/buildout.cfg
../perl-HTTP-Message/buildout.cfg
parts =
perl-HTML-Encoding
[perl-HTML-Encoding]
<= perl-CPAN-package
module = HTML/HTML-Encoding
version = 0.61
md5sum = bce9f00f04ad055feaa4d6511b30e421
inc = ${perl-HTTP-Message:location}
[buildout]
extends =
../perl/buildout.cfg
parts =
perl-HTML-Template
[perl-HTML-Template]
<= perl-CPAN-package
module = HTML/HTML-Template
version = 2.95
md5sum = 6f08e9631af52e6a5f6e4648b89265fe
[buildout]
extends =
../perl/buildout.cfg
parts =
perl-JSON
[perl-JSON]
<= perl-CPAN-package
module = JSON/JSON
version = 2.90
md5sum = e1512169a623e790a3f69b599cc1d3b9
[buildout]
extends =
../perl/buildout.cfg
parts =
perl-Net-IP
[perl-Net-IP]
<= perl-CPAN-package
module = Net/Net-IP
version = 1.26
md5sum = 3a98e3ac45d69ea38a63a7e678bd716d
[buildout]
extends =
../opensp/buildout.cfg
../perl/buildout.cfg
../perl-Class-Accessor/buildout.cfg
parts =
perl-SGML-Parser-OpenSP
[perl-SGML-Parser-OpenSP]
<= perl-CPAN-package
module = SGML/SGML-Parser-OpenSP
version = 0.994
md5sum = b1ee0244e9daa4d37f28cf32c4753691
inc = ${perl-Class-Accessor:site_perl}
extra-configure-args = \
INC=-I${opensp:location}/include \
LIBS="-lstdc++ -L${opensp:location}/lib -losp"
make-options =
OTHERLDFLAGS="-Wl,-rpath=${opensp:location}/lib"
[buildout]
parts = pure-ftpd
[pure-ftpd]
recipe = slapos.recipe.cmmi
url = https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.46.tar.bz2
md5sum = efce5529c1f0a39dafdd532c619503f1
# See https://download.pureftpd.org/pub/pure-ftpd/doc/README for more configurations
configure-options =
--with-uploadscript
#environment =
# Probably it is missing dependencies to be set here.
[buildout]
extends =
../perl/buildout.cfg
../perl-CGI/buildout.cfg
../perl-Config-General/buildout.cfg
../perl-Encode-HanExtra/buildout.cfg
../perl-HTML-Encoding/buildout.cfg
../perl-HTML-Parser/buildout.cfg
../perl-HTML-Template/buildout.cfg
../perl-JSON/buildout.cfg
../perl-Net-IP/buildout.cfg
../perl-SGML-Parser-OpenSP/buildout.cfg
../perl-URI/buildout.cfg
../perl-XML-LibXML/buildout.cfg
../perl-libwww-perl/buildout.cfg
parts = w3-validator
versions = versions
[versions]
erp5.recipe.w3validator = 1.0.2
[w3-validator-perl]
<= perl-wrapper
inc =
${perl-CGI:site_perl}:\
${perl-Config-General:site_perl}:\
${perl-Encode-HanExtra:site_perl}:\
${perl-HTML-Encoding:site_perl}:\
${perl-HTML-Parser:site_perl}:\
${perl-HTML-Template:site_perl}:\
${perl-JSON:site_perl}:\
${perl-Net-IP:site_perl}:\
${perl-SGML-Parser-OpenSP:site_perl}:\
${perl-URI:site_perl}:\
${perl-XML-LibXML:site_perl}:\
${perl-libwww-perl:site_perl}
[w3-validator]
recipe = erp5.recipe.w3validator
perl-path = ${w3-validator-perl:perl-bin}
# validator-1_3-release in https://dvcs.w3.org/hg/markup-validator/tags
validator-url = https://dvcs.w3.org/hg/markup-validator/archive/6c6c7c1f69c5.tar.bz2
dtd-url =
...@@ -89,18 +89,8 @@ class Recipe(object): ...@@ -89,18 +89,8 @@ class Recipe(object):
One of the IPv4 addresses. One of the IPv4 addresses.
ipv6-random ipv6-random
One of the IPv6 addresses. One of the IPv6 addresses.
tap global_ipv4_network
Set of TAP interfaces. The global IPv4 network
tap-network-information-dict
Dict of set of all TAP network information
tap-ipv4
ipv4 allowed for this TAP
tap-gateway
ipv4 of gateway interface of this TAP
tap-netmask
ipv4 netmask address of this TAP
tap-network
ipv4 network address of this TAP
configuration configuration
Dict of all parameters. Dict of all parameters.
storage-dict storage-dict
...@@ -112,6 +102,8 @@ class Recipe(object): ...@@ -112,6 +102,8 @@ class Recipe(object):
anyway, and are available through "configuration" output key. anyway, and are available through "configuration" output key.
instance-state instance-state
The instance state. The instance state.
Also note that all information from resource file will be appended
""" """
# XXX: used to detect if a configuration key is a valid section key. This # XXX: used to detect if a configuration key is a valid section key. This
...@@ -215,20 +207,6 @@ class Recipe(object): ...@@ -215,20 +207,6 @@ class Recipe(object):
options['ipv4-random'] = list(ipv4_set)[0].encode('UTF-8') options['ipv4-random'] = list(ipv4_set)[0].encode('UTF-8')
if ipv6_set: if ipv6_set:
options['ipv6-random'] = list(ipv6_set)[0].encode('UTF-8') options['ipv6-random'] = list(ipv6_set)[0].encode('UTF-8')
if route_ipv4_set:
options['tap-ipv4'] = list(route_ipv4_set)[0].encode('UTF-8')
options['tap-network-information-dict'] = dict(ipv4=route_ipv4_set,
netmask=route_mask_set,
gateway=route_gw_set,
network=route_network_set)
else:
options['tap-network-information-dict'] = {}
if route_gw_set:
options['tap-gateway'] = list(route_gw_set)[0].encode('UTF-8')
if route_mask_set:
options['tap-netmask'] = list(route_mask_set)[0].encode('UTF-8')
if route_network_set:
options['tap-network'] = list(route_network_set)[0].encode('UTF-8')
storage_home = options.get('storage-home') storage_home = options.get('storage-home')
storage_dict = {} storage_dict = {}
...@@ -245,8 +223,6 @@ class Recipe(object): ...@@ -245,8 +223,6 @@ class Recipe(object):
storage_dict[filename] = storage_link storage_dict[filename] = storage_link
options['storage-dict'] = storage_dict options['storage-dict'] = storage_dict
options['tap'] = tap_set
# The external information transfered from Slap Master has been processed # The external information transfered from Slap Master has been processed
# so we extend with information gathered from partition resource file # so we extend with information gathered from partition resource file
if hasattr(slapformat.Partition, "resource_file"): if hasattr(slapformat.Partition, "resource_file"):
......
...@@ -18,7 +18,7 @@ md5sum = f686f765e55d1dce2e55a400f0714b3e ...@@ -18,7 +18,7 @@ md5sum = f686f765e55d1dce2e55a400f0714b3e
[template-apache-frontend] [template-apache-frontend]
filename = instance-apache-frontend.cfg filename = instance-apache-frontend.cfg
md5sum = 274788ae9701ee1aabe26d1237f174e7 md5sum = d6398d727eb1e1bc3df1768a9b9a7e0c
[template-apache-replicate] [template-apache-replicate]
filename = instance-apache-replicate.cfg.in filename = instance-apache-replicate.cfg.in
......
...@@ -198,8 +198,8 @@ extra-context = ...@@ -198,8 +198,8 @@ extra-context =
section apache_configuration apache-configuration section apache_configuration apache-configuration
section nginx_configuration nginx-configuration section nginx_configuration nginx-configuration
key monitor_base_url monitor-instance-parameter:monitor-base-url key monitor_base_url monitor-instance-parameter:monitor-base-url
key promise_directory monitor-directory:promises key promise_directory directory:promises
key report_directory monitor-directory:reports key report_directory directory:bin
raw bin_directory ${buildout:bin-directory} raw bin_directory ${buildout:bin-directory}
[dynamic-virtualhost-template-slave] [dynamic-virtualhost-template-slave]
...@@ -632,7 +632,7 @@ private-path-list += ...@@ -632,7 +632,7 @@ private-path-list +=
[monitor-traffic-summary-last-stats-wrapper] [monitor-traffic-summary-last-stats-wrapper]
< = jinja2-template-base < = jinja2-template-base
template = ${template-wrapper:output} template = ${template-wrapper:output}
rendered = $${monitor-directory:reports}/traffic-summary-last-stats_every_1_hour rendered = $${directory:bin}/traffic-summary-last-stats_every_1_hour
mode = 0700 mode = 0700
command = export TS_ROOT=$${buildout:directory} && echo "<pre>$(${trafficserver:location}/bin/traffic_logstats -f $${trafficserver-directory:log}/squid.blog)</pre>" command = export TS_ROOT=$${buildout:directory} && echo "<pre>$(${trafficserver:location}/bin/traffic_logstats -f $${trafficserver-directory:log}/squid.blog)</pre>"
extra-context = extra-context =
...@@ -642,7 +642,7 @@ extra-context = ...@@ -642,7 +642,7 @@ extra-context =
[monitor-ats-cache-stats-wrapper] [monitor-ats-cache-stats-wrapper]
< = jinja2-template-base < = jinja2-template-base
template = ${template-wrapper:output} template = ${template-wrapper:output}
rendered = $${monitor-directory:reports}/ats-cache-stats_every_1_hour rendered = $${directory:bin}/ats-cache-stats_every_1_hour
mode = 0700 mode = 0700
command = export TS_ROOT=$${buildout:directory} && echo "<pre>$(${trafficserver:location}/bin/traffic_shell $${monitor-ats-cache-stats-config:rendered})</pre>" command = export TS_ROOT=$${buildout:directory} && echo "<pre>$(${trafficserver:location}/bin/traffic_shell $${monitor-ats-cache-stats-config:rendered})</pre>"
extra-context = extra-context =
...@@ -651,7 +651,7 @@ extra-context = ...@@ -651,7 +651,7 @@ extra-context =
[monitor-apache-server-status-wrapper] [monitor-apache-server-status-wrapper]
< = jinja2-template-base < = jinja2-template-base
template = ${template-wrapper:output} template = ${template-wrapper:output}
rendered = $${monitor-directory:reports}/monitor-apache-server-status-wrapper rendered = $${directory:bin}/monitor-apache-server-status-wrapper
mode = 0700 mode = 0700
command = ${curl:location}/bin/curl -s http://$${instance-parameter:ipv4-random}:$${instance-parameter:configuration.plain_http_port}/server-status -u $${monitor-instance-parameter:username}:$${monitor-htpasswd:passwd} 2>&1 command = ${curl:location}/bin/curl -s http://$${instance-parameter:ipv4-random}:$${instance-parameter:configuration.plain_http_port}/server-status -u $${monitor-instance-parameter:username}:$${monitor-htpasswd:passwd} 2>&1
extra-context = extra-context =
......
[buildout]
extends = software.cfg
[versions]
setuptools = 36.6.0
...@@ -22,7 +22,7 @@ md5sum = c801b7f9f11f0965677c22e6bbe9281b ...@@ -22,7 +22,7 @@ md5sum = c801b7f9f11f0965677c22e6bbe9281b
[template-apache-frontend] [template-apache-frontend]
filename = instance-apache-frontend.cfg.in filename = instance-apache-frontend.cfg.in
md5sum = db61a7c0aadba180b7aec6056d2c0019 md5sum = 47150a0f4c9ff6f71753b93e03db05e7
[template-apache-replicate] [template-apache-replicate]
filename = instance-apache-replicate.cfg.in filename = instance-apache-replicate.cfg.in
...@@ -58,7 +58,7 @@ md5sum = f20d6c3d2d94fb685f8d26dfca1e822b ...@@ -58,7 +58,7 @@ md5sum = f20d6c3d2d94fb685f8d26dfca1e822b
[template-default-slave-virtualhost] [template-default-slave-virtualhost]
filename = templates/default-virtualhost.conf.in filename = templates/default-virtualhost.conf.in
md5sum = e21bf673c35f049e7457ec78de9a1964 md5sum = 3b9d7c04206da76edb40740a51e4063c
[template-cached-slave-virtualhost] [template-cached-slave-virtualhost]
filename = templates/cached-virtualhost.conf.in filename = templates/cached-virtualhost.conf.in
......
...@@ -194,8 +194,8 @@ extra-context = ...@@ -194,8 +194,8 @@ extra-context =
section caddy_configuration caddy-configuration section caddy_configuration caddy-configuration
section nginx_configuration nginx-configuration section nginx_configuration nginx-configuration
key monitor_base_url monitor-instance-parameter:monitor-base-url key monitor_base_url monitor-instance-parameter:monitor-base-url
key promise_directory monitor-directory:promises key promise_directory directory:promises
key report_directory monitor-directory:reports key report_directory directory:bin
key bin_directory :bin_directory key bin_directory :bin_directory
key login_certificate ca-frontend:cert-file key login_certificate ca-frontend:cert-file
key login_key ca-frontend:key-file key login_key ca-frontend:key-file
...@@ -666,7 +666,7 @@ private-path-list += ...@@ -666,7 +666,7 @@ private-path-list +=
[monitor-traffic-summary-last-stats-wrapper] [monitor-traffic-summary-last-stats-wrapper]
< = jinja2-template-base < = jinja2-template-base
template = {{ parameter_dict['template_wrapper'] }} template = {{ parameter_dict['template_wrapper'] }}
rendered = ${monitor-directory:reports}/traffic-summary-last-stats_every_1_hour rendered = ${directory:bin}/traffic-summary-last-stats_every_1_hour
mode = 0700 mode = 0700
command = export TS_ROOT=${buildout:directory} && echo "<pre>$({{ parameter_dict['trafficserver'] }}/bin/traffic_logstats -f ${trafficserver-directory:log}/squid.blog)</pre>" command = export TS_ROOT=${buildout:directory} && echo "<pre>$({{ parameter_dict['trafficserver'] }}/bin/traffic_logstats -f ${trafficserver-directory:log}/squid.blog)</pre>"
extra-context = extra-context =
...@@ -676,7 +676,7 @@ extra-context = ...@@ -676,7 +676,7 @@ extra-context =
[monitor-ats-cache-stats-wrapper] [monitor-ats-cache-stats-wrapper]
< = jinja2-template-base < = jinja2-template-base
template = {{ parameter_dict['template_wrapper'] }} template = {{ parameter_dict['template_wrapper'] }}
rendered = ${monitor-directory:reports}/ats-cache-stats_every_1_hour rendered = ${directory:bin}/ats-cache-stats_every_1_hour
mode = 0700 mode = 0700
command = export TS_ROOT=${buildout:directory} && echo "<pre>$({{ parameter_dict['trafficserver'] }}/bin/traffic_shell ${monitor-ats-cache-stats-config:rendered})</pre>" command = export TS_ROOT=${buildout:directory} && echo "<pre>$({{ parameter_dict['trafficserver'] }}/bin/traffic_shell ${monitor-ats-cache-stats-config:rendered})</pre>"
extra-context = extra-context =
...@@ -685,7 +685,7 @@ extra-context = ...@@ -685,7 +685,7 @@ extra-context =
[monitor-caddy-server-status-wrapper] [monitor-caddy-server-status-wrapper]
< = jinja2-template-base < = jinja2-template-base
template = {{ parameter_dict['template_wrapper'] }} template = {{ parameter_dict['template_wrapper'] }}
rendered = ${monitor-directory:reports}/monitor-caddy-server-status-wrapper rendered = ${directory:bin}/monitor-caddy-server-status-wrapper
mode = 0700 mode = 0700
command = {{ parameter_dict['curl'] }}/bin/curl -s http://{{ instance_parameter['ipv4-random'] }}:${configuration:plain_http_port}/server-status -u ${monitor-instance-parameter:username}:${monitor-htpasswd:passwd} 2>&1 command = {{ parameter_dict['curl'] }}/bin/curl -s http://{{ instance_parameter['ipv4-random'] }}:${configuration:plain_http_port}/server-status -u ${monitor-instance-parameter:username}:${monitor-htpasswd:passwd} 2>&1
extra-context = extra-context =
......
...@@ -16,14 +16,14 @@ ...@@ -16,14 +16,14 @@
{%- if slave_parameter.get('custom_domain') not in host_list %} {%- if slave_parameter.get('custom_domain') not in host_list %}
{%- do host_list.append(slave_parameter.get('custom_domain')) %} {%- do host_list.append(slave_parameter.get('custom_domain')) %}
{%- endif %} {%- endif %}
{%- set backend_url = slave_parameter.get('https-url', slave_parameter.get('url', '')) %} {%- set backend_url = slave_parameter.get('https-url', slave_parameter.get('url', '')).rstrip('/') %}
{%- set http_host_list = [] %} {%- set http_host_list = [] %}
{%- set https_host_list = [] %} {%- set https_host_list = [] %}
{%- for host in host_list %} {%- for host in host_list %}
{%- do http_host_list.append('http://%s:%s' % (host, slave_parameter['http_port'] )) %} {%- do http_host_list.append('http://%s:%s' % (host, slave_parameter['http_port'] )) %}
{%- do https_host_list.append('https://%s:%s' % (host, slave_parameter['https_port'] )) %} {%- do https_host_list.append('https://%s:%s' % (host, slave_parameter['https_port'] )) %}
{%- endfor %} {#- for host in host_list #} {%- endfor %} {#- for host in host_list #}
{%- set default_path = slave_parameter.get('default-path', '') | urlencode %} {%- set default_path = slave_parameter.get('default-path', '').strip('/') | urlencode %}
# SSL enabled hosts # SSL enabled hosts
{{ https_host_list|join(', ') }} { {{ https_host_list|join(', ') }} {
...@@ -42,12 +42,25 @@ ...@@ -42,12 +42,25 @@
log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ slave_parameter.get('error_log') }} errors {{ slave_parameter.get('error_log') }}
{%- if prefer_gzip and not (slave_type == 'zope' and backend_url) %} {%- if not (slave_type == 'zope' and backend_url) %}
{% if prefer_gzip %}
rewrite { rewrite {
regexp (.*)
if {>Accept-Encoding} match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)" if {>Accept-Encoding} match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)"
to /prefer-gzip{uri} to /prefer-gzip{1}
}
rewrite {
regexp (.*)
if {>Accept-Encoding} not_match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)"
to {1}
} }
{%- endif %} {#- if prefer_gzip and not (slave_type == 'zope' and backend_url) #} {% else %}
rewrite {
regexp (.*)
to {1}
}
{% endif %}
{%- endif %} {#- if not (slave_type == 'zope' and backend_url) #}
{%- if slave_type == 'zope' and backend_url %} {%- if slave_type == 'zope' and backend_url %}
# Zope configuration # Zope configuration
...@@ -94,18 +107,18 @@ ...@@ -94,18 +107,18 @@
rewrite { rewrite {
regexp (.*) regexp (.*)
if {>Accept-Encoding} match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)" if {>Accept-Encoding} match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)"
to /prefer-gzip/VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-https-port', '443') | int }}%2F{{ slave_parameter.get('path', '') }}%2FVirtualHostRoot/{1} to /prefer-gzip/VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-https-port', '443') | int }}%2F{{ slave_parameter.get('path', '').strip('/') }}%2FVirtualHostRoot/{1}
} }
{%- else %} {%- else %}
rewrite { rewrite {
regexp (.*) regexp (.*)
to /VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-https-port', '443') | int }}%2F{{ slave_parameter.get('path', '') }}%2FVirtualHostRoot/{1} to /VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-https-port', '443') | int }}%2F{{ slave_parameter.get('path', '').strip('/') }}%2FVirtualHostRoot/{1}
} {# rewrite #} } {# rewrite #}
{%- endif %} {#- if prefer_gzip #} {%- endif %} {#- if prefer_gzip #}
{%- elif slave_type == 'redirect' and backend_url %} {#- if slave_type == 'zope' and backend_url #} {%- elif slave_type == 'redirect' and backend_url %} {#- if slave_type == 'zope' and backend_url #}
# Redirect configuration # Redirect configuration
redir 302 { redir 302 {
/ {{ backend_url }}{uri} / {{ backend_url }}{rewrite_uri}
} {# redir #} } {# redir #}
{%- else %} {#- if slave_type == 'zope' and backend_url #} {%- else %} {#- if slave_type == 'zope' and backend_url #}
# Default configuration # Default configuration
...@@ -163,20 +176,35 @@ ...@@ -163,20 +176,35 @@
log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}" log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
errors {{ slave_parameter.get('error_log') }} errors {{ slave_parameter.get('error_log') }}
{%- if prefer_gzip and not (slave_type == 'zope' and backend_url) %} {%- if not (slave_type == 'zope' and backend_url) %}
{%- if prefer_gzip %}
rewrite { rewrite {
regexp (.*)
if {>Accept-Encoding} match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)" if {>Accept-Encoding} match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)"
to /prefer-gzip{uri} to /prefer-gzip{1}
} }
{%- endif %} {#- if prefer_gzip and not (slave_type == 'zope' and backend_url) #} rewrite {
regexp (.*)
if {>Accept-Encoding} not_match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)"
to {1}
}
{% else %}
rewrite {
regexp (.*)
to {1}
}
{% endif %}
{%- endif %} {#- if not (slave_type == 'zope' and backend_url) #}
{%- if https_only %} {%- if https_only %}
# Enforced redirection to SSL-enabled host # Enforced redirection to SSL-enabled host
redir / https://{host}{uri} redir 302 {
/ https://{host}{rewrite_uri}
}
{%- elif slave_type == 'redirect' and slave_parameter.get('url', '') %} {#- if https_only #} {%- elif slave_type == 'redirect' and slave_parameter.get('url', '') %} {#- if https_only #}
# Redirect configuration # Redirect configuration
redir 302 { redir 302 {
/ {{ slave_parameter.get('url', '') }}{uri} / {{ slave_parameter.get('url', '') }}{rewrite_uri}
} {# redir #} } {# redir #}
{%- elif slave_type == 'zope' and backend_url %} {#- if https_only #} {%- elif slave_type == 'zope' and backend_url %} {#- if https_only #}
# Zope configuration # Zope configuration
...@@ -223,12 +251,12 @@ ...@@ -223,12 +251,12 @@
rewrite { rewrite {
regexp (.*) regexp (.*)
if {>Accept-Encoding} match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)" if {>Accept-Encoding} match "(^gzip,.*|.*, gzip,.*|.*, gzip$|^gzip$)"
to /prefer-gzip/VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-http-port', '80') | int }}%2F{{ slave_parameter.get('path', '') }}%2FVirtualHostRoot/{1} to /prefer-gzip/VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-http-port', '80') | int }}%2F{{ slave_parameter.get('path', '').strip('/') }}%2FVirtualHostRoot/{1}
} }
{%- else %} {%- else %}
rewrite { rewrite {
regexp (.*) regexp (.*)
to /VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-http-port', '80') | int }}%2F{{ slave_parameter.get('path', '') }}%2FVirtualHostRoot/{1} to /VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-http-port', '80') | int }}%2F{{ slave_parameter.get('path', '').strip('/') }}%2FVirtualHostRoot/{1}
} {# rewrite #} } {# rewrite #}
{% endif %} {#- if prefer_gzip #} {% endif %} {#- if prefer_gzip #}
{%- else %} {#- if https_only #} {%- else %} {#- if https_only #}
......
...@@ -275,13 +275,6 @@ class TestDataMixin(object): ...@@ -275,13 +275,6 @@ class TestDataMixin(object):
self.assertTestData(runtime_data) self.assertTestData(runtime_data)
def test_monitor_promise_list(self):
runtime_data = '\n'.join(sorted([
q[len(self.instance_path) + 1:]
for q in glob.glob(os.path.join(
self.instance_path, '*', 'etc', 'monitor-promise', '*'))]))
self.assertTestData(runtime_data)
def _test_file_list(self, slave_dir, IGNORE_PATH_LIST): def _test_file_list(self, slave_dir, IGNORE_PATH_LIST):
runtime_data = [] runtime_data = []
for slave_var in glob.glob(os.path.join(self.instance_path, '*', 'var')): for slave_var in glob.glob(os.path.join(self.instance_path, '*', 'var')):
...@@ -505,10 +498,10 @@ class SlaveHttpFrontendTestCase(HttpFrontendTestCase): ...@@ -505,10 +498,10 @@ class SlaveHttpFrontendTestCase(HttpFrontendTestCase):
certfile=cls.test_server_certificate_file.name, certfile=cls.test_server_certificate_file.name,
server_side=True) server_side=True)
cls.backend_url = 'http://%s:%s' % server.server_address cls.backend_url = 'http://%s:%s/' % server.server_address
cls.server_process = multiprocessing.Process(target=server.serve_forever) cls.server_process = multiprocessing.Process(target=server.serve_forever)
cls.server_process.start() cls.server_process.start()
cls.backend_https_url = 'https://%s:%s' % server_https.server_address cls.backend_https_url = 'https://%s:%s/' % server_https.server_address
cls.server_https_process = multiprocessing.Process( cls.server_https_process = multiprocessing.Process(
target=server_https.serve_forever) target=server_https.serve_forever)
cls.server_https_process.start() cls.server_https_process.start()
...@@ -756,8 +749,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -756,8 +749,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
'url': cls.backend_url, 'url': cls.backend_url,
}, },
'url_https-url': { 'url_https-url': {
'url': cls.backend_url + '/http', 'url': cls.backend_url + 'http',
'https-url': cls.backend_url + '/https', 'https-url': cls.backend_url + 'https',
}, },
'server-alias': { 'server-alias': {
'url': cls.backend_url, 'url': cls.backend_url,
...@@ -870,12 +863,12 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -870,12 +863,12 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
'type-zope-path': { 'type-zope-path': {
'url': cls.backend_url, 'url': cls.backend_url,
'type': 'zope', 'type': 'zope',
'path': 'path', 'path': '///path/to/some/resource///',
}, },
'type-zope-default-path': { 'type-zope-default-path': {
'url': cls.backend_url, 'url': cls.backend_url,
'type': 'zope', 'type': 'zope',
'default-path': 'default-path', 'default-path': '///default-path/to/some/resource///',
}, },
'type-notebook': { 'type-notebook': {
'url': cls.backend_url, 'url': cls.backend_url,
...@@ -1034,10 +1027,6 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1034,10 +1027,6 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
q for q in os.listdir(os.path.join(partition_path, 'etc', 'plugin')) q for q in os.listdir(os.path.join(partition_path, 'etc', 'plugin'))
if not q.endswith('.pyc')])) if not q.endswith('.pyc')]))
self.assertEqual(
set(),
set(os.listdir(os.path.join(partition_path, 'etc', 'monitor-promise'))))
# check that monitor cors domains are correctly setup by file presence, as # check that monitor cors domains are correctly setup by file presence, as
# we trust monitor stack being tested in proper place and it is too hard # we trust monitor stack being tested in proper place and it is too hard
# to have working monitor with local proxy # to have working monitor with local proxy
...@@ -1069,6 +1058,20 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1069,6 +1058,20 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
open(os.path.join(partition_path, 'bin', 'nginx-wrapper'), 'r').read() open(os.path.join(partition_path, 'bin', 'nginx-wrapper'), 'r').read()
) )
def test_monitor_conf(self):
monitor_conf_list = glob.glob(
os.path.join(
self.instance_path, '*', 'etc', 'monitor.conf'
))
self.assertEqual(2, len(monitor_conf_list))
expected = [(False, q) for q in monitor_conf_list]
got = [('!py!' in open(q).read(), q) for q in monitor_conf_list]
# check that no monitor.conf in generated configuratio has magic !py!
self.assertEqual(
expected,
got
)
def test_empty(self): def test_empty(self):
parameter_dict = self.parseSlaveParameterDict('empty') parameter_dict = self.parseSlaveParameterDict('empty')
self.assertLogAccessUrlWithPop(parameter_dict) self.assertLogAccessUrlWithPop(parameter_dict)
...@@ -1147,13 +1150,14 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1147,13 +1150,14 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
try: try:
j = result.json() j = result.json()
...@@ -1172,8 +1176,9 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1172,8 +1176,9 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result_http = self.fakeHTTPResult( result_http = self.fakeHTTPResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
self.assertEqualResultJson(result_http, 'Path', '/test-path') 'test-path/deep/.././deeper')
self.assertEqualResultJson(result_http, 'Path', '/test-path/deeper')
try: try:
j = result_http.json() j = result_http.json()
...@@ -1238,7 +1243,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1238,7 +1243,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
...@@ -1247,8 +1253,10 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1247,8 +1253,10 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
self.assertEqualResultJson( self.assertEqualResultJson(
result, result,
'Path', 'Path',
'/VirtualHostBase/https//' '/VirtualHostBase/'
'typezopepath.example.com:443/path/VirtualHostRoot/test-path' 'https//typezopepath.example.com:443/path/to/some/resource'
'/VirtualHostRoot/'
'test-path/deeper'
) )
def test_type_zope_default_path(self): def test_type_zope_default_path(self):
...@@ -1274,7 +1282,13 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1274,7 +1282,13 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqual( self.assertEqual(
'https://typezopedefaultpath.example.com:%s/default-path' % ( httplib.MOVED_PERMANENTLY,
result.status_code
)
self.assertEqual(
'https://typezopedefaultpath.example.com:%s/'
'default-path/to/some/resource' % (
HTTPS_PORT,), HTTPS_PORT,),
result.headers['Location'] result.headers['Location']
) )
...@@ -1295,25 +1309,28 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1295,25 +1309,28 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
'alias1.example.com', parameter_dict['public-ipv4'], 'test-path') 'alias1.example.com', parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
'alias2.example.com', parameter_dict['public-ipv4'], 'test-path') 'alias2.example.com', parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
...@@ -1511,19 +1528,26 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1511,19 +1528,26 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
result_http = self.fakeHTTPResult( result_http = self.fakeHTTPResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
'https://httpsonly.example.com/test-path', httplib.FOUND,
result_http.status_code
)
self.assertEqual(
'https://httpsonly.example.com/test-path/deeper',
result_http.headers['Location'] result_http.headers['Location']
) )
...@@ -1617,7 +1641,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1617,7 +1641,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
...@@ -1633,17 +1658,18 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1633,17 +1658,18 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
result, result,
'Path', 'Path',
'/VirtualHostBase/https//typezope.example.com:443/' '/VirtualHostBase/https//typezope.example.com:443/'
'/VirtualHostRoot/test-path' '/VirtualHostRoot/test-path/deeper'
) )
result = self.fakeHTTPResult( result = self.fakeHTTPResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqualResultJson( self.assertEqualResultJson(
result, result,
'Path', 'Path',
'/VirtualHostBase/http//typezope.example.com:80/' '/VirtualHostBase/http//typezope.example.com:80/'
'/VirtualHostRoot/test-path' '/VirtualHostRoot/test-path/deeper'
) )
def test_type_zope_prefer_gzip_encoding_to_backend(self): def test_type_zope_prefer_gzip_encoding_to_backend(self):
...@@ -1664,7 +1690,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1664,7 +1690,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
...@@ -1681,22 +1708,24 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1681,22 +1708,24 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
'Path', 'Path',
'/VirtualHostBase/https//' '/VirtualHostBase/https//'
'typezopeprefergzipencodingtobackend.example.com:443/' 'typezopeprefergzipencodingtobackend.example.com:443/'
'/VirtualHostRoot/test-path' '/VirtualHostRoot/test-path/deeper'
) )
result = self.fakeHTTPResult( result = self.fakeHTTPResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqualResultJson( self.assertEqualResultJson(
result, result,
'Path', 'Path',
'/VirtualHostBase/http//' '/VirtualHostBase/http//'
'typezopeprefergzipencodingtobackend.example.com:80/' 'typezopeprefergzipencodingtobackend.example.com:80/'
'/VirtualHostRoot/test-path' '/VirtualHostRoot/test-path/deeper'
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path', parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper',
headers={'Accept-Encoding': 'gzip, deflate'}) headers={'Accept-Encoding': 'gzip, deflate'})
self.assertEqual( self.assertEqual(
...@@ -1714,13 +1743,14 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1714,13 +1743,14 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
'Path', 'Path',
'/VirtualHostBase/https//' '/VirtualHostBase/https//'
'typezopeprefergzipencodingtobackend.example.com:443/' 'typezopeprefergzipencodingtobackend.example.com:443/'
'/VirtualHostRoot/test-path' '/VirtualHostRoot/test-path/deeper'
) )
self.assertEqual( self.assertEqual(
'gzip', result.json()['Incoming Headers']['accept-encoding']) 'gzip', result.json()['Incoming Headers']['accept-encoding'])
result = self.fakeHTTPResult( result = self.fakeHTTPResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path', parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper',
headers={'Accept-Encoding': 'gzip, deflate'}) headers={'Accept-Encoding': 'gzip, deflate'})
self.assertEqualResultJson( self.assertEqualResultJson(
...@@ -1728,7 +1758,7 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1728,7 +1758,7 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
'Path', 'Path',
'/VirtualHostBase/http//' '/VirtualHostBase/http//'
'typezopeprefergzipencodingtobackend.example.com:80/' 'typezopeprefergzipencodingtobackend.example.com:80/'
'/VirtualHostRoot/test-path' '/VirtualHostRoot/test-path/deeper'
) )
self.assertEqual( self.assertEqual(
'gzip', result.json()['Incoming Headers']['accept-encoding']) 'gzip', result.json()['Incoming Headers']['accept-encoding'])
...@@ -1807,7 +1837,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1807,7 +1837,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path', parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path',
NGINX_HTTPS_PORT) NGINX_HTTPS_PORT)
self.assertEqual( self.assertEqual(
...@@ -1816,6 +1847,17 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1816,6 +1847,17 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path')
result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'],
'test/terminals/websocket/test',
NGINX_HTTPS_PORT)
self.assertEqual(
self.certificate_pem,
der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/terminals/websocket')
@skip('Feature postponed') @skip('Feature postponed')
def test_type_websocket(self): def test_type_websocket(self):
# Pure websocket configurable frontend # Pure websocket configurable frontend
...@@ -1889,14 +1931,20 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -1889,14 +1931,20 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqual( self.assertEqual(
'%s/test-path' % (self.backend_url,), httplib.FOUND,
result.status_code
)
self.assertEqual(
'%stest-path/deeper' % (self.backend_url,),
result.headers['Location'] result.headers['Location']
) )
...@@ -2052,7 +2100,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -2052,7 +2100,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
...@@ -2064,7 +2113,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -2064,7 +2113,8 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result_http = self.fakeHTTPResult( result_http = self.fakeHTTPResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deeper')
self.assertEqual( self.assertEqual(
httplib.BAD_GATEWAY, httplib.BAD_GATEWAY,
...@@ -2091,13 +2141,14 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -2091,13 +2141,14 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
headers = result.headers.copy() headers = result.headers.copy()
...@@ -2350,7 +2401,7 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -2350,7 +2401,7 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
# call the monitor for this partition # call the monitor for this partition
monitor_file = glob.glob( monitor_file = glob.glob(
os.path.join( os.path.join(
self.instance_path, '*', 'etc', 'monitor-promise', self.instance_path, '*', 'etc', 'promise',
'check-_monitor-ipv6-test-ipv6-packet-list-test'))[0] 'check-_monitor-ipv6-test-ipv6-packet-list-test'))[0]
self.assertEqual( self.assertEqual(
'-a monitor-ipv6-test', '-a monitor-ipv6-test',
...@@ -2392,7 +2443,7 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -2392,7 +2443,7 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
# call the monitor for this partition # call the monitor for this partition
monitor_file = glob.glob( monitor_file = glob.glob(
os.path.join( os.path.join(
self.instance_path, '*', 'etc', 'monitor-promise', self.instance_path, '*', 'etc', 'promise',
'check-_monitor-ipv4-test-ipv4-packet-list-test'))[0] 'check-_monitor-ipv4-test-ipv4-packet-list-test'))[0]
self.assertEqual( self.assertEqual(
'-4 -a monitor-ipv4-test', '-4 -a monitor-ipv4-test',
...@@ -2435,7 +2486,7 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -2435,7 +2486,7 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
# call the monitor for this partition # call the monitor for this partition
monitor_file = glob.glob( monitor_file = glob.glob(
os.path.join( os.path.join(
self.instance_path, '*', 'etc', 'monitor-promise', self.instance_path, '*', 'etc', 'promise',
'check-_re6st-optimal-test-re6st-optimal-test'))[0] 'check-_re6st-optimal-test-re6st-optimal-test'))[0]
self.assertEqual( self.assertEqual(
'-4 ipv4 -6 ipv6', '-4 ipv4 -6 ipv6',
...@@ -2458,13 +2509,14 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -2458,13 +2509,14 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
headers = result.headers.copy() headers = result.headers.copy()
...@@ -2746,40 +2798,44 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -2746,40 +2798,44 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path', parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper',
headers={'Accept-Encoding': 'gzip, deflate'}) headers={'Accept-Encoding': 'gzip, deflate'})
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
self.assertEqual( self.assertEqual(
'gzip', result.json()['Incoming Headers']['accept-encoding']) 'gzip', result.json()['Incoming Headers']['accept-encoding'])
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path', parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper',
headers={'Accept-Encoding': 'deflate'}) headers={'Accept-Encoding': 'deflate'})
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
self.assertEqual( self.assertEqual(
'deflate', result.json()['Incoming Headers']['accept-encoding']) 'deflate', result.json()['Incoming Headers']['accept-encoding'])
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqualResultJson(result, 'Path', '/test-path') self.assertEqualResultJson(result, 'Path', '/test-path/deeper')
def test_disabled_cookie_list(self): def test_disabled_cookie_list(self):
parameter_dict = self.parseSlaveParameterDict('disabled-cookie-list') parameter_dict = self.parseSlaveParameterDict('disabled-cookie-list')
...@@ -3004,17 +3060,19 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s { ...@@ -3004,17 +3060,19 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
) )
result = self.fakeHTTPSResult( result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
'test-path/deep/.././deeper')
self.assertEqual( self.assertEqual(
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqualResultJson(result, 'Path', '/https/test-path') self.assertEqualResultJson(result, 'Path', '/https/test-path/deeper')
result_http = self.fakeHTTPResult( result_http = self.fakeHTTPResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path') parameter_dict['domain'], parameter_dict['public-ipv4'],
self.assertEqualResultJson(result_http, 'Path', '/http/test-path') 'test-path/deep/.././deeper')
self.assertEqualResultJson(result_http, 'Path', '/http/test-path/deeper')
class TestReplicateSlave(SlaveHttpFrontendTestCase, TestDataMixin): class TestReplicateSlave(SlaveHttpFrontendTestCase, TestDataMixin):
...@@ -3776,7 +3834,7 @@ https://www.google.com {}""", ...@@ -3776,7 +3834,7 @@ https://www.google.com {}""",
# call the monitor for this partition # call the monitor for this partition
monitor_file = glob.glob( monitor_file = glob.glob(
os.path.join( os.path.join(
self.instance_path, '*', 'etc', 'monitor-promise', self.instance_path, '*', 'etc', 'promise',
'check-_re6st-optimal-test-unsafe-re6st-optimal-test'))[0] 'check-_re6st-optimal-test-unsafe-re6st-optimal-test'))[0]
# Note: The result is a bit differnt from the request (newlines stripped), # Note: The result is a bit differnt from the request (newlines stripped),
...@@ -3814,7 +3872,7 @@ https://www.google.com {}""", ...@@ -3814,7 +3872,7 @@ https://www.google.com {}""",
# assert that there is no nocomma file # assert that there is no nocomma file
monitor_file_list = glob.glob( monitor_file_list = glob.glob(
os.path.join( os.path.join(
self.instance_path, '*', 'etc', 'monitor-promise', self.instance_path, '*', 'etc', 'promise',
'check-_re6st-optimal-test-nocomma-re6st-optimal-test')) 'check-_re6st-optimal-test-nocomma-re6st-optimal-test'))
self.assertEqual( self.assertEqual(
[], [],
...@@ -3923,6 +3981,11 @@ https://www.google.com {}""", ...@@ -3923,6 +3981,11 @@ https://www.google.com {}""",
self.certificate_pem, self.certificate_pem,
der2pem(result.peercert)) der2pem(result.peercert))
self.assertEqual(
httplib.MOVED_PERMANENTLY,
result.status_code
)
self.assertEqual( self.assertEqual(
'https://defaultpathunsafe.example.com:%s/%%24%%7Bsection%%3Aoption%%7D' 'https://defaultpathunsafe.example.com:%s/%%24%%7Bsection%%3Aoption%%7D'
'%%0An%%22%%0Aewline%%0A%%7D%%0A%%7Dproxy%%0A/slashed' % (HTTPS_PORT,), '%%0An%%22%%0Aewline%%0A%%7D%%0A%%7Dproxy%%0A/slashed' % (HTTPS_PORT,),
...@@ -3964,7 +4027,7 @@ https://www.google.com {}""", ...@@ -3964,7 +4027,7 @@ https://www.google.com {}""",
# call the monitor for this partition # call the monitor for this partition
monitor_file = glob.glob( monitor_file = glob.glob(
os.path.join( os.path.join(
self.instance_path, '*', 'etc', 'monitor-promise', self.instance_path, '*', 'etc', 'promise',
'check-_monitor-ipv4-test-unsafe-ipv4-packet-list-test'))[0] 'check-_monitor-ipv4-test-unsafe-ipv4-packet-list-test'))[0]
self.assertEqual( self.assertEqual(
'-4 -a ${section:option} afternewline ipv4', '-4 -a ${section:option} afternewline ipv4',
...@@ -4006,7 +4069,7 @@ https://www.google.com {}""", ...@@ -4006,7 +4069,7 @@ https://www.google.com {}""",
# call the monitor for this partition # call the monitor for this partition
monitor_file = glob.glob( monitor_file = glob.glob(
os.path.join( os.path.join(
self.instance_path, '*', 'etc', 'monitor-promise', self.instance_path, '*', 'etc', 'promise',
'check-_monitor-ipv6-test-unsafe-ipv6-packet-list-test'))[0] 'check-_monitor-ipv6-test-unsafe-ipv6-packet-list-test'))[0]
self.assertEqual( self.assertEqual(
'-a ${section:option} afternewline ipv6', '-a ${section:option} afternewline ipv6',
......
TestDefaultMonitorHttpdPort-1/etc/monitor-promise/check-_test-error-log-last-day
TestDefaultMonitorHttpdPort-1/etc/monitor-promise/check-_test-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,8 @@ TestDefaultMonitorHttpdPort-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,8 @@ TestDefaultMonitorHttpdPort-1/etc/promise/caddy_frontend_ipv4_https
TestDefaultMonitorHttpdPort-1/etc/promise/caddy_frontend_ipv6_http TestDefaultMonitorHttpdPort-1/etc/promise/caddy_frontend_ipv6_http
TestDefaultMonitorHttpdPort-1/etc/promise/caddy_frontend_ipv6_https TestDefaultMonitorHttpdPort-1/etc/promise/caddy_frontend_ipv6_https
TestDefaultMonitorHttpdPort-1/etc/promise/caddy_ssl_cached TestDefaultMonitorHttpdPort-1/etc/promise/caddy_ssl_cached
TestDefaultMonitorHttpdPort-1/etc/promise/check-_test-error-log-last-day
TestDefaultMonitorHttpdPort-1/etc/promise/check-_test-error-log-last-hour
TestDefaultMonitorHttpdPort-1/etc/promise/frontend-caddy-configuration-promise TestDefaultMonitorHttpdPort-1/etc/promise/frontend-caddy-configuration-promise
TestDefaultMonitorHttpdPort-1/etc/promise/monitor-http-frontend TestDefaultMonitorHttpdPort-1/etc/promise/monitor-http-frontend
TestDefaultMonitorHttpdPort-1/etc/promise/monitor-httpd-listening-on-tcp TestDefaultMonitorHttpdPort-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestDefaultMonitorHttpdPort-0:bootstrap-monitor EXITED TestDefaultMonitorHttpdPort-0:bootstrap-monitor EXITED
TestDefaultMonitorHttpdPort-0:certificate_authority-on-watch RUNNING TestDefaultMonitorHttpdPort-0:certificate_authority-{hash}-on-watch RUNNING
TestDefaultMonitorHttpdPort-0:crond-{hash} RUNNING TestDefaultMonitorHttpdPort-0:crond-{hash} RUNNING
TestDefaultMonitorHttpdPort-0:monitor-httpd-{hash}-on-watch EXITED TestDefaultMonitorHttpdPort-0:monitor-httpd-{hash}-on-watch EXITED
TestDefaultMonitorHttpdPort-0:monitor-httpd-graceful EXITED TestDefaultMonitorHttpdPort-0:monitor-httpd-graceful EXITED
......
TestDuplicateSiteKeyProtection-1/etc/monitor-promise/check-_site_2-error-log-last-day
TestDuplicateSiteKeyProtection-1/etc/monitor-promise/check-_site_2-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,8 @@ TestDuplicateSiteKeyProtection-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,8 @@ TestDuplicateSiteKeyProtection-1/etc/promise/caddy_frontend_ipv4_https
TestDuplicateSiteKeyProtection-1/etc/promise/caddy_frontend_ipv6_http TestDuplicateSiteKeyProtection-1/etc/promise/caddy_frontend_ipv6_http
TestDuplicateSiteKeyProtection-1/etc/promise/caddy_frontend_ipv6_https TestDuplicateSiteKeyProtection-1/etc/promise/caddy_frontend_ipv6_https
TestDuplicateSiteKeyProtection-1/etc/promise/caddy_ssl_cached TestDuplicateSiteKeyProtection-1/etc/promise/caddy_ssl_cached
TestDuplicateSiteKeyProtection-1/etc/promise/check-_site_2-error-log-last-day
TestDuplicateSiteKeyProtection-1/etc/promise/check-_site_2-error-log-last-hour
TestDuplicateSiteKeyProtection-1/etc/promise/frontend-caddy-configuration-promise TestDuplicateSiteKeyProtection-1/etc/promise/frontend-caddy-configuration-promise
TestDuplicateSiteKeyProtection-1/etc/promise/monitor-http-frontend TestDuplicateSiteKeyProtection-1/etc/promise/monitor-http-frontend
TestDuplicateSiteKeyProtection-1/etc/promise/monitor-httpd-listening-on-tcp TestDuplicateSiteKeyProtection-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestDuplicateSiteKeyProtection-0:bootstrap-monitor EXITED TestDuplicateSiteKeyProtection-0:bootstrap-monitor EXITED
TestDuplicateSiteKeyProtection-0:certificate_authority-on-watch RUNNING TestDuplicateSiteKeyProtection-0:certificate_authority-{hash}-on-watch RUNNING
TestDuplicateSiteKeyProtection-0:crond-{hash} RUNNING TestDuplicateSiteKeyProtection-0:crond-{hash} RUNNING
TestDuplicateSiteKeyProtection-0:monitor-httpd-{hash}-on-watch RUNNING TestDuplicateSiteKeyProtection-0:monitor-httpd-{hash}-on-watch RUNNING
TestDuplicateSiteKeyProtection-0:monitor-httpd-graceful EXITED TestDuplicateSiteKeyProtection-0:monitor-httpd-graceful EXITED
......
TestEnableHttp2ByDefaultDefaultSlave-1/etc/monitor-promise/check-_enable-http2-default-error-log-last-day
TestEnableHttp2ByDefaultDefaultSlave-1/etc/monitor-promise/check-_enable-http2-default-error-log-last-hour
TestEnableHttp2ByDefaultDefaultSlave-1/etc/monitor-promise/check-_enable-http2-false-error-log-last-day
TestEnableHttp2ByDefaultDefaultSlave-1/etc/monitor-promise/check-_enable-http2-false-error-log-last-hour
TestEnableHttp2ByDefaultDefaultSlave-1/etc/monitor-promise/check-_enable-http2-true-error-log-last-day
TestEnableHttp2ByDefaultDefaultSlave-1/etc/monitor-promise/check-_enable-http2-true-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,12 @@ TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,12 @@ TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/caddy_frontend_ipv4_https
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/caddy_frontend_ipv6_http TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/caddy_frontend_ipv6_http
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/caddy_frontend_ipv6_https TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/caddy_frontend_ipv6_https
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/caddy_ssl_cached TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/caddy_ssl_cached
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/check-_enable-http2-default-error-log-last-day
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/check-_enable-http2-default-error-log-last-hour
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/check-_enable-http2-false-error-log-last-day
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/check-_enable-http2-false-error-log-last-hour
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/check-_enable-http2-true-error-log-last-day
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/check-_enable-http2-true-error-log-last-hour
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/frontend-caddy-configuration-promise TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/frontend-caddy-configuration-promise
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/monitor-http-frontend TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/monitor-http-frontend
TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/monitor-httpd-listening-on-tcp TestEnableHttp2ByDefaultDefaultSlave-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestEnableHttp2ByDefaultDefaultSlave-0:bootstrap-monitor EXITED TestEnableHttp2ByDefaultDefaultSlave-0:bootstrap-monitor EXITED
TestEnableHttp2ByDefaultDefaultSlave-0:certificate_authority-on-watch RUNNING TestEnableHttp2ByDefaultDefaultSlave-0:certificate_authority-{hash}-on-watch RUNNING
TestEnableHttp2ByDefaultDefaultSlave-0:crond-{hash} RUNNING TestEnableHttp2ByDefaultDefaultSlave-0:crond-{hash} RUNNING
TestEnableHttp2ByDefaultDefaultSlave-0:monitor-httpd-{hash}-on-watch RUNNING TestEnableHttp2ByDefaultDefaultSlave-0:monitor-httpd-{hash}-on-watch RUNNING
TestEnableHttp2ByDefaultDefaultSlave-0:monitor-httpd-graceful EXITED TestEnableHttp2ByDefaultDefaultSlave-0:monitor-httpd-graceful EXITED
......
TestEnableHttp2ByDefaultFalseSlave-1/etc/monitor-promise/check-_enable-http2-default-error-log-last-day
TestEnableHttp2ByDefaultFalseSlave-1/etc/monitor-promise/check-_enable-http2-default-error-log-last-hour
TestEnableHttp2ByDefaultFalseSlave-1/etc/monitor-promise/check-_enable-http2-false-error-log-last-day
TestEnableHttp2ByDefaultFalseSlave-1/etc/monitor-promise/check-_enable-http2-false-error-log-last-hour
TestEnableHttp2ByDefaultFalseSlave-1/etc/monitor-promise/check-_enable-http2-true-error-log-last-day
TestEnableHttp2ByDefaultFalseSlave-1/etc/monitor-promise/check-_enable-http2-true-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,12 @@ TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,12 @@ TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/caddy_frontend_ipv4_https
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/caddy_frontend_ipv6_http TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/caddy_frontend_ipv6_http
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/caddy_frontend_ipv6_https TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/caddy_frontend_ipv6_https
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/caddy_ssl_cached TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/caddy_ssl_cached
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/check-_enable-http2-default-error-log-last-day
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/check-_enable-http2-default-error-log-last-hour
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/check-_enable-http2-false-error-log-last-day
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/check-_enable-http2-false-error-log-last-hour
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/check-_enable-http2-true-error-log-last-day
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/check-_enable-http2-true-error-log-last-hour
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/frontend-caddy-configuration-promise TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/frontend-caddy-configuration-promise
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/monitor-http-frontend TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/monitor-http-frontend
TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/monitor-httpd-listening-on-tcp TestEnableHttp2ByDefaultFalseSlave-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestEnableHttp2ByDefaultFalseSlave-0:bootstrap-monitor EXITED TestEnableHttp2ByDefaultFalseSlave-0:bootstrap-monitor EXITED
TestEnableHttp2ByDefaultFalseSlave-0:certificate_authority-on-watch RUNNING TestEnableHttp2ByDefaultFalseSlave-0:certificate_authority-{hash}-on-watch RUNNING
TestEnableHttp2ByDefaultFalseSlave-0:crond-{hash} RUNNING TestEnableHttp2ByDefaultFalseSlave-0:crond-{hash} RUNNING
TestEnableHttp2ByDefaultFalseSlave-0:monitor-httpd-{hash}-on-watch RUNNING TestEnableHttp2ByDefaultFalseSlave-0:monitor-httpd-{hash}-on-watch RUNNING
TestEnableHttp2ByDefaultFalseSlave-0:monitor-httpd-graceful EXITED TestEnableHttp2ByDefaultFalseSlave-0:monitor-httpd-graceful EXITED
......
TestMalformedBackenUrlSlave-1/etc/monitor-promise/check-_empty-error-log-last-day
TestMalformedBackenUrlSlave-1/etc/monitor-promise/check-_empty-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,8 @@ TestMalformedBackenUrlSlave-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,8 @@ TestMalformedBackenUrlSlave-1/etc/promise/caddy_frontend_ipv4_https
TestMalformedBackenUrlSlave-1/etc/promise/caddy_frontend_ipv6_http TestMalformedBackenUrlSlave-1/etc/promise/caddy_frontend_ipv6_http
TestMalformedBackenUrlSlave-1/etc/promise/caddy_frontend_ipv6_https TestMalformedBackenUrlSlave-1/etc/promise/caddy_frontend_ipv6_https
TestMalformedBackenUrlSlave-1/etc/promise/caddy_ssl_cached TestMalformedBackenUrlSlave-1/etc/promise/caddy_ssl_cached
TestMalformedBackenUrlSlave-1/etc/promise/check-_empty-error-log-last-day
TestMalformedBackenUrlSlave-1/etc/promise/check-_empty-error-log-last-hour
TestMalformedBackenUrlSlave-1/etc/promise/frontend-caddy-configuration-promise TestMalformedBackenUrlSlave-1/etc/promise/frontend-caddy-configuration-promise
TestMalformedBackenUrlSlave-1/etc/promise/monitor-http-frontend TestMalformedBackenUrlSlave-1/etc/promise/monitor-http-frontend
TestMalformedBackenUrlSlave-1/etc/promise/monitor-httpd-listening-on-tcp TestMalformedBackenUrlSlave-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestMalformedBackenUrlSlave-0:bootstrap-monitor EXITED TestMalformedBackenUrlSlave-0:bootstrap-monitor EXITED
TestMalformedBackenUrlSlave-0:certificate_authority-on-watch RUNNING TestMalformedBackenUrlSlave-0:certificate_authority-{hash}-on-watch RUNNING
TestMalformedBackenUrlSlave-0:crond-{hash} RUNNING TestMalformedBackenUrlSlave-0:crond-{hash} RUNNING
TestMalformedBackenUrlSlave-0:monitor-httpd-{hash}-on-watch RUNNING TestMalformedBackenUrlSlave-0:monitor-httpd-{hash}-on-watch RUNNING
TestMalformedBackenUrlSlave-0:monitor-httpd-graceful EXITED TestMalformedBackenUrlSlave-0:monitor-httpd-graceful EXITED
......
TestMasterRequest-0:bootstrap-monitor EXITED TestMasterRequest-0:bootstrap-monitor EXITED
TestMasterRequest-0:certificate_authority-on-watch RUNNING TestMasterRequest-0:certificate_authority-{hash}-on-watch RUNNING
TestMasterRequest-0:crond-{hash} RUNNING TestMasterRequest-0:crond-{hash} RUNNING
TestMasterRequest-0:monitor-httpd-{hash}-on-watch RUNNING TestMasterRequest-0:monitor-httpd-{hash}-on-watch RUNNING
TestMasterRequest-0:monitor-httpd-graceful EXITED TestMasterRequest-0:monitor-httpd-graceful EXITED
......
TestMasterRequestDomain-0:bootstrap-monitor EXITED TestMasterRequestDomain-0:bootstrap-monitor EXITED
TestMasterRequestDomain-0:certificate_authority-on-watch RUNNING TestMasterRequestDomain-0:certificate_authority-{hash}-on-watch RUNNING
TestMasterRequestDomain-0:crond-{hash} RUNNING TestMasterRequestDomain-0:crond-{hash} RUNNING
TestMasterRequestDomain-0:monitor-httpd-{hash}-on-watch RUNNING TestMasterRequestDomain-0:monitor-httpd-{hash}-on-watch RUNNING
TestMasterRequestDomain-0:monitor-httpd-graceful EXITED TestMasterRequestDomain-0:monitor-httpd-graceful EXITED
......
TestQuicEnabled-1/etc/monitor-promise/check-_url-error-log-last-day
TestQuicEnabled-1/etc/monitor-promise/check-_url-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,8 @@ TestQuicEnabled-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,8 @@ TestQuicEnabled-1/etc/promise/caddy_frontend_ipv4_https
TestQuicEnabled-1/etc/promise/caddy_frontend_ipv6_http TestQuicEnabled-1/etc/promise/caddy_frontend_ipv6_http
TestQuicEnabled-1/etc/promise/caddy_frontend_ipv6_https TestQuicEnabled-1/etc/promise/caddy_frontend_ipv6_https
TestQuicEnabled-1/etc/promise/caddy_ssl_cached TestQuicEnabled-1/etc/promise/caddy_ssl_cached
TestQuicEnabled-1/etc/promise/check-_url-error-log-last-day
TestQuicEnabled-1/etc/promise/check-_url-error-log-last-hour
TestQuicEnabled-1/etc/promise/frontend-caddy-configuration-promise TestQuicEnabled-1/etc/promise/frontend-caddy-configuration-promise
TestQuicEnabled-1/etc/promise/monitor-http-frontend TestQuicEnabled-1/etc/promise/monitor-http-frontend
TestQuicEnabled-1/etc/promise/monitor-httpd-listening-on-tcp TestQuicEnabled-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestQuicEnabled-0:bootstrap-monitor EXITED TestQuicEnabled-0:bootstrap-monitor EXITED
TestQuicEnabled-0:certificate_authority-on-watch RUNNING TestQuicEnabled-0:certificate_authority-{hash}-on-watch RUNNING
TestQuicEnabled-0:crond-{hash} RUNNING TestQuicEnabled-0:crond-{hash} RUNNING
TestQuicEnabled-0:monitor-httpd-{hash}-on-watch RUNNING TestQuicEnabled-0:monitor-httpd-{hash}-on-watch RUNNING
TestQuicEnabled-0:monitor-httpd-graceful EXITED TestQuicEnabled-0:monitor-httpd-graceful EXITED
......
TestRe6stVerificationUrlDefaultSlave-1/etc/monitor-promise/check-_default-error-log-last-day
TestRe6stVerificationUrlDefaultSlave-1/etc/monitor-promise/check-_default-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,8 @@ TestRe6stVerificationUrlDefaultSlave-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,8 @@ TestRe6stVerificationUrlDefaultSlave-1/etc/promise/caddy_frontend_ipv4_https
TestRe6stVerificationUrlDefaultSlave-1/etc/promise/caddy_frontend_ipv6_http TestRe6stVerificationUrlDefaultSlave-1/etc/promise/caddy_frontend_ipv6_http
TestRe6stVerificationUrlDefaultSlave-1/etc/promise/caddy_frontend_ipv6_https TestRe6stVerificationUrlDefaultSlave-1/etc/promise/caddy_frontend_ipv6_https
TestRe6stVerificationUrlDefaultSlave-1/etc/promise/caddy_ssl_cached TestRe6stVerificationUrlDefaultSlave-1/etc/promise/caddy_ssl_cached
TestRe6stVerificationUrlDefaultSlave-1/etc/promise/check-_default-error-log-last-day
TestRe6stVerificationUrlDefaultSlave-1/etc/promise/check-_default-error-log-last-hour
TestRe6stVerificationUrlDefaultSlave-1/etc/promise/frontend-caddy-configuration-promise TestRe6stVerificationUrlDefaultSlave-1/etc/promise/frontend-caddy-configuration-promise
TestRe6stVerificationUrlDefaultSlave-1/etc/promise/monitor-http-frontend TestRe6stVerificationUrlDefaultSlave-1/etc/promise/monitor-http-frontend
TestRe6stVerificationUrlDefaultSlave-1/etc/promise/monitor-httpd-listening-on-tcp TestRe6stVerificationUrlDefaultSlave-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestRe6stVerificationUrlDefaultSlave-0:bootstrap-monitor EXITED TestRe6stVerificationUrlDefaultSlave-0:bootstrap-monitor EXITED
TestRe6stVerificationUrlDefaultSlave-0:certificate_authority-on-watch RUNNING TestRe6stVerificationUrlDefaultSlave-0:certificate_authority-{hash}-on-watch RUNNING
TestRe6stVerificationUrlDefaultSlave-0:crond-{hash} RUNNING TestRe6stVerificationUrlDefaultSlave-0:crond-{hash} RUNNING
TestRe6stVerificationUrlDefaultSlave-0:monitor-httpd-{hash}-on-watch RUNNING TestRe6stVerificationUrlDefaultSlave-0:monitor-httpd-{hash}-on-watch RUNNING
TestRe6stVerificationUrlDefaultSlave-0:monitor-httpd-graceful EXITED TestRe6stVerificationUrlDefaultSlave-0:monitor-httpd-graceful EXITED
......
TestRe6stVerificationUrlSlave-1/etc/monitor-promise/check-_default-error-log-last-day
TestRe6stVerificationUrlSlave-1/etc/monitor-promise/check-_default-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,8 @@ TestRe6stVerificationUrlSlave-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,8 @@ TestRe6stVerificationUrlSlave-1/etc/promise/caddy_frontend_ipv4_https
TestRe6stVerificationUrlSlave-1/etc/promise/caddy_frontend_ipv6_http TestRe6stVerificationUrlSlave-1/etc/promise/caddy_frontend_ipv6_http
TestRe6stVerificationUrlSlave-1/etc/promise/caddy_frontend_ipv6_https TestRe6stVerificationUrlSlave-1/etc/promise/caddy_frontend_ipv6_https
TestRe6stVerificationUrlSlave-1/etc/promise/caddy_ssl_cached TestRe6stVerificationUrlSlave-1/etc/promise/caddy_ssl_cached
TestRe6stVerificationUrlSlave-1/etc/promise/check-_default-error-log-last-day
TestRe6stVerificationUrlSlave-1/etc/promise/check-_default-error-log-last-hour
TestRe6stVerificationUrlSlave-1/etc/promise/frontend-caddy-configuration-promise TestRe6stVerificationUrlSlave-1/etc/promise/frontend-caddy-configuration-promise
TestRe6stVerificationUrlSlave-1/etc/promise/monitor-http-frontend TestRe6stVerificationUrlSlave-1/etc/promise/monitor-http-frontend
TestRe6stVerificationUrlSlave-1/etc/promise/monitor-httpd-listening-on-tcp TestRe6stVerificationUrlSlave-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestRe6stVerificationUrlSlave-0:bootstrap-monitor EXITED TestRe6stVerificationUrlSlave-0:bootstrap-monitor EXITED
TestRe6stVerificationUrlSlave-0:certificate_authority-on-watch RUNNING TestRe6stVerificationUrlSlave-0:certificate_authority-{hash}-on-watch RUNNING
TestRe6stVerificationUrlSlave-0:crond-{hash} RUNNING TestRe6stVerificationUrlSlave-0:crond-{hash} RUNNING
TestRe6stVerificationUrlSlave-0:monitor-httpd-{hash}-on-watch RUNNING TestRe6stVerificationUrlSlave-0:monitor-httpd-{hash}-on-watch RUNNING
TestRe6stVerificationUrlSlave-0:monitor-httpd-graceful EXITED TestRe6stVerificationUrlSlave-0:monitor-httpd-graceful EXITED
......
TestReplicateSlave-1/etc/monitor-promise/check-_replicate-error-log-last-day
TestReplicateSlave-1/etc/monitor-promise/check-_replicate-error-log-last-hour
TestReplicateSlave-2/etc/monitor-promise/check-_replicate-error-log-last-day
TestReplicateSlave-2/etc/monitor-promise/check-_replicate-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,8 @@ TestReplicateSlave-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,8 @@ TestReplicateSlave-1/etc/promise/caddy_frontend_ipv4_https
TestReplicateSlave-1/etc/promise/caddy_frontend_ipv6_http TestReplicateSlave-1/etc/promise/caddy_frontend_ipv6_http
TestReplicateSlave-1/etc/promise/caddy_frontend_ipv6_https TestReplicateSlave-1/etc/promise/caddy_frontend_ipv6_https
TestReplicateSlave-1/etc/promise/caddy_ssl_cached TestReplicateSlave-1/etc/promise/caddy_ssl_cached
TestReplicateSlave-1/etc/promise/check-_replicate-error-log-last-day
TestReplicateSlave-1/etc/promise/check-_replicate-error-log-last-hour
TestReplicateSlave-1/etc/promise/frontend-caddy-configuration-promise TestReplicateSlave-1/etc/promise/frontend-caddy-configuration-promise
TestReplicateSlave-1/etc/promise/monitor-http-frontend TestReplicateSlave-1/etc/promise/monitor-http-frontend
TestReplicateSlave-1/etc/promise/monitor-httpd-listening-on-tcp TestReplicateSlave-1/etc/promise/monitor-httpd-listening-on-tcp
...@@ -28,6 +30,8 @@ TestReplicateSlave-2/etc/promise/caddy_frontend_ipv4_https ...@@ -28,6 +30,8 @@ TestReplicateSlave-2/etc/promise/caddy_frontend_ipv4_https
TestReplicateSlave-2/etc/promise/caddy_frontend_ipv6_http TestReplicateSlave-2/etc/promise/caddy_frontend_ipv6_http
TestReplicateSlave-2/etc/promise/caddy_frontend_ipv6_https TestReplicateSlave-2/etc/promise/caddy_frontend_ipv6_https
TestReplicateSlave-2/etc/promise/caddy_ssl_cached TestReplicateSlave-2/etc/promise/caddy_ssl_cached
TestReplicateSlave-2/etc/promise/check-_replicate-error-log-last-day
TestReplicateSlave-2/etc/promise/check-_replicate-error-log-last-hour
TestReplicateSlave-2/etc/promise/frontend-caddy-configuration-promise TestReplicateSlave-2/etc/promise/frontend-caddy-configuration-promise
TestReplicateSlave-2/etc/promise/monitor-http-frontend TestReplicateSlave-2/etc/promise/monitor-http-frontend
TestReplicateSlave-2/etc/promise/monitor-httpd-listening-on-tcp TestReplicateSlave-2/etc/promise/monitor-httpd-listening-on-tcp
......
TestReplicateSlave-0:bootstrap-monitor EXITED TestReplicateSlave-0:bootstrap-monitor EXITED
TestReplicateSlave-0:certificate_authority-on-watch RUNNING TestReplicateSlave-0:certificate_authority-{hash}-on-watch RUNNING
TestReplicateSlave-0:crond-{hash} RUNNING TestReplicateSlave-0:crond-{hash} RUNNING
TestReplicateSlave-0:monitor-httpd-{hash}-on-watch RUNNING TestReplicateSlave-0:monitor-httpd-{hash}-on-watch RUNNING
TestReplicateSlave-0:monitor-httpd-graceful EXITED TestReplicateSlave-0:monitor-httpd-graceful EXITED
......
TestSlave-1/etc/monitor-promise/check-_apache_custom_http_s-accepted-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_apache_custom_http_s-accepted-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_caddy_custom_http_s-accepted-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_caddy_custom_http_s-accepted-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_custom_domain-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_custom_domain-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_custom_domain_wildcard-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_custom_domain_wildcard-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_disabled-cookie-list-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_disabled-cookie-list-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_empty-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_empty-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_enable-http2-default-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_enable-http2-default-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_enable-http2-false-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_enable-http2-false-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_enable_cache-disable-no-cache-request-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_enable_cache-disable-no-cache-request-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_enable_cache-disable-via-header-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_enable_cache-disable-via-header-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_enable_cache-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_enable_cache-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_https-only-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_https-only-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_monitor-ipv4-test-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_monitor-ipv4-test-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_monitor-ipv4-test-ipv4-packet-list-test
TestSlave-1/etc/monitor-promise/check-_monitor-ipv6-test-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_monitor-ipv6-test-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_monitor-ipv6-test-ipv6-packet-list-test
TestSlave-1/etc/monitor-promise/check-_prefer-gzip-encoding-to-backend-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_prefer-gzip-encoding-to-backend-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_re6st-optimal-test-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_re6st-optimal-test-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_re6st-optimal-test-re6st-optimal-test
TestSlave-1/etc/monitor-promise/check-_server-alias-duplicated-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_server-alias-duplicated-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_server-alias-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_server-alias-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_server-alias-wildcard-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_server-alias-wildcard-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_server-alias_custom_domain-duplicated-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_server-alias_custom_domain-duplicated-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_ssl-proxy-verify-unverified-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_ssl-proxy-verify-unverified-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_ssl_ca_crt_does_not_match-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_ssl_ca_crt_does_not_match-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_ssl_ca_crt_garbage-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_ssl_ca_crt_garbage-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-eventsource-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-eventsource-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-notebook-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-notebook-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-redirect-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-redirect-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-default-path-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-default-path-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-path-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-path-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-virtualhostroot-http-port-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-virtualhostroot-http-port-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_type-zope-virtualhostroot-https-port-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_type-zope-virtualhostroot-https-port-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_url-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_url-error-log-last-hour
TestSlave-1/etc/monitor-promise/check-_url_https-url-error-log-last-day
TestSlave-1/etc/monitor-promise/check-_url_https-url-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,97 @@ TestSlave-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,97 @@ TestSlave-1/etc/promise/caddy_frontend_ipv4_https
TestSlave-1/etc/promise/caddy_frontend_ipv6_http TestSlave-1/etc/promise/caddy_frontend_ipv6_http
TestSlave-1/etc/promise/caddy_frontend_ipv6_https TestSlave-1/etc/promise/caddy_frontend_ipv6_https
TestSlave-1/etc/promise/caddy_ssl_cached TestSlave-1/etc/promise/caddy_ssl_cached
TestSlave-1/etc/promise/check-_apache_custom_http_s-accepted-error-log-last-day
TestSlave-1/etc/promise/check-_apache_custom_http_s-accepted-error-log-last-hour
TestSlave-1/etc/promise/check-_caddy_custom_http_s-accepted-error-log-last-day
TestSlave-1/etc/promise/check-_caddy_custom_http_s-accepted-error-log-last-hour
TestSlave-1/etc/promise/check-_custom_domain-error-log-last-day
TestSlave-1/etc/promise/check-_custom_domain-error-log-last-hour
TestSlave-1/etc/promise/check-_custom_domain_ssl_crt_ssl_key-error-log-last-day
TestSlave-1/etc/promise/check-_custom_domain_ssl_crt_ssl_key-error-log-last-hour
TestSlave-1/etc/promise/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-day
TestSlave-1/etc/promise/check-_custom_domain_ssl_crt_ssl_key_ssl_ca_crt-error-log-last-hour
TestSlave-1/etc/promise/check-_custom_domain_wildcard-error-log-last-day
TestSlave-1/etc/promise/check-_custom_domain_wildcard-error-log-last-hour
TestSlave-1/etc/promise/check-_disabled-cookie-list-error-log-last-day
TestSlave-1/etc/promise/check-_disabled-cookie-list-error-log-last-hour
TestSlave-1/etc/promise/check-_empty-error-log-last-day
TestSlave-1/etc/promise/check-_empty-error-log-last-hour
TestSlave-1/etc/promise/check-_enable-http2-default-error-log-last-day
TestSlave-1/etc/promise/check-_enable-http2-default-error-log-last-hour
TestSlave-1/etc/promise/check-_enable-http2-false-error-log-last-day
TestSlave-1/etc/promise/check-_enable-http2-false-error-log-last-hour
TestSlave-1/etc/promise/check-_enable_cache-disable-no-cache-request-error-log-last-day
TestSlave-1/etc/promise/check-_enable_cache-disable-no-cache-request-error-log-last-hour
TestSlave-1/etc/promise/check-_enable_cache-disable-via-header-error-log-last-day
TestSlave-1/etc/promise/check-_enable_cache-disable-via-header-error-log-last-hour
TestSlave-1/etc/promise/check-_enable_cache-error-log-last-day
TestSlave-1/etc/promise/check-_enable_cache-error-log-last-hour
TestSlave-1/etc/promise/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-day
TestSlave-1/etc/promise/check-_enable_cache-ssl-proxy-verify-unverified-error-log-last-hour
TestSlave-1/etc/promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
TestSlave-1/etc/promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
TestSlave-1/etc/promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
TestSlave-1/etc/promise/check-_enable_cache-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
TestSlave-1/etc/promise/check-_https-only-error-log-last-day
TestSlave-1/etc/promise/check-_https-only-error-log-last-hour
TestSlave-1/etc/promise/check-_monitor-ipv4-test-error-log-last-day
TestSlave-1/etc/promise/check-_monitor-ipv4-test-error-log-last-hour
TestSlave-1/etc/promise/check-_monitor-ipv4-test-ipv4-packet-list-test
TestSlave-1/etc/promise/check-_monitor-ipv6-test-error-log-last-day
TestSlave-1/etc/promise/check-_monitor-ipv6-test-error-log-last-hour
TestSlave-1/etc/promise/check-_monitor-ipv6-test-ipv6-packet-list-test
TestSlave-1/etc/promise/check-_prefer-gzip-encoding-to-backend-error-log-last-day
TestSlave-1/etc/promise/check-_prefer-gzip-encoding-to-backend-error-log-last-hour
TestSlave-1/etc/promise/check-_re6st-optimal-test-error-log-last-day
TestSlave-1/etc/promise/check-_re6st-optimal-test-error-log-last-hour
TestSlave-1/etc/promise/check-_re6st-optimal-test-re6st-optimal-test
TestSlave-1/etc/promise/check-_server-alias-duplicated-error-log-last-day
TestSlave-1/etc/promise/check-_server-alias-duplicated-error-log-last-hour
TestSlave-1/etc/promise/check-_server-alias-error-log-last-day
TestSlave-1/etc/promise/check-_server-alias-error-log-last-hour
TestSlave-1/etc/promise/check-_server-alias-wildcard-error-log-last-day
TestSlave-1/etc/promise/check-_server-alias-wildcard-error-log-last-hour
TestSlave-1/etc/promise/check-_server-alias_custom_domain-duplicated-error-log-last-day
TestSlave-1/etc/promise/check-_server-alias_custom_domain-duplicated-error-log-last-hour
TestSlave-1/etc/promise/check-_ssl-proxy-verify-unverified-error-log-last-day
TestSlave-1/etc/promise/check-_ssl-proxy-verify-unverified-error-log-last-hour
TestSlave-1/etc/promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
TestSlave-1/etc/promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
TestSlave-1/etc/promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
TestSlave-1/etc/promise/check-_ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
TestSlave-1/etc/promise/check-_ssl_ca_crt_does_not_match-error-log-last-day
TestSlave-1/etc/promise/check-_ssl_ca_crt_does_not_match-error-log-last-hour
TestSlave-1/etc/promise/check-_ssl_ca_crt_garbage-error-log-last-day
TestSlave-1/etc/promise/check-_ssl_ca_crt_garbage-error-log-last-hour
TestSlave-1/etc/promise/check-_type-eventsource-error-log-last-day
TestSlave-1/etc/promise/check-_type-eventsource-error-log-last-hour
TestSlave-1/etc/promise/check-_type-notebook-error-log-last-day
TestSlave-1/etc/promise/check-_type-notebook-error-log-last-hour
TestSlave-1/etc/promise/check-_type-redirect-error-log-last-day
TestSlave-1/etc/promise/check-_type-redirect-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-default-path-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-default-path-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-path-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-path-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-prefer-gzip-encoding-to-backend-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-ssl-proxy-verify-unverified-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-ssl-proxy-verify_ssl_proxy_ca_crt-unverified-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-virtualhostroot-http-port-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-virtualhostroot-http-port-error-log-last-hour
TestSlave-1/etc/promise/check-_type-zope-virtualhostroot-https-port-error-log-last-day
TestSlave-1/etc/promise/check-_type-zope-virtualhostroot-https-port-error-log-last-hour
TestSlave-1/etc/promise/check-_url-error-log-last-day
TestSlave-1/etc/promise/check-_url-error-log-last-hour
TestSlave-1/etc/promise/check-_url_https-url-error-log-last-day
TestSlave-1/etc/promise/check-_url_https-url-error-log-last-hour
TestSlave-1/etc/promise/frontend-caddy-configuration-promise TestSlave-1/etc/promise/frontend-caddy-configuration-promise
TestSlave-1/etc/promise/monitor-http-frontend TestSlave-1/etc/promise/monitor-http-frontend
TestSlave-1/etc/promise/monitor-httpd-listening-on-tcp TestSlave-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestSlave-0:bootstrap-monitor EXITED TestSlave-0:bootstrap-monitor EXITED
TestSlave-0:certificate_authority-on-watch RUNNING TestSlave-0:certificate_authority-{hash}-on-watch RUNNING
TestSlave-0:crond-{hash} RUNNING TestSlave-0:crond-{hash} RUNNING
TestSlave-0:monitor-httpd-{hash}-on-watch RUNNING TestSlave-0:monitor-httpd-{hash}-on-watch RUNNING
TestSlave-0:monitor-httpd-graceful EXITED TestSlave-0:monitor-httpd-graceful EXITED
......
TestSlaveBadParameters-1/etc/monitor-promise/check-_default-path-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/monitor-promise/check-_default-path-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/monitor-promise/check-_monitor-ipv4-test-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/monitor-promise/check-_monitor-ipv4-test-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/monitor-promise/check-_monitor-ipv4-test-unsafe-ipv4-packet-list-test
TestSlaveBadParameters-1/etc/monitor-promise/check-_monitor-ipv6-test-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/monitor-promise/check-_monitor-ipv6-test-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/monitor-promise/check-_monitor-ipv6-test-unsafe-ipv6-packet-list-test
TestSlaveBadParameters-1/etc/monitor-promise/check-_re6st-optimal-test-nocomma-error-log-last-day
TestSlaveBadParameters-1/etc/monitor-promise/check-_re6st-optimal-test-nocomma-error-log-last-hour
TestSlaveBadParameters-1/etc/monitor-promise/check-_re6st-optimal-test-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/monitor-promise/check-_re6st-optimal-test-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/monitor-promise/check-_re6st-optimal-test-unsafe-re6st-optimal-test
TestSlaveBadParameters-1/etc/monitor-promise/check-_server-alias-same-error-log-last-day
TestSlaveBadParameters-1/etc/monitor-promise/check-_server-alias-same-error-log-last-hour
TestSlaveBadParameters-1/etc/monitor-promise/check-_virtualhostroot-http-port-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/monitor-promise/check-_virtualhostroot-http-port-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/monitor-promise/check-_virtualhostroot-https-port-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/monitor-promise/check-_virtualhostroot-https-port-unsafe-error-log-last-hour
\ No newline at end of file
...@@ -8,6 +8,25 @@ TestSlaveBadParameters-1/etc/promise/caddy_frontend_ipv4_https ...@@ -8,6 +8,25 @@ TestSlaveBadParameters-1/etc/promise/caddy_frontend_ipv4_https
TestSlaveBadParameters-1/etc/promise/caddy_frontend_ipv6_http TestSlaveBadParameters-1/etc/promise/caddy_frontend_ipv6_http
TestSlaveBadParameters-1/etc/promise/caddy_frontend_ipv6_https TestSlaveBadParameters-1/etc/promise/caddy_frontend_ipv6_https
TestSlaveBadParameters-1/etc/promise/caddy_ssl_cached TestSlaveBadParameters-1/etc/promise/caddy_ssl_cached
TestSlaveBadParameters-1/etc/promise/check-_default-path-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/promise/check-_default-path-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/promise/check-_monitor-ipv4-test-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/promise/check-_monitor-ipv4-test-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/promise/check-_monitor-ipv4-test-unsafe-ipv4-packet-list-test
TestSlaveBadParameters-1/etc/promise/check-_monitor-ipv6-test-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/promise/check-_monitor-ipv6-test-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/promise/check-_monitor-ipv6-test-unsafe-ipv6-packet-list-test
TestSlaveBadParameters-1/etc/promise/check-_re6st-optimal-test-nocomma-error-log-last-day
TestSlaveBadParameters-1/etc/promise/check-_re6st-optimal-test-nocomma-error-log-last-hour
TestSlaveBadParameters-1/etc/promise/check-_re6st-optimal-test-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/promise/check-_re6st-optimal-test-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/promise/check-_re6st-optimal-test-unsafe-re6st-optimal-test
TestSlaveBadParameters-1/etc/promise/check-_server-alias-same-error-log-last-day
TestSlaveBadParameters-1/etc/promise/check-_server-alias-same-error-log-last-hour
TestSlaveBadParameters-1/etc/promise/check-_virtualhostroot-http-port-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/promise/check-_virtualhostroot-http-port-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/promise/check-_virtualhostroot-https-port-unsafe-error-log-last-day
TestSlaveBadParameters-1/etc/promise/check-_virtualhostroot-https-port-unsafe-error-log-last-hour
TestSlaveBadParameters-1/etc/promise/frontend-caddy-configuration-promise TestSlaveBadParameters-1/etc/promise/frontend-caddy-configuration-promise
TestSlaveBadParameters-1/etc/promise/monitor-http-frontend TestSlaveBadParameters-1/etc/promise/monitor-http-frontend
TestSlaveBadParameters-1/etc/promise/monitor-httpd-listening-on-tcp TestSlaveBadParameters-1/etc/promise/monitor-httpd-listening-on-tcp
......
TestSlaveBadParameters-0:bootstrap-monitor EXITED TestSlaveBadParameters-0:bootstrap-monitor EXITED
TestSlaveBadParameters-0:certificate_authority-on-watch RUNNING TestSlaveBadParameters-0:certificate_authority-{hash}-on-watch RUNNING
TestSlaveBadParameters-0:crond-{hash} RUNNING TestSlaveBadParameters-0:crond-{hash} RUNNING
TestSlaveBadParameters-0:monitor-httpd-{hash}-on-watch RUNNING TestSlaveBadParameters-0:monitor-httpd-{hash}-on-watch RUNNING
TestSlaveBadParameters-0:monitor-httpd-graceful EXITED TestSlaveBadParameters-0:monitor-httpd-graceful EXITED
......
...@@ -242,8 +242,8 @@ ...@@ -242,8 +242,8 @@
"minimum": 1 "minimum": 1
}, },
"disk-format": { "disk-format": {
"title": "Type of external disk drive to create by QEMU.", "title": "Disk format.",
"description": "Type of QEMU disk drive, to create.", "description": "Format of QEMU disk drive, to create.",
"type": "string", "type": "string",
"default": "qcow2", "default": "qcow2",
"enum": [ "enum": [
......
...@@ -74,7 +74,7 @@ config-cpu-max-count = {{ dumps(kvm_parameter_dict.get('cpu-max-count', 24)) }} ...@@ -74,7 +74,7 @@ config-cpu-max-count = {{ dumps(kvm_parameter_dict.get('cpu-max-count', 24)) }}
config-auto-ballooning = {{ dumps(kvm_parameter_dict.get('auto-ballooning', True)) }} config-auto-ballooning = {{ dumps(kvm_parameter_dict.get('auto-ballooning', True)) }}
{{ setconfig('disk-cache', kvm_parameter_dict.get('disk-cache', '')) }} {{ setconfig('disk-cache', kvm_parameter_dict.get('disk-cache', '')) }}
{{ setconfig('disk-aio', kvm_parameter_dict.get('disk-aio', '')) }} {{ setconfig('disk-aio', kvm_parameter_dict.get('disk-aio', '')) }}
{{ setconfig('cpu-model', kvm_parameter_dict.get('cpu-model', '')) }} {{ setconfig('cpu-model', kvm_parameter_dict.get('cpu-model', 'host')) }}
{{ setconfig('disk-cache', kvm_parameter_dict.get('disk-cache', '')) }} {{ setconfig('disk-cache', kvm_parameter_dict.get('disk-cache', '')) }}
{{ setconfig('disk-device-path', kvm_parameter_dict.get('disk-device-path', '')) }} {{ setconfig('disk-device-path', kvm_parameter_dict.get('disk-device-path', '')) }}
...@@ -135,8 +135,12 @@ return = ...@@ -135,8 +135,12 @@ return =
{{ ' ' }}monitor-base-url {{ ' ' }}monitor-base-url
{% if str(kvm_parameter_dict.get('use-tap', 'True')).lower() == 'true' -%} {% if str(kvm_parameter_dict.get('use-tap', 'True')).lower() == 'true' -%}
{{ ' ' }}tap-ipv4 {{ ' ' }}tap-ipv4
{{ ' ' }}tap-ipv6
{{ ' ' }}ipv6-network-info
{% do publish_dict.__setitem__(instance_name ~ '-lan', '${' ~ section ~ ':connection-tap-ipv4}') -%} {% do publish_dict.__setitem__(instance_name ~ '-ipv4', '${' ~ section ~ ':connection-tap-ipv4}') -%}
{% do publish_dict.__setitem__(instance_name ~ '-ipv6', '${' ~ section ~ ':connection-tap-ipv6}') -%}
{% do publish_dict.__setitem__(instance_name ~ '-ipv6-info', '${' ~ section ~ ':connection-ipv6-network-info}') -%}
{% do kvm_hostname_list.append(instance_name ~ ' ' ~ '${' ~ section ~ ':connection-tap-ipv4}') -%} {% do kvm_hostname_list.append(instance_name ~ ' ' ~ '${' ~ section ~ ':connection-tap-ipv4}') -%}
{% endif -%} {% endif -%}
{% do monitor_base_url_dict.__setitem__(instance_name, '${' ~ section ~ ':connection-monitor-base-url}') -%} {% do monitor_base_url_dict.__setitem__(instance_name, '${' ~ section ~ ':connection-monitor-base-url}') -%}
......
...@@ -126,7 +126,8 @@ ...@@ -126,7 +126,8 @@
"cpu-model": { "cpu-model": {
"title": "CPU model.", "title": "CPU model.",
"description": "Select the emulated CPU model. Ex: SandyBridge,+erms,+smep,+smx,+vmx", "description": "Select the emulated CPU model. Ex: SandyBridge,+erms,+smep,+smx,+vmx",
"type": "string" "type": "string",
"default": "host"
}, },
"keyboard-layout-language": { "keyboard-layout-language": {
"title": "Use keyboard layout language", "title": "Use keyboard layout language",
...@@ -166,7 +167,8 @@ ...@@ -166,7 +167,8 @@
"sv", "sv",
"th", "th",
"tr" "tr"
] ],
"default": "fr"
}, },
"nbd-host": { "nbd-host": {
"title": "NBD hostname", "title": "NBD hostname",
......
...@@ -45,6 +45,7 @@ recipe = slapos.cookbook:publish-early ...@@ -45,6 +45,7 @@ recipe = slapos.cookbook:publish-early
# XXX Monitoring Main Instane # XXX Monitoring Main Instane
[monitor-instance-parameter] [monitor-instance-parameter]
monitor-httpd-port = 8160 monitor-httpd-port = 8160
password = ${publish-early:monitor-password}
cors-domains = {{ monitor_parameter.get('monitor-cors-domains', '') }} cors-domains = {{ monitor_parameter.get('monitor-cors-domains', '') }}
{% do monitor_parameter.__setitem__('monitor-username', slapparameter_dict.get('monitor-username', 'admin'))%} {% do monitor_parameter.__setitem__('monitor-username', slapparameter_dict.get('monitor-username', 'admin'))%}
......
...@@ -70,6 +70,7 @@ socket-path = ${directory:var}/qmp_socket ...@@ -70,6 +70,7 @@ socket-path = ${directory:var}/qmp_socket
pid-file = ${directory:run}/pid_file pid-file = ${directory:run}/pid_file
kvm-status-path = ${directory:var}/qemu-vm-is-ready kvm-status-path = ${directory:var}/qemu-vm-is-ready
cpu-count = ${slap-parameter:cpu-count} cpu-count = ${slap-parameter:cpu-count}
cpu-model = ${slap-parameter:cpu-model}
ram-hotplug-slot-size = ${slap-parameter:ram-hotplug-slot-size} ram-hotplug-slot-size = ${slap-parameter:ram-hotplug-slot-size}
ram-size = ${slap-parameter:ram-size} ram-size = ${slap-parameter:ram-size}
enable-device-hotplug = ${slap-parameter:enable-device-hotplug} enable-device-hotplug = ${slap-parameter:enable-device-hotplug}
...@@ -87,7 +88,7 @@ nbd-port = ${slap-parameter:nbd-port} ...@@ -87,7 +88,7 @@ nbd-port = ${slap-parameter:nbd-port}
nbd2-host = ${slap-parameter:nbd2-host} nbd2-host = ${slap-parameter:nbd2-host}
nbd2-port = ${slap-parameter:nbd2-port} nbd2-port = ${slap-parameter:nbd2-port}
tap-interface = ${slap-network-information:network-interface} tap-interface = {{ slap_configuration.get('tap-name', '') }}
disk-size = ${slap-parameter:disk-size} disk-size = ${slap-parameter:disk-size}
disk-type = ${slap-parameter:disk-type} disk-type = ${slap-parameter:disk-type}
...@@ -132,7 +133,7 @@ external-disk-number = ${slap-parameter:external-disk-number} ...@@ -132,7 +133,7 @@ external-disk-number = ${slap-parameter:external-disk-number}
external-disk-size = ${slap-parameter:external-disk-size} external-disk-size = ${slap-parameter:external-disk-size}
external-disk-format = ${slap-parameter:external-disk-format} external-disk-format = ${slap-parameter:external-disk-format}
{% if enable_http == 'true' or ( use_tap == 'true' and tap_network_dict.has_key('ipv4') ) -%} {% if enable_http == 'true' or ( use_tap == 'true' and slap_configuration.get('tap-ipv4-addr', '') != "") -%}
httpd-port = ${slap-parameter:httpd-port} httpd-port = ${slap-parameter:httpd-port}
{% else -%} {% else -%}
httpd-port = 0 httpd-port = 0
...@@ -154,7 +155,7 @@ disk-cache = ${slap-parameter:disk-cache} ...@@ -154,7 +155,7 @@ disk-cache = ${slap-parameter:disk-cache}
disk-aio = ${slap-parameter:disk-aio} disk-aio = ${slap-parameter:disk-aio}
auto-ballooning = ${slap-parameter:auto-ballooning} auto-ballooning = ${slap-parameter:auto-ballooning}
machine-options = ${slap-parameter:machine-options} machine-options = ${slap-parameter:machine-options}
cpu-hotplug-slot-size = ${slap-parameter:cpu-model} cpu-model = ${slap-parameter:cpu-model}
log-file = ${directory:log}/qemu.log log-file = ${directory:log}/qemu.log
...@@ -282,6 +283,9 @@ recipe = slapos.cookbook:wrapper ...@@ -282,6 +283,9 @@ recipe = slapos.cookbook:wrapper
command-line = ${websockify-sighandler:wrapper-path} command-line = ${websockify-sighandler:wrapper-path}
wrapper-path = ${directory:services}/websockify wrapper-path = ${directory:services}/websockify
hash-files = ${buildout:directory}/software_release/buildout.cfg hash-files = ${buildout:directory}/software_release/buildout.cfg
wait-for-files =
${ca-novnc:key-file}
${ca-novnc:cert-file}
[certificate-authority] [certificate-authority]
recipe = slapos.cookbook:certificate_authority recipe = slapos.cookbook:certificate_authority
...@@ -410,6 +414,10 @@ password = {{ slapparameter_dict['monitor-password'] }} ...@@ -410,6 +414,10 @@ password = {{ slapparameter_dict['monitor-password'] }}
{% endif -%} {% endif -%}
interface-url = {{ slapparameter_dict.get('monitor-interface-url', 'https://monitor.app.officejs.com') }} interface-url = {{ slapparameter_dict.get('monitor-interface-url', 'https://monitor.app.officejs.com') }}
# this helper just gives a blank line to insert in multiline values
[helper]
blank-line =
[publish-connection-information] [publish-connection-information]
<= monitor-publish <= monitor-publish
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
...@@ -418,9 +426,9 @@ backend-url = https://[${novnc-instance:ip}]:${novnc-instance:port}/vnc.html?hos ...@@ -418,9 +426,9 @@ backend-url = https://[${novnc-instance:ip}]:${novnc-instance:port}/vnc.html?hos
url = ${request-slave-frontend:connection-url}/vnc.html?host=${request-slave-frontend:connection-domainname}&port=${request-slave-frontend:connection-port}&encrypt=1&path=${request-slave-frontend:connection-resource}&password=${kvm-controller-parameter-dict:vnc-passwd} url = ${request-slave-frontend:connection-url}/vnc.html?host=${request-slave-frontend:connection-domainname}&port=${request-slave-frontend:connection-port}&encrypt=1&path=${request-slave-frontend:connection-resource}&password=${kvm-controller-parameter-dict:vnc-passwd}
{% set disk_number = len(storage_dict) -%} {% set disk_number = len(storage_dict) -%}
maximum-extra-disk-amount = {{ disk_number }} maximum-extra-disk-amount = {{ disk_number }}
{% set iface = 'eth0' -%} {% set iface = 'ens3' -%}
{% if use_nat == 'true' -%} {% if use_nat == 'true' -%}
{% set iface = 'eth1' -%} {% set iface = 'ens4' -%}
{% if nat_rule_list -%} {% if nat_rule_list -%}
# Publish NAT port mapping status # Publish NAT port mapping status
{% for port in nat_rule_list.split(' ') -%} {% for port in nat_rule_list.split(' ') -%}
...@@ -438,7 +446,8 @@ nat-rule-url-{{port}} = [${slap-network-information:global-ipv6}]:${6tunnel-{{ex ...@@ -438,7 +446,8 @@ nat-rule-url-{{port}} = [${slap-network-information:global-ipv6}]:${6tunnel-{{ex
{% endif -%} {% endif -%}
{% endif -%} {% endif -%}
{% if use_tap == 'true' -%} {% if use_tap == 'true' -%}
tap-ipv4 = ${slap-network-information:tap-ipv4} tap-ipv4 = {{ slap_configuration.get('tap-ipv4-addr', '') }}
tap-ipv6 = {{ slap_configuration.get('tap-ipv6-addr', '') }}
{% endif -%} {% endif -%}
{% set kvm_http = 'http://${slap-network-information:local-ipv4}:' ~ slapparameter_dict.get('httpd-port', 8081) -%} {% set kvm_http = 'http://${slap-network-information:local-ipv4}:' ~ slapparameter_dict.get('httpd-port', 8081) -%}
...@@ -447,42 +456,80 @@ tap-ipv4 = ${slap-network-information:tap-ipv4} ...@@ -447,42 +456,80 @@ tap-ipv4 = ${slap-network-information:tap-ipv4}
{% set kvm_http = 'http://10.0.2.100' -%} {% set kvm_http = 'http://10.0.2.100' -%}
{% endif %} {% endif %}
{% if slapparameter_dict.get('authorized-key', '') and slapparameter_dict.get('type', '') == 'cluster' -%} {% if slapparameter_dict.get('authorized-key', '') and slapparameter_dict.get('type', '') == 'cluster' -%}
7_info = Get the publick key file in your VM with the command: wget {{ kvm_http }}/authorized_keys key_info = Get the publick key file in your VM with the command: wget {{ kvm_http }}/authorized_keys
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if use_tap == 'true' and tap_network_dict.has_key('ipv4') -%} {% if use_tap == 'true' and slap_configuration.get('tap-ipv4-addr', '') != "" -%}
1_info = Use these configurations below to configure interface {{ iface }} in your VM. ipv4-network-info =
2_info = ${network-config:ifconfig} Use these configurations below to configure IPv4 on interface {{ iface }} in your VM.
3_info = ${network-config:route-iface} IFACE={{ iface }}
4_info = ${network-config:route-network} ${network-config-ipv4:ifconfig}
5_info = ${network-config:route-default} ${network-config-ipv4:route-iface}
${network-config-ipv4:route-network}
${network-config-ipv4:route-default}
{% if enable_http == 'true' %} {% if enable_http == 'true' %}
6_info = Or run in your VM the command: wget -O- {{ kvm_http }}/netconfig.sh | /bin/sh - ${helper:blank-line}
Or run in your VM the command: wget -O- {{ kvm_http }}/netconfig.sh | /bin/sh -
{% endif %}
{% endif %} {% endif %}
[network-config] ipv6-network-info =
{% if use_tap == 'true' and slap_configuration.get('tap-ipv6-addr', '') != "" -%}
Use these configurations below to configure IPv6 on interface {{ iface }} in your VM.
IFACE={{ iface }}
${network-config-ipv6:ipv6-add-address}
${network-config-ipv6:ipv6-add-default-route}
{% if enable_http == 'true' %}
${helper:blank-line}
Or run in your VM the command: wget -O- {{ kvm_http }}/ipv6_config.sh | /bin/sh -
{% endif %}
{% endif %}
{% if use_tap == 'true' and slap_configuration.get('tap-ipv4-addr', '') != "" -%}
[network-config-ipv4]
recipe = plone.recipe.command recipe = plone.recipe.command
path = ${directory:public}/netconfig.sh path = ${directory:public}/netconfig.sh
ifconfig = ifconfig {{ iface }} ${slap-network-information:tap-ipv4} netmask ${slap-network-information:tap-netmask} ifconfig = ifconfig \$IFACE {{ slap_configuration.get('tap-ipv4-addr') }} netmask {{ slap_configuration.get('tap-ipv4-netmask') }}
route-iface = route add ${slap-network-information:tap-gateway} dev {{ iface }} route-iface = route add {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE
route-network = route add -net ${slap-network-information:tap-network} netmask ${slap-network-information:tap-netmask} gw ${slap-network-information:tap-gateway} route-network = route add -net {{ slap_configuration.get('tap-ipv4-network') }} netmask {{ slap_configuration.get('tap-ipv4-netmask') }} gw {{ slap_configuration.get('tap-ipv4-gateway') }}
{% if iface == 'eth0' -%} {% if nat_restrict == 'true' -%}
route-default = route add default gw ${slap-network-information:tap-gateway} route-default = route add default gw {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE
{% elif nat_restrict == 'true' -%}
route-default = route add default gw ${slap-network-information:tap-gateway} dev {{ iface }}
{% elif global_ipv4_prefix -%} {% elif global_ipv4_prefix -%}
route-default = ip route add {{ global_ipv4_prefix }} via ${slap-network-information:tap-gateway} dev {{ iface }} src ${slap-network-information:tap-ipv4} route-default = ip route add {{ global_ipv4_prefix }} via {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE src {{ slap_configuration.get('tap-ipv4-addr') }}
{% else -%} {% else -%}
route-default = route-default =
{% endif -%} {% endif -%}
command = command =
echo "#!/bin/sh" > ${:path} cat > ${:path} << EOF
echo "" >> ${:path} #!/bin/sh
echo "${:ifconfig}" >> ${:path} IFACE={{ iface }}
echo "${:route-iface}" >> ${:path} #try to be compatible with OS with old names
echo "${:route-network}" >> ${:path} ip a | grep eth0: && [ \$IFACE = ens3 ] && IFACE=eth0
echo "${:route-default}" >> ${:path} ip a | grep eth1: && [ \$IFACE = ens4 ] && IFACE=eth1
${:ifconfig}
${:route-iface}
${:route-network}
${:route-default}
EOF
update-command = ${:command}
{% endif -%}
{% if use_tap == 'true' and slap_configuration.get('tap-ipv6-addr', '') != "" -%}
[network-config-ipv6]
recipe = plone.recipe.command
path = ${directory:public}/ipv6_config.sh
ipv6-add-address = ip -6 address add {{ slap_configuration.get('tap-ipv6-network') }} dev \$IFACE
ipv6-add-default-route =
ip -6 route del default ; ip -6 route add default dev \$IFACE via {{ slap_configuration.get('tap-ipv6-gateway') }}
command =
cat > ${:path} << EOF
#!/bin/sh
IFACE={{ iface }}
${:ipv6-add-address}
${:ipv6-add-default-route}
EOF
update-command = ${:command} update-command = ${:command}
{% endif -%} {% endif -%}
...@@ -513,11 +560,11 @@ mode = {{ mode }} ...@@ -513,11 +560,11 @@ mode = {{ mode }}
[publish-host-config] [publish-host-config]
recipe = plone.recipe.command recipe = plone.recipe.command
name = {{ slapparameter_dict.get('name', 'localhost') }} name = {{ slapparameter_dict.get('name', 'localhost') }}
{% if use_tap == 'true' and tap_network_dict.has_key('ipv4') -%} {% if use_tap == 'true' and slap_configuration.get('tap-ipv4-addr', '') != "" -%}
local-ipv4 = ${slap-network-information:tap-ipv4} local-ipv4 = {{ slap_configuration['tap-ipv4-addr'] }}
gateway = ${slap-network-information:tap-gateway} gateway = {{ slap_configuration.get('tap-ipv4-gateway') }}
netmask = ${slap-network-information:tap-network} netmask = {{ slap_configuration.get('tap-ipv4-network') }}
network = ${slap-network-information:tap-netmask} network = {{ slap_configuration.get('tap-ipv4-netmask') }}
{% else -%} {% else -%}
local-ipv4 = 127.0.0.1 local-ipv4 = 127.0.0.1
gateway = gateway =
...@@ -576,7 +623,6 @@ template = {{ ansible_promise_tpl }} ...@@ -576,7 +623,6 @@ template = {{ ansible_promise_tpl }}
rendered = ${directory:promises}/ansible_{{ name }} rendered = ${directory:promises}/ansible_{{ name }}
extensions = jinja2.ext.do extensions = jinja2.ext.do
context = context =
key host slap-network-information:tap-ipv4
raw logs ${directory:public}/ansible raw logs ${directory:public}/ansible
raw name {{ name }} raw name {{ name }}
...@@ -618,7 +664,7 @@ disk-cache = writeback ...@@ -618,7 +664,7 @@ disk-cache = writeback
disk-aio = native disk-aio = native
auto-ballooning = True auto-ballooning = True
machine-options = machine-options =
cpu-model = cpu-model = host
nat-rules = 22 80 443 nat-rules = 22 80 443
use-nat = True use-nat = True
......
...@@ -45,17 +45,16 @@ extensions = jinja2.ext.do ...@@ -45,17 +45,16 @@ extensions = jinja2.ext.do
mode = 0644 mode = 0644
extra-context = extra-context =
context = context =
key develop_eggs_directory buildout:develop-eggs-directory key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory key eggs_directory buildout:eggs-directory
key ipv4 slap-configuration:ipv4 key ipv4 slap-configuration:ipv4
key ipv6 slap-configuration:ipv6 key ipv6 slap-configuration:ipv6
key global_ipv4_prefix network-information:global-ipv4-network key global_ipv4_prefix network-information:global-ipv4-network
key tap_network_dict slap-configuration:tap-network-information-dict key storage_dict slap-configuration:storage-dict
key storage_dict slap-configuration:storage-dict key slapparameter_dict slap-configuration:configuration
key slapparameter_dict slap-configuration:configuration key computer_id slap-configuration:computer
key computer_id slap-configuration:computer raw openssl_executable_location ${openssl:location}/bin/openssl
raw openssl_executable_location ${openssl:location}/bin/openssl $${:extra-context}
$${:extra-context}
[dynamic-template-kvm-cluster-parameters] [dynamic-template-kvm-cluster-parameters]
...@@ -71,45 +70,37 @@ extra-context = ...@@ -71,45 +70,37 @@ extra-context =
raw template_monitor ${monitor2-template:rendered} raw template_monitor ${monitor2-template:rendered}
[dynamic-template-kvm] [dynamic-template-kvm]
recipe = slapos.recipe.template:jinja2 <= jinja2-template-base
template = ${template-kvm:location}/instance-kvm.cfg.jinja2 template = ${template-kvm:location}/instance-kvm.cfg.jinja2
rendered = $${buildout:directory}/template-kvm.cfg filename = template-kvm.cfg
extensions = jinja2.ext.do extra-context =
context = section slap_configuration slap-configuration
key develop_eggs_directory buildout:develop-eggs-directory raw ansible_promise_tpl ${template-ansible-promise:location}/${template-ansible-promise:filename}
key eggs_directory buildout:eggs-directory raw curl_executable_location ${curl:location}/bin/curl
key global_ipv4_prefix network-information:global-ipv4-network raw dash_executable_location ${dash:location}/bin/dash
key slapparameter_dict slap-configuration:configuration raw dcron_executable_location ${dcron:location}/sbin/crond
key storage_dict slap-configuration:storage-dict raw debian_amd64_netinst_location ${debian-amd64-netinst.iso:location}/${debian-amd64-netinst.iso:filename}
key tap_network_dict slap-configuration:tap-network-information-dict raw file_download_script ${file-download-script:location}/${file-download-script:filename}
raw ansible_promise_tpl ${template-ansible-promise:location}/${template-ansible-promise:filename} raw logrotate_cfg ${template-logrotate-base:rendered}
raw curl_executable_location ${curl:location}/bin/curl raw novnc_location ${noVNC:location}
raw dash_executable_location ${dash:location}/bin/dash raw netcat_bin ${netcat:location}/bin/netcat
raw dcron_executable_location ${dcron:location}/sbin/crond raw python_executable ${buildout:executable}
raw debian_amd64_netinst_location ${debian-amd64-netinst.iso:location}/${debian-amd64-netinst.iso:filename} raw python_eggs_executable ${buildout:bin-directory}/${eggs:interpreter}
raw file_download_script ${file-download-script:location}/${file-download-script:filename} raw qemu_executable_location ${kvm:location}/bin/qemu-system-x86_64
raw logrotate_cfg ${template-logrotate-base:rendered} raw qemu_img_executable_location ${kvm:location}/bin/qemu-img
raw novnc_location ${noVNC:location} raw qemu_start_promise_tpl ${template-qemu-ready:location}/${template-qemu-ready:filename}
raw netcat_bin ${netcat:location}/bin/netcat raw sixtunnel_executable_location ${6tunnel:location}/bin/6tunnel
raw openssl_executable_location ${openssl:location}/bin/openssl raw template_httpd_cfg ${template-httpd:rendered}
raw python_executable ${buildout:executable} raw template_content ${template-content:location}/${template-content:filename}
raw python_eggs_executable ${buildout:bin-directory}/${eggs:interpreter} raw template_kvm_controller_run ${template-kvm-controller:location}/${template-kvm-controller:filename}
raw qemu_executable_location ${kvm:location}/bin/qemu-system-x86_64 raw template_kvm_run ${template-kvm-run:location}/${template-kvm-run:filename}
raw qemu_img_executable_location ${kvm:location}/bin/qemu-img raw template_monitor ${monitor2-template:rendered}
raw qemu_start_promise_tpl ${template-qemu-ready:location}/${template-qemu-ready:filename} raw websockify_executable_location ${buildout:directory}/bin/websockify
raw sixtunnel_executable_location ${6tunnel:location}/bin/6tunnel raw wipe_disk_wrapper ${buildout:directory}/bin/securedelete
raw template_httpd_cfg ${template-httpd:rendered}
raw template_content ${template-content:location}/${template-content:filename}
raw template_kvm_controller_run ${template-kvm-controller:location}/${template-kvm-controller:filename}
raw template_kvm_run ${template-kvm-run:location}/${template-kvm-run:filename}
raw template_monitor ${monitor2-template:rendered}
raw websockify_executable_location ${buildout:directory}/bin/websockify
raw wipe_disk_wrapper ${buildout:directory}/bin/securedelete
template-parts-destination = ${template-parts:target} template-parts-destination = ${template-parts:target}
template-replicated-destination = ${template-replicated:target} template-replicated-destination = ${template-replicated:target}
import-list = file parts :template-parts-destination import-list = file parts :template-parts-destination
file replicated :template-replicated-destination file replicated :template-replicated-destination
mode = 0644
[dynamic-template-kvm-resilient] [dynamic-template-kvm-resilient]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
......
...@@ -90,7 +90,7 @@ command = ...@@ -90,7 +90,7 @@ command =
[template] [template]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg.in url = ${:_profile_base_location_}/instance.cfg.in
md5sum = 5a17fc127190bbc19361c5ffb10711b3 md5sum = 028b6a6456d744c11b1bb2c51ecd51b2
output = ${buildout:directory}/template.cfg output = ${buildout:directory}/template.cfg
mode = 0644 mode = 0644
...@@ -99,7 +99,7 @@ recipe = hexagonit.recipe.download ...@@ -99,7 +99,7 @@ recipe = hexagonit.recipe.download
ignore-existing = true ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2
mode = 644 mode = 644
md5sum = 0668791e78430bafdec5300b4ea8d90a md5sum = b4a95f8398dac8de58254899b4545439
download-only = true download-only = true
on-update = true on-update = true
...@@ -108,7 +108,7 @@ recipe = hexagonit.recipe.download ...@@ -108,7 +108,7 @@ recipe = hexagonit.recipe.download
ignore-existing = true ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in
mode = 644 mode = 644
md5sum = 1282296397d445ccae59e6de7915840c md5sum = 63fa784d8946d0b6e3fbd6381e1ea9f4
download-only = true download-only = true
on-update = true on-update = true
...@@ -117,7 +117,7 @@ recipe = hexagonit.recipe.download ...@@ -117,7 +117,7 @@ recipe = hexagonit.recipe.download
ignore-existing = true ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2
mode = 644 mode = 644
md5sum = a5fd0cbe6be757d57c8b6903bb7a1d8b md5sum = c189bce8b196a3b5bcb01526a3f9b2aa
download-only = true download-only = true
on-update = true on-update = true
...@@ -186,7 +186,7 @@ ignore-existing = true ...@@ -186,7 +186,7 @@ ignore-existing = true
url = ${:_profile_base_location_}/template/template-kvm-run.in url = ${:_profile_base_location_}/template/template-kvm-run.in
mode = 644 mode = 644
filename = template-kvm-run.in filename = template-kvm-run.in
md5sum = 8d681430f03ae4d35fc64b1625653a22 md5sum = 9e40246b4bc4f968f0631016c939b014
download-only = true download-only = true
on-update = true on-update = true
...@@ -196,7 +196,7 @@ ignore-existing = true ...@@ -196,7 +196,7 @@ ignore-existing = true
url = ${:_profile_base_location_}/template/kvm-controller-run.in url = ${:_profile_base_location_}/template/kvm-controller-run.in
mode = 644 mode = 644
filename = kvm-controller-run.in filename = kvm-controller-run.in
md5sum = c86cd67bbdd26b7b14b7449a1bbd959b md5sum = b96cba47c97f277c857176d69e086a12
download-only = true download-only = true
on-update = true on-update = true
......
...@@ -15,7 +15,7 @@ pid_file = '{{ parameter_dict.get("pid-file") }}' ...@@ -15,7 +15,7 @@ pid_file = '{{ parameter_dict.get("pid-file") }}'
vnc_password = '{{ parameter_dict.get("vnc-passwd") }}' vnc_password = '{{ parameter_dict.get("vnc-passwd") }}'
status_path = '{{ parameter_dict.get("kvm-status-path") }}' status_path = '{{ parameter_dict.get("kvm-status-path") }}'
cpu_amount = {{ parameter_dict.get("cpu-count") }} cpu_amount = {{ parameter_dict.get("cpu-count") }}
cpu_model = '{{ parameter_dict.get("cpu-model", "qemu64-x86_64-cpu") }}' cpu_model = '{{ parameter_dict.get("cpu-model", "qemu64") }}'
slot_hotplug_size = {{ parameter_dict.get("ram-hotplug-slot-size", 512) }} slot_hotplug_size = {{ parameter_dict.get("ram-hotplug-slot-size", 512) }}
ram_size = {{ parameter_dict.get("ram-size") }} ram_size = {{ parameter_dict.get("ram-size") }}
enable_device_hotplug = '{{ parameter_dict.get("enable-device-hotplug") }}'.lower() enable_device_hotplug = '{{ parameter_dict.get("enable-device-hotplug") }}'.lower()
...@@ -48,7 +48,7 @@ def update(): ...@@ -48,7 +48,7 @@ def update():
qemu_wrapper.updateDevice({ qemu_wrapper.updateDevice({
'device': 'cpu', 'device': 'cpu',
'amount': cpu_amount, 'amount': cpu_amount,
'model': cpu_model 'model': "%s-x86_64-cpu" % cpu_model
}) })
qemu_wrapper.updateDevice({ qemu_wrapper.updateDevice({
'device': 'memory', 'device': 'memory',
......
...@@ -88,7 +88,7 @@ if disk_device_path.startswith("/dev/"): ...@@ -88,7 +88,7 @@ if disk_device_path.startswith("/dev/"):
smp_count = {{ parameter_dict.get("smp-count") }} smp_count = {{ parameter_dict.get("smp-count") }}
smp_max_count = {{ parameter_dict.get("smp-max-count") }} smp_max_count = {{ parameter_dict.get("smp-max-count") }}
machine_options = '{{ parameter_dict.get("machine-options", "") }}'.strip() machine_options = '{{ parameter_dict.get("machine-options", "") }}'.strip()
cpu_model = '{{ parameter_dict.get("cpu-model", "host") }}'.strip() cpu_model = '{{ parameter_dict.get("cpu-model") }}'.strip()
enable_device_hotplug = '{{ parameter_dict.get("enable-device-hotplug") }}'.lower() enable_device_hotplug = '{{ parameter_dict.get("enable-device-hotplug") }}'.lower()
......
...@@ -87,7 +87,7 @@ update-command = ${:command} ...@@ -87,7 +87,7 @@ update-command = ${:command}
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = command-line =
${monitor-directory:bin}/python {{ monitor_collect_csv_dump }} --output_folder ${monitor-directory:consumption} ${monitor-directory:bin}/python {{ monitor_collect_csv_dump }} --output_folder ${monitor-directory:consumption}
wrapper-path = ${monitor-directory:reports}/monitor-collect-csv-dump wrapper-path = ${monitor-directory:bin}/monitor-collect-csv-dump
[monitor-check-memory-usage] [monitor-check-memory-usage]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
......
...@@ -28,7 +28,7 @@ mode = 0644 ...@@ -28,7 +28,7 @@ mode = 0644
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-monitor.cfg.jinja2 url = ${:_profile_base_location_}/instance-monitor.cfg.jinja2
destination = ${buildout:directory}/template-base-monitor.cfg destination = ${buildout:directory}/template-base-monitor.cfg
md5sum = ef3297619e1fc2a5a8d1b0546c1a0db2 md5sum = 2d9436dd6b116ee2e7cc7b30a6305475
mode = 0644 mode = 0644
[template-monitor-distributor] [template-monitor-distributor]
......
...@@ -18,11 +18,11 @@ md5sum = f0cab61c7b8478afb8b676fc725d50d5 ...@@ -18,11 +18,11 @@ md5sum = f0cab61c7b8478afb8b676fc725d50d5
[template-runner] [template-runner]
filename = instance-runner.cfg filename = instance-runner.cfg
md5sum = d9096d49eda70f3aa02c44615077f6c9 md5sum = a897ae4e90696516c4a6f831999f2c34
[template-runner-import-script] [template-runner-import-script]
filename = template/runner-import.sh.jinja2 filename = template/runner-import.sh.jinja2
md5sum = ed2e08c07a6727b2012f15da67c0705d md5sum = ed6dc50713c14e2527b9958d98674eed
[instance-runner-import] [instance-runner-import]
filename = instance-runner-import.cfg.in filename = instance-runner-import.cfg.in
...@@ -30,7 +30,7 @@ md5sum = 1ed9526a6e5ac9a80e5b3add2d0a88fe ...@@ -30,7 +30,7 @@ md5sum = 1ed9526a6e5ac9a80e5b3add2d0a88fe
[instance-runner-export] [instance-runner-export]
filename = instance-runner-export.cfg.in filename = instance-runner-export.cfg.in
md5sum = 8132130c89896c2d30a08f3b3a7000ff md5sum = 7f87e6d220934eb13ab2b5d67dca8922
[template-resilient] [template-resilient]
filename = instance-resilient.cfg.jinja2 filename = instance-resilient.cfg.jinja2
......
...@@ -123,7 +123,7 @@ configuration-file-path = ${buildout:directory}/knowledge0.cfg ...@@ -123,7 +123,7 @@ configuration-file-path = ${buildout:directory}/knowledge0.cfg
[monitor-check-resilient-feed-file] [monitor-check-resilient-feed-file]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
template = {{ monitor_check_resilient_feed_template_path }} template = {{ monitor_check_resilient_feed_template_path }}
rendered = ${monitor-directory:reports}/check-create-resilient-feed-files rendered = ${monitor-directory:bin}/check-create-resilient-feed-files
mode = 700 mode = 700
context = context =
key input_feed_directory directory:notifier-feeds key input_feed_directory directory:notifier-feeds
......
...@@ -884,7 +884,7 @@ configuration-file-path = $${buildout:directory}/knowledge0.cfg ...@@ -884,7 +884,7 @@ configuration-file-path = $${buildout:directory}/knowledge0.cfg
[monitor-check-webrunner-internal-instance] [monitor-check-webrunner-internal-instance]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
template = ${monitor-check-webrunner-internal-instance:location}/${monitor-check-webrunner-internal-instance:filename} template = ${monitor-check-webrunner-internal-instance:location}/${monitor-check-webrunner-internal-instance:filename}
rendered = $${monitor-directory:reports}/$${:filename} rendered = $${monitor-directory:bin}/$${:filename}
filename = monitor-check-webrunner-internal-instance filename = monitor-check-webrunner-internal-instance
mode = 0744 mode = 0744
......
...@@ -150,10 +150,18 @@ if [ ! -s "$DATABASE" ]; then ...@@ -150,10 +150,18 @@ if [ ! -s "$DATABASE" ]; then
echo 0 > $RESTORE_EXIT_CODE_FILE echo 0 > $RESTORE_EXIT_CODE_FILE
exit 0 exit 0
fi fi
# Slap proxy table contain version number, find the table name dynamically.
# This is known to work with version 11 or 12 of tables, but it will probably
# work with earlier versions as well.
DB_PARTITION_TABLE=$(db_query ".table partition__")
DB_PARTITION_NETWORK_TABLE=$(db_query ".table partition\_network__")
DB_SOFTWARE_TABLE=$(db_query ".table software__")
# Change slapproxy database to point instances to new software release # Change slapproxy database to point instances to new software release
# XXX hardcoded # XXX hardcoded
PARTITION=$(basename $HOME) PARTITION=$(basename $HOME)
OLD_SOFTWARE_RELEASE=$(db_query "select software_release from partition11 where reference='slappart0';") OLD_SOFTWARE_RELEASE=$(db_query "select software_release from $DB_PARTITION_TABLE where reference='slappart0';")
SOFTWARE_RELEASE=$({{ sys.executable }} - $OLD_SOFTWARE_RELEASE $PARTITION <<EOF SOFTWARE_RELEASE=$({{ sys.executable }} - $OLD_SOFTWARE_RELEASE $PARTITION <<EOF
if 1: if 1:
import os, re, sys import os, re, sys
...@@ -167,15 +175,15 @@ if 1: ...@@ -167,15 +175,15 @@ if 1:
EOF EOF
) )
db_query "update partition11 set software_release='$SOFTWARE_RELEASE' where software_release NOT NULL;" db_query "update $DB_PARTITION_TABLE set software_release='$SOFTWARE_RELEASE' where software_release NOT NULL;"
db_query "update software11 set url='$SOFTWARE_RELEASE' where url='$OLD_SOFTWARE_RELEASE';" || db_query "delete from software11 where url='$OLD_SOFTWARE_RELEASE';" db_query "update $DB_SOFTWARE_TABLE set url='$SOFTWARE_RELEASE' where url='$OLD_SOFTWARE_RELEASE';" || db_query "delete from $DB_SOFTWARE_TABLE where url='$OLD_SOFTWARE_RELEASE';"
# Change slapproxy database to have all instances stopped # Change slapproxy database to have all instances stopped
db_query "update partition11 set requested_state='stopped';" db_query "update $DB_PARTITION_TABLE set requested_state='stopped';"
# Change slapproxy database to get correct IPs # Change slapproxy database to get correct IPs
IPV4='{{ ipv4 }}' IPV4='{{ ipv4 }}'
IPV6='{{ ipv6 }}' IPV6='{{ ipv6 }}'
db_query "update partition_network11 set address='$IPV4' where netmask='255.255.255.255';" db_query "update $DB_PARTITION_NETWORK_TABLE set address='$IPV4' where netmask='255.255.255.255';"
db_query "update partition_network11 set address='$IPV6' where netmask='ffff:ffff:ffff::';" db_query "update $DB_PARTITION_NETWORK_TABLE set address='$IPV6' where netmask='ffff:ffff:ffff::';"
MASTERURL='http://{{ ipv4 }}:{{ proxy_port }}' MASTERURL='http://{{ ipv4 }}:{{ proxy_port }}'
...@@ -189,7 +197,7 @@ SLAPGRIDCPLOG='{{ supervisord["slapgrid-cp-log"] }}' ...@@ -189,7 +197,7 @@ SLAPGRIDCPLOG='{{ supervisord["slapgrid-cp-log"] }}'
contain_software_release=0 contain_software_release=0
SOFTWARE_RELEASES_COUNT=$("$SQLITE3" "$DATABASE" 'SELECT count(1) FROM software11 WHERE url != "";') SOFTWARE_RELEASES_COUNT=$(db_query "SELECT count(1) FROM $DB_SOFTWARE_TABLE WHERE url != '';")
if [ $SOFTWARE_RELEASES_COUNT -gt 0 ]; then if [ $SOFTWARE_RELEASES_COUNT -gt 0 ]; then
contain_software_release=1 contain_software_release=1
fi fi
...@@ -243,7 +251,7 @@ done ...@@ -243,7 +251,7 @@ done
# Change back slapproxy database to have all instances started # Change back slapproxy database to have all instances started
log_message "Set instances as to start after takeover..." log_message "Set instances as to start after takeover..."
db_query "update partition11 set requested_state='started';" db_query "update $DB_PARTITION_TABLE set requested_state='started';"
# Write exit code to an arbitrary file that will be checked by promise/monitor # Write exit code to an arbitrary file that will be checked by promise/monitor
log_message "Writing status file... End" log_message "Writing status file... End"
......
...@@ -44,7 +44,6 @@ extends = ...@@ -44,7 +44,6 @@ extends =
../../component/stunnel/buildout.cfg ../../component/stunnel/buildout.cfg
../../component/subversion/buildout.cfg ../../component/subversion/buildout.cfg
../../component/tesseract/buildout.cfg ../../component/tesseract/buildout.cfg
../../component/w3-validator/buildout.cfg
../../component/w3m/buildout.cfg ../../component/w3m/buildout.cfg
../../component/xorg/buildout.cfg ../../component/xorg/buildout.cfg
../../component/poppler/buildout.cfg ../../component/poppler/buildout.cfg
...@@ -92,7 +91,6 @@ parts += ...@@ -92,7 +91,6 @@ parts +=
libdmtx libdmtx
dmtx-utils dmtx-utils
kumo kumo
w3-validator
tesseract tesseract
tesseract-eng-traineddata tesseract-eng-traineddata
tesseract-osd-traineddata tesseract-osd-traineddata
...@@ -420,7 +418,6 @@ initialization = ...@@ -420,7 +418,6 @@ initialization =
glob.glob(os.path.join(x, 'Products', '*', 'tests')) glob.glob(os.path.join(x, 'Products', '*', 'tests'))
for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), []) for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH'] os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
os.environ['CGI_PATH'] = '${w3-validator:location}/httpd/cgi-bin'
[test_suite_runner] [test_suite_runner]
# XXX: Workaround for fact ERP5Type is not an distribution and does not # XXX: Workaround for fact ERP5Type is not an distribution and does not
...@@ -746,6 +743,9 @@ cloudpickle = 0.5.3 ...@@ -746,6 +743,9 @@ cloudpickle = 0.5.3
dask = 0.18.1 dask = 0.18.1
toolz = 0.9.0 toolz = 0.9.0
# Re-add for as it is required to be there for uninstallation
erp5.recipe.w3validator = 1.0.2
# Required by: # Required by:
# Products.CMFCore==2.2.10 # Products.CMFCore==2.2.10
Products.ZSQLMethods = 2.13.5 Products.ZSQLMethods = 2.13.5
......
...@@ -74,7 +74,7 @@ md5sum = d41d8cd98f00b204e9800998ecf8427e ...@@ -74,7 +74,7 @@ md5sum = d41d8cd98f00b204e9800998ecf8427e
[template-erp5] [template-erp5]
filename = instance-erp5.cfg.in filename = instance-erp5.cfg.in
md5sum = eefce8adf37430b63559299699732b31 md5sum = acd108217ff7a1b02b338c01c9c4aa27
[template-zeo] [template-zeo]
filename = instance-zeo.cfg.in filename = instance-zeo.cfg.in
...@@ -82,7 +82,7 @@ md5sum = d400c3d449ce437a0ded77ee3d5c5df2 ...@@ -82,7 +82,7 @@ md5sum = d400c3d449ce437a0ded77ee3d5c5df2
[template-zope] [template-zope]
filename = instance-zope.cfg.in filename = instance-zope.cfg.in
md5sum = 36f72fcff7b2ebed8343f4ec3f3568f8 md5sum = 1a06ffa9f54e59604d4fedac0f6a99e7
[template-balancer] [template-balancer]
filename = instance-balancer.cfg.in filename = instance-balancer.cfg.in
......
...@@ -132,6 +132,8 @@ config-saucelabs-dict = {{ dumps(slapparameter_dict.get('saucelabs-dict', {})) } ...@@ -132,6 +132,8 @@ config-saucelabs-dict = {{ dumps(slapparameter_dict.get('saucelabs-dict', {})) }
config-hosts-dict = {{ dumps(slapparameter_dict.get('hosts-dict', {})) }} config-hosts-dict = {{ dumps(slapparameter_dict.get('hosts-dict', {})) }}
config-hostalias-dict = {{ dumps(slapparameter_dict.get('hostalias-dict', {})) }} config-hostalias-dict = {{ dumps(slapparameter_dict.get('hostalias-dict', {})) }}
config-id-store-interval = {{ dumps(slapparameter_dict.get('id-store-interval')) }} config-id-store-interval = {{ dumps(slapparameter_dict.get('id-store-interval')) }}
config-zope-longrequest-logger-error-threshold = {{ dumps(monitor_dict.get('zope-longrequest-logger-error-threshold', 20)) }}
config-zope-longrequest-logger-maximum-delay = {{ dumps(monitor_dict.get('zope-longrequest-logger-maximum-delay', 0)) }}
config-inituser-login = {{ dumps(inituser_login) }} config-inituser-login = {{ dumps(inituser_login) }}
config-inituser-password = ${publish-early:inituser-password} config-inituser-password = ${publish-early:inituser-password}
config-kumofs-url = ${request-memcached-persistent:connection-url} config-kumofs-url = ${request-memcached-persistent:connection-url}
......
...@@ -387,6 +387,20 @@ path = ${directory:promises}/{{ zope_tunnel_base_name }} ...@@ -387,6 +387,20 @@ path = ${directory:promises}/{{ zope_tunnel_base_name }}
{% do publish_list.append((ipv4 ~ ":" ~ port, thread_amount, webdav)) -%} {% do publish_list.append((ipv4 ~ ":" ~ port, thread_amount, webdav)) -%}
{% endif -%} {% endif -%}
{% if longrequest_logger_interval > 0 -%}
[{{ section('promise-check-' ~name ~ '-longrequest-error-log') }}]
recipe = slapos.cookbook:promise.plugin
eggs =
slapos.toolbox
output = ${directory:plugins}/{{'check-' ~ name ~ '-longrequest-error-log.py'}}
content =
from slapos.promise.plugin.check_error_on_zope_longrequest_log import RunPromise
config-log-file = {{ '${' ~ conf_parameter_name ~ ':longrequest-logger-file}' }}
config-error-threshold = {{ slapparameter_dict["zope-longrequest-logger-error-threshold"] }}
config-maximum-delay = {{ slapparameter_dict["zope-longrequest-logger-maximum-delay"] }}
mode = 600
{% endif -%}
[{{ section('logrotate-entry-' ~ name) }}] [{{ section('logrotate-entry-' ~ name) }}]
< = logrotate-entry-base < = logrotate-entry-base
name = {{ name }} name = {{ name }}
......
...@@ -14,4 +14,4 @@ ...@@ -14,4 +14,4 @@
# not need these here). # not need these here).
[monitor2-template] [monitor2-template]
filename = instance-monitor.cfg.jinja2.in filename = instance-monitor.cfg.jinja2.in
md5sum = a8ae4a8685fd6d7263bf6f6db02fbdc5 md5sum = 74bc641e97aa07a0cb1fb442c5ede183
...@@ -28,8 +28,6 @@ monitor = ${:srv}/monitor ...@@ -28,8 +28,6 @@ monitor = ${:srv}/monitor
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
bin = ${directory:bin} bin = ${directory:bin}
etc = ${directory:etc} etc = ${directory:etc}
promises = ${directory:etc}/monitor-promise
reports = ${directory:etc}/monitor-report
pids = ${directory:run}/monitor pids = ${directory:run}/monitor
webdav = ${directory:monitor}/webdav webdav = ${directory:monitor}/webdav
public = ${directory:monitor}/public public = ${directory:monitor}/public
...@@ -53,12 +51,18 @@ recipe = slapos.cookbook:certificate_authority ...@@ -53,12 +51,18 @@ recipe = slapos.cookbook:certificate_authority
openssl-binary = {{ openssl_executable_location }} openssl-binary = {{ openssl_executable_location }}
ca-dir = ${ca-directory:root} ca-dir = ${ca-directory:root}
requests-directory = ${ca-directory:requests} requests-directory = ${ca-directory:requests}
wrapper = ${directory:services}/certificate_authority wrapper = ${directory:bin}/certificate_authority
ca-private = ${ca-directory:private} ca-private = ${ca-directory:private}
ca-certs = ${ca-directory:certs} ca-certs = ${ca-directory:certs}
ca-newcerts = ${ca-directory:newcerts} ca-newcerts = ${ca-directory:newcerts}
ca-crl = ${ca-directory:crl} ca-crl = ${ca-directory:crl}
[certificate-authority-service]
recipe = slapos.cookbook:wrapper
command-line = ${certificate-authority:wrapper}
wrapper-path = ${directory:services}/certificate_authority
hash-files = ${buildout:directory}/software_release/buildout.cfg
[ca-monitor-httpd] [ca-monitor-httpd]
<= certificate-authority <= certificate-authority
recipe = slapos.cookbook:certificate_authority.request recipe = slapos.cookbook:certificate_authority.request
...@@ -86,12 +90,12 @@ log-folder = ${monitor-directory:log} ...@@ -86,12 +90,12 @@ log-folder = ${monitor-directory:log}
document-folder = ${monitor-directory:documents} document-folder = ${monitor-directory:documents}
pid-file = ${monitor-directory:pids}/monitor-bootstrap.pid pid-file = ${monitor-directory:pids}/monitor-bootstrap.pid
public-path-list = public-path-list =
private-path-list = ${directory:log} private-path-list = ${directory:log}
monitor-url-list = ${monitor-instance-parameter:monitor-url-list} monitor-url-list = ${monitor-instance-parameter:monitor-url-list}
parameter-file-path = ${monitor-instance-parameter:configuration-file-path} parameter-file-path = ${monitor-instance-parameter:configuration-file-path}
parameter-list = parameter-list =
raw monitor-user ${monitor-instance-parameter:username} raw monitor-user ${monitor-instance-parameter:username}
htpasswd monitor-password ${httpd-monitor-htpasswd:password-file} ${monitor-instance-parameter:username} ${httpd-monitor-htpasswd:htpasswd-path} htpasswd monitor-password ${httpd-monitor-htpasswd:password-file} ${monitor-instance-parameter:username} ${httpd-monitor-htpasswd:htpasswd-path}
file min-free-disk-MB ${promise-check-free-disk-space:config-threshold-file} file min-free-disk-MB ${promise-check-free-disk-space:config-threshold-file}
...@@ -146,8 +150,8 @@ stop-on-error = true ...@@ -146,8 +150,8 @@ stop-on-error = true
password-file = ${directory:etc}/.monitor_pwd password-file = ${directory:etc}/.monitor_pwd
htpasswd-path = ${monitor-directory:etc}/monitor-htpasswd htpasswd-path = ${monitor-directory:etc}/monitor-htpasswd
# Keep multiple lines as password can end with newline char. # Keep multiple lines as password can end with newline char.
command = command =
if [ ! -s "${:htpasswd-path}" ]; then if [ ! -s "${:htpasswd-path}" ]; then
{{ apache_location }}/bin/htpasswd -cb ${:htpasswd-path} ${:user} ${:password} {{ apache_location }}/bin/htpasswd -cb ${:htpasswd-path} ${:user} ${:password}
fi fi
if [ ! -s "${:password-file}" ]; then echo "${monitor-instance-parameter:password}" > ${:password-file}; fi if [ ! -s "${:password-file}" ]; then echo "${monitor-instance-parameter:password}" > ${:password-file}; fi
...@@ -172,7 +176,7 @@ key-file = ${ca-directory:certs}/httpd.key ...@@ -172,7 +176,7 @@ key-file = ${ca-directory:certs}/httpd.key
htpasswd-file = ${httpd-monitor-htpasswd:htpasswd-path} htpasswd-file = ${httpd-monitor-htpasswd:htpasswd-path}
url = https://[${monitor-instance-parameter:monitor-httpd-ipv6}]:${:port} url = https://[${monitor-instance-parameter:monitor-httpd-ipv6}]:${:port}
httpd-cors-config-file = ${monitor-httpd-cors:rendered} httpd-cors-config-file = ${monitor-httpd-cors:rendered}
httpd-include-file = httpd-include-file =
[monitor-httpd-conf] [monitor-httpd-conf]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
...@@ -226,7 +230,7 @@ mode = 700 ...@@ -226,7 +230,7 @@ mode = 700
[promise-monitor-httpd-is-process-older-than-dependency-set] [promise-monitor-httpd-is-process-older-than-dependency-set]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = {{ bin_directory }}/is-process-older-than-dependency-set ${monitor-httpd-conf-parameter:pid-file} command-line = {{ bin_directory }}/is-process-older-than-dependency-set ${monitor-httpd-conf-parameter:pid-file}
wrapper-path = ${directory:promises}/promise-monitor-httpd-is-process-older-than-dependency-set wrapper-path = ${directory:promises}/promise-monitor-httpd-is-process-older-than-dependency-set
[monitor-globalstate-wrapper] [monitor-globalstate-wrapper]
...@@ -364,7 +368,7 @@ recipe = slapos.cookbook:promise.plugin ...@@ -364,7 +368,7 @@ recipe = slapos.cookbook:promise.plugin
eggs = eggs =
slapos.toolbox slapos.toolbox
file = ${monitor-conf-parameters:promise-output-file} file = ${monitor-conf-parameters:promise-output-file}
content = content =
from slapos.promise.plugin.monitor_bootstrap_status import RunPromise from slapos.promise.plugin.monitor_bootstrap_status import RunPromise
output = ${directory:plugins}/monitor-bootstrap-status.py output = ${directory:plugins}/monitor-bootstrap-status.py
mode = 600 mode = 600
...@@ -377,7 +381,7 @@ recipe = slapos.cookbook:promise.plugin ...@@ -377,7 +381,7 @@ recipe = slapos.cookbook:promise.plugin
eggs = eggs =
slapos.toolbox slapos.toolbox
output = ${directory:plugins}/buildout-${slap-connection:partition-id}-status.py output = ${directory:plugins}/buildout-${slap-connection:partition-id}-status.py
content = content =
from slapos.promise.plugin.check_partition_deployment_state import RunPromise from slapos.promise.plugin.check_partition_deployment_state import RunPromise
config-monitor-url = ${monitor-instance-parameter:monitor-base-url} config-monitor-url = ${monitor-instance-parameter:monitor-base-url}
mode = 600 mode = 600
...@@ -387,7 +391,7 @@ recipe = slapos.cookbook:promise.plugin ...@@ -387,7 +391,7 @@ recipe = slapos.cookbook:promise.plugin
eggs = eggs =
slapos.toolbox slapos.toolbox
output = ${directory:plugins}/check-free-disk-space.py output = ${directory:plugins}/check-free-disk-space.py
content = content =
from slapos.promise.plugin.check_free_disk_space import RunPromise from slapos.promise.plugin.check_free_disk_space import RunPromise
mode = 600 mode = 600
config-collectordb = ${monitor-instance-parameter:collector-db} config-collectordb = ${monitor-instance-parameter:collector-db}
...@@ -398,7 +402,7 @@ config-threshold-file = ${directory:etc}/min-free-disk-size ...@@ -398,7 +402,7 @@ config-threshold-file = ${directory:etc}/min-free-disk-size
# create dependencies between required monitor parts # create dependencies between required monitor parts
recipe = plone.recipe.command recipe = plone.recipe.command
command = true command = true
update-command = update-command =
base-url = ${monitor-conf-parameters:base-url} base-url = ${monitor-conf-parameters:base-url}
depends = depends =
${monitor-globalstate-cron-entry:name} ${monitor-globalstate-cron-entry:name}
...@@ -406,7 +410,7 @@ depends = ...@@ -406,7 +410,7 @@ depends =
${monitor-collect-cron-entry:name} ${monitor-collect-cron-entry:name}
${cron-entry-logrotate:name} ${cron-entry-logrotate:name}
${logrotate-entry-cron:name} ${logrotate-entry-cron:name}
${certificate-authority:wrapper} ${certificate-authority-service:wrapper-path}
${monitor-conf:rendered} ${monitor-conf:rendered}
${start-monitor:wrapper-path} ${start-monitor:wrapper-path}
${ca-monitor-httpd-service:wrapper-path} ${ca-monitor-httpd-service:wrapper-path}
...@@ -426,5 +430,5 @@ monitor-setup-url = ${monitor-instance-parameter:interface-url}/#page=settings_c ...@@ -426,5 +430,5 @@ monitor-setup-url = ${monitor-instance-parameter:interface-url}/#page=settings_c
[buildout] [buildout]
extends = extends =
{{ template_logrotate_base }} {{ template_logrotate_base }}
...@@ -26,7 +26,7 @@ md5sum = c6c11db5372150019debb1ce519b907d ...@@ -26,7 +26,7 @@ md5sum = c6c11db5372150019debb1ce519b907d
[template-pull-backup] [template-pull-backup]
filename = instance-pull-backup.cfg.in filename = instance-pull-backup.cfg.in
md5sum = 98d7e7c60e090dd3a460ca0410a194ec md5sum = 4cff5dc82428256929ecbf21cd918c00
[template-replicated] [template-replicated]
filename = template-replicated.cfg.in filename = template-replicated.cfg.in
......
...@@ -330,7 +330,7 @@ private-path-list += ...@@ -330,7 +330,7 @@ private-path-list +=
[monitor-check-resilient-feed-file] [monitor-check-resilient-feed-file]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
template = ${template-monitor-check-resilient-feed:location}/${template-monitor-check-resilient-feed:filename} template = ${template-monitor-check-resilient-feed:location}/${template-monitor-check-resilient-feed:filename}
rendered = $${monitor-directory:reports}/check-create-resilient-feed-files rendered = $${monitor-directory:bin}/check-create-resilient-feed-files
mode = 700 mode = 700
context = context =
key input_feed_directory directory:notifier-feeds key input_feed_directory directory:notifier-feeds
......
...@@ -142,7 +142,7 @@ slapos.libnetworkcache = 0.16 ...@@ -142,7 +142,7 @@ slapos.libnetworkcache = 0.16
slapos.rebootstrap = 4.1 slapos.rebootstrap = 4.1
slapos.recipe.build = 0.40 slapos.recipe.build = 0.40
slapos.recipe.cmmi = 0.10 slapos.recipe.cmmi = 0.10
slapos.toolbox = 0.84 slapos.toolbox = 0.85
stevedore = 1.21.0 stevedore = 1.21.0
subprocess32 = 3.5.3 subprocess32 = 3.5.3
unicodecsv = 0.14.1 unicodecsv = 0.14.1
......
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