Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
slapos
Commits
142d35d8
Commit
142d35d8
authored
Sep 24, 2018
by
Guillaume Hervier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
software/slaprunner: auto-restart services on SR upgrade.
parent
a398f5cb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
14 deletions
+53
-14
software/slaprunner/buildout.hash.cfg
software/slaprunner/buildout.hash.cfg
+1
-1
software/slaprunner/instance-runner.cfg
software/slaprunner/instance-runner.cfg
+52
-13
No files found.
software/slaprunner/buildout.hash.cfg
View file @
142d35d8
...
@@ -18,7 +18,7 @@ md5sum = 713db528880282d568278f09458d2aab
...
@@ -18,7 +18,7 @@ md5sum = 713db528880282d568278f09458d2aab
[template-runner]
[template-runner]
filename = instance-runner.cfg
filename = instance-runner.cfg
md5sum =
e12255a8c946b3eb8c6373fff481339f
md5sum =
cd855670076979919c0fd00cc0f5938c
[template-runner-import-script]
[template-runner-import-script]
filename = template/runner-import.sh.jinja2
filename = template/runner-import.sh.jinja2
...
...
software/slaprunner/instance-runner.cfg
View file @
142d35d8
...
@@ -4,6 +4,8 @@ parts =
...
@@ -4,6 +4,8 @@ parts =
nginx-launcher
nginx-launcher
certificate-authority
certificate-authority
ca-nginx
ca-nginx
certificate-authority-service
ca-nginx-service
logrotate-entry-nginx
logrotate-entry-nginx
gunicorn-launcher
gunicorn-launcher
gunicorn-graceful
gunicorn-graceful
...
@@ -16,10 +18,13 @@ parts =
...
@@ -16,10 +18,13 @@ parts =
runner-sshd-graceful
runner-sshd-graceful
runner-sshd-promise
runner-sshd-promise
runner-sshkeys-authority
runner-sshkeys-authority
runner-sshkeys-authority-service
runner-sshkeys-sshd
runner-sshkeys-sshd
runner-sshkeys-sshd-service
runtestsuite
runtestsuite
symlinks
symlinks
shellinabox
shellinabox
shellinabox-service
slapos-cfg
slapos-cfg
cron-entry-prepare-software
cron-entry-prepare-software
deploy-instance-parameters
deploy-instance-parameters
...
@@ -202,8 +207,9 @@ default_repository_branch = $${slap-parameter:slapos-reference}
...
@@ -202,8 +207,9 @@ default_repository_branch = $${slap-parameter:slapos-reference}
[slaprunner-supervisord-wrapper]
[slaprunner-supervisord-wrapper]
recipe = slapos.cookbook:wrapper
recipe = slapos.cookbook:wrapper
# XXX hardcoded locations
# XXX hardcoded locations
command-line = $${
buildout:directory}/bin
/slapos node supervisord --cfg $${directory:etc}/slapos.cfg -n
command-line = $${
directory:bin}
/slapos node supervisord --cfg $${directory:etc}/slapos.cfg -n
wrapper-path = $${directory:services}/slaprunner-supervisord
wrapper-path = $${directory:services}/slaprunner-supervisord
hash-files = $${buildout:directory}/software_release/buildout.cfg
[test-runner]
[test-runner]
...
@@ -224,7 +230,7 @@ arguments = --server_url=$${slap-connection:server-url} --key_file=$${slap-conne
...
@@ -224,7 +230,7 @@ arguments = --server_url=$${slap-connection:server-url} --key_file=$${slap-conne
command-line = ${buildout:directory}/bin/slaprunnertest $${:arguments}
command-line = ${buildout:directory}/bin/slaprunnertest $${:arguments}
wrapper-path = $${directory:bin}/runTestSuite
wrapper-path = $${directory:bin}/runTestSuite
environment = PATH=$${shell-environment:path}
environment = PATH=$${shell-environment:path}
RUNNER_CONFIG=$${slapos-cfg:rendered}
RUNNER_CONFIG=$${slapos-cfg:rendered}
# Deploy openssh-server
# Deploy openssh-server
[runner-sshd-port]
[runner-sshd-port]
...
@@ -287,9 +293,15 @@ keys = $${directory:sshkeys}/runner-keys/
...
@@ -287,9 +293,15 @@ keys = $${directory:sshkeys}/runner-keys/
recipe = slapos.cookbook:sshkeys_authority
recipe = slapos.cookbook:sshkeys_authority
request-directory = $${runner-sshkeys-directory:requests}
request-directory = $${runner-sshkeys-directory:requests}
keys-directory = $${runner-sshkeys-directory:keys}
keys-directory = $${runner-sshkeys-directory:keys}
wrapper = $${directory:
services
}/runner_sshkeys_authority
wrapper = $${directory:
bin
}/runner_sshkeys_authority
keygen-binary = ${openssh:location}/bin/ssh-keygen
keygen-binary = ${openssh:location}/bin/ssh-keygen
[runner-sshkeys-authority-service]
recipe = slapos.cookbook:wrapper
command-line = $${runner-sshkeys-authority:wrapper}
wrapper-path = $${directory:services}/runner-sshkeys-authority
hash-files = $${buildout:directory}/software_release/buildout.cfg
[runner-sshkeys-sshd]
[runner-sshkeys-sshd]
<= runner-sshkeys-authority
<= runner-sshkeys-authority
recipe = slapos.cookbook:sshkeys_authority.request
recipe = slapos.cookbook:sshkeys_authority.request
...
@@ -298,7 +310,13 @@ type = rsa
...
@@ -298,7 +310,13 @@ type = rsa
executable = $${runner-sshd-server:output}
executable = $${runner-sshd-server:output}
public-key = $${runner-sshd-raw-server:rsa-keyfile}.pub
public-key = $${runner-sshd-raw-server:rsa-keyfile}.pub
private-key = $${runner-sshd-raw-server:rsa-keyfile}
private-key = $${runner-sshd-raw-server:rsa-keyfile}
wrapper = $${directory:services}/runner-sshd
wrapper = $${directory:bin}/runner-sshd
[runner-sshkeys-sshd-service]
recipe = slapos.cookbook:wrapper
command-line = $${runner-sshkeys-sshd:wrapper}
wrapper-path = $${directory:services}/runner-sshd
hash-files = $${buildout:directory}/software_release/buildout.cfg
[runner-sshd-add-authorized-key]
[runner-sshd-add-authorized-key]
recipe = slapos.cookbook:dropbear.add_authorized_key
recipe = slapos.cookbook:dropbear.add_authorized_key
...
@@ -411,6 +429,7 @@ access-url = https://[$${httpd-parameters:global_ip}]:$${httpd-parameters:global
...
@@ -411,6 +429,7 @@ access-url = https://[$${httpd-parameters:global_ip}]:$${httpd-parameters:global
wait-for-files =
wait-for-files =
$${ca-nginx:cert-file}
$${ca-nginx:cert-file}
$${ca-nginx:key-file}
$${ca-nginx:key-file}
hash-files = $${buildout:directory}/software_release/buildout.cfg
[logrotate-entry-apache-httpd]
[logrotate-entry-apache-httpd]
<= logrotate-entry-base
<= logrotate-entry-base
...
@@ -461,6 +480,7 @@ wrapper-path = $${gunicorn:bin_launcher}
...
@@ -461,6 +480,7 @@ wrapper-path = $${gunicorn:bin_launcher}
environment = PATH=$${shell-environment:path}
environment = PATH=$${shell-environment:path}
RUNNER_CONFIG=$${slaprunner:slapos.cfg}
RUNNER_CONFIG=$${slaprunner:slapos.cfg}
LANG=en_GB.UTF-8
LANG=en_GB.UTF-8
hash-files = $${buildout:directory}/software_release/buildout.cfg
[gunicorn-graceful]
[gunicorn-graceful]
recipe = slapos.cookbook:wrapper
recipe = slapos.cookbook:wrapper
...
@@ -476,7 +496,7 @@ recipe = slapos.cookbook:certificate_authority
...
@@ -476,7 +496,7 @@ recipe = slapos.cookbook:certificate_authority
openssl-binary = ${openssl:location}/bin/openssl
openssl-binary = ${openssl:location}/bin/openssl
ca-dir = $${directory:ca-dir}
ca-dir = $${directory:ca-dir}
requests-directory = $${cadirectory:requests}
requests-directory = $${cadirectory:requests}
wrapper = $${directory:
services
}/certificate_authority
wrapper = $${directory:
bin
}/certificate_authority
ca-private = $${cadirectory:private}
ca-private = $${cadirectory:private}
ca-certs = $${cadirectory:certs}
ca-certs = $${cadirectory:certs}
ca-newcerts = $${cadirectory:newcerts}
ca-newcerts = $${cadirectory:newcerts}
...
@@ -496,10 +516,22 @@ recipe = slapos.cookbook:certificate_authority.request
...
@@ -496,10 +516,22 @@ recipe = slapos.cookbook:certificate_authority.request
key-file = $${cadirectory:certs}/nginx_frontend.key
key-file = $${cadirectory:certs}/nginx_frontend.key
cert-file = $${cadirectory:certs}/nginx_frontend.crt
cert-file = $${cadirectory:certs}/nginx_frontend.crt
executable = $${nginx-launcher:rendered}
executable = $${nginx-launcher:rendered}
wrapper = $${directory:
services
}/nginx-frontend
wrapper = $${directory:
bin
}/nginx-frontend
# Put domain name
# Put domain name
name = example.com
name = example.com
[ca-nginx-service]
recipe = slapos.cookbook:wrapper
command-line = $${directory:bin}/nginx-frontend
wrapper-path = $${directory:services}/nginx-frontend
hash-files = $${buildout:directory}/software_release/buildout.cfg
[certificate-authority-service]
recipe = slapos.cookbook:wrapper
command-line = $${directory:bin}/certificate_authority
wrapper-path = $${directory:services}/certificate_authority
hash-files = $${buildout:directory}/software_release/buildout.cfg
#--------------------
#--------------------
#--
#--
#-- Request frontend
#-- Request frontend
...
@@ -527,14 +559,14 @@ check-secure = 1
...
@@ -527,14 +559,14 @@ check-secure = 1
[request-httpd-frontend]
[request-httpd-frontend]
<= slap-connection
<= slap-connection
recipe = slapos.cookbook:requestoptional
recipe = slapos.cookbook:requestoptional
# XXX - Unfortunately, we still call webrunner httpd frontend "Monitor Frontend" otherwise
# XXX - Unfortunately, we still call webrunner httpd frontend "Monitor Frontend" otherwise
# buildout will ignore previous frontend that was created and create a new one (in case of upgrade)
# buildout will ignore previous frontend that was created and create a new one (in case of upgrade)
name = Monitor Frontend
name = Monitor Frontend
# XXX We have hardcoded SR URL here.
# XXX We have hardcoded SR URL here.
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
slave = true
slave = true
config-url = $${apache-httpd:access-url}
config-url = $${apache-httpd:access-url}
config-domain =
config-domain =
return = secure_access domain
return = secure_access domain
[httpd-frontend-promise]
[httpd-frontend-promise]
...
@@ -638,8 +670,8 @@ slaprunner-httpd-port = $${:monitor-port}
...
@@ -638,8 +670,8 @@ slaprunner-httpd-port = $${:monitor-port}
# XXX - for backward compatibility, monitor-port was for slaprunner httpd server
# XXX - for backward compatibility, monitor-port was for slaprunner httpd server
monitor-port = 9686
monitor-port = 9686
instance-name =
instance-name =
monitor-cors-domains =
monitor-cors-domains =
monitor-interface-url =
monitor-interface-url =
# XXX - define a new port for monitor here and use monitor-port for backward compatibility
# XXX - define a new port for monitor here and use monitor-port for backward compatibility
monitor-httpd-port = 8386
monitor-httpd-port = 8386
...
@@ -667,7 +699,7 @@ recipe = slapos.recipe.template:jinja2
...
@@ -667,7 +699,7 @@ recipe = slapos.recipe.template:jinja2
# We cannot use slapos.cookbook:wrapper here because this recipe escapes too much
# We cannot use slapos.cookbook:wrapper here because this recipe escapes too much
socket = $${directory:run}/siab.sock
socket = $${directory:run}/siab.sock
mode = 0700
mode = 0700
rendered = $${directory:
services
}/shellinaboxd
rendered = $${directory:
bin
}/shellinaboxd
template = inline:
template = inline:
#!/bin/sh
#!/bin/sh
exec ${shellinabox:location}/bin/shellinaboxd \
exec ${shellinabox:location}/bin/shellinaboxd \
...
@@ -676,6 +708,12 @@ template = inline:
...
@@ -676,6 +708,12 @@ template = inline:
--unixdomain-only=$${:socket}:$(id -u):$(id -g):0600 \
--unixdomain-only=$${:socket}:$(id -u):$(id -g):0600 \
--service "/:$(id -u):$(id -g):HOME:$${shell-environment:shell} -l"
--service "/:$(id -u):$(id -g):HOME:$${shell-environment:shell} -l"
[shellinabox-service]
recipe = slapos.cookbook:wrapper
command-line = $${directory:bin}/shellinaboxd
wrapper-path = $${directory:services}/shellinaboxd
hash-files = $${buildout:directory}/software_release/buildout.cfg
[shell-environment]
[shell-environment]
shell = ${bash:location}/bin/bash
shell = ${bash:location}/bin/bash
path = ${nano:location}/bin:${vim:location}/bin:${screen:location}/bin:${git:location}/bin:${curl:location}/bin:${python2.7:location}/bin:${tig:location}/bin:${zip:location}/bin:${mosh:location}/bin:${bash:location}/bin:$${buildout:directory}/bin/:/usr/bin:/bin/
path = ${nano:location}/bin:${vim:location}/bin:${screen:location}/bin:${git:location}/bin:${curl:location}/bin:${python2.7:location}/bin:${tig:location}/bin:${zip:location}/bin:${mosh:location}/bin:${bash:location}/bin:$${buildout:directory}/bin/:/usr/bin:/bin/
...
@@ -743,7 +781,7 @@ context =
...
@@ -743,7 +781,7 @@ context =
raw shell $${shell-environment:shell}
raw shell $${shell-environment:shell}
key instance_name slap-parameter:instance-name
key instance_name slap-parameter:instance-name
key workdir runnerdirectory:home
key workdir runnerdirectory:home
#---------------------------
#---------------------------
#--
#--
#-- supervisord managing slaprunner automation features
#-- supervisord managing slaprunner automation features
...
@@ -808,6 +846,7 @@ context =
...
@@ -808,6 +846,7 @@ context =
recipe = slapos.cookbook:wrapper
recipe = slapos.cookbook:wrapper
command-line = $${buildout:directory}/bin/supervisord -c $${supervisord-conf:rendered} --nodaemon
command-line = $${buildout:directory}/bin/supervisord -c $${supervisord-conf:rendered} --nodaemon
wrapper-path = $${directory:services}/supervisord
wrapper-path = $${directory:services}/supervisord
hash-files = $${buildout:directory}/software_release/buildout.cfg
[logrotate-entry-supervisord]
[logrotate-entry-supervisord]
<= logrotate-entry-base
<= logrotate-entry-base
...
@@ -826,7 +865,7 @@ path = $${directory:promises}/supervisord
...
@@ -826,7 +865,7 @@ path = $${directory:promises}/supervisord
hostname = $${slaprunner:ipv4}
hostname = $${slaprunner:ipv4}
port = $${supervisord:port}
port = $${supervisord:port}
# XXX Monitor
# XXX Monitor
[monitor-instance-parameter]
[monitor-instance-parameter]
monitor-httpd-port = $${slap-parameter:monitor-httpd-port}
monitor-httpd-port = $${slap-parameter:monitor-httpd-port}
{% if slapparameter_dict.get('name', '') -%}
{% if slapparameter_dict.get('name', '') -%}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment