From b65c41d18ff0d9702f779ab829b8e98875ab6774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20de=20Saint=20Martin?= <cedric.dsm@tiolive.com> Date: Wed, 4 Feb 2015 10:51:04 +0100 Subject: [PATCH] slaprunner: import script: run our own slapproxy. In case of erp5testnode, we have only one IP. So slapos node instance on clone instance would reach... slapproxy of main slaprunner. --- software/slaprunner/common.cfg | 4 ++-- .../slaprunner/instance-runner-import.cfg.in | 1 + .../slaprunner/template/runner-import.sh.jinja2 | 16 ++++++++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/software/slaprunner/common.cfg b/software/slaprunner/common.cfg index 37a12277d..e9c5a1aa4 100644 --- a/software/slaprunner/common.cfg +++ b/software/slaprunner/common.cfg @@ -52,7 +52,7 @@ mode = 0644 recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/template/runner-import.sh.jinja2 download-only = true -md5sum = 40c1e8e5460661e61bf209c3192d4ddf +md5sum = 73374c742c846a79fe74223105d01937 filename = runner-import.sh.jinja2 mode = 0644 @@ -60,7 +60,7 @@ mode = 0644 recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-runner-import.cfg.in output = ${buildout:directory}/instance-runner-import.cfg -md5sum = e9e3692ce4af4d603666c969ec1964d2 +md5sum = 3900e8d448879a208ae0cc1ce92c1e6e mode = 0644 [template-runner-export-script] diff --git a/software/slaprunner/instance-runner-import.cfg.in b/software/slaprunner/instance-runner-import.cfg.in index ab010dfaa..c96cadb42 100644 --- a/software/slaprunner/instance-runner-import.cfg.in +++ b/software/slaprunner/instance-runner-import.cfg.in @@ -72,6 +72,7 @@ mode = 700 restore-exit-code-file=$${directory:srv}/importer-exit-code-file context = key backend_url slaprunner:access-url + key proxy_host slaprunner:ipv4 section directory directory raw shell_binary ${dash:location}/bin/dash raw rsync_binary ${rsync:location}/bin/rsync diff --git a/software/slaprunner/template/runner-import.sh.jinja2 b/software/slaprunner/template/runner-import.sh.jinja2 index 99f2397c9..a629f7a64 100644 --- a/software/slaprunner/template/runner-import.sh.jinja2 +++ b/software/slaprunner/template/runner-import.sh.jinja2 @@ -62,13 +62,25 @@ $SQLITE3 $DATABASE "update partition11 set software_release='$SOFTWARE_RELEASE' $SQLITE3 $DATABASE "update software11 set url='$SOFTWARE_RELEASE' where url='$OLD_SOFTWARE_RELEASE';" || $SQLITE3 $DATABASE "delete from software11 where url='$OLD_SOFTWARE_RELEASE';" # Change slapproxy database to have all instances stopped $SQLITE3 $DATABASE "update partition11 set slap_state='stopped';" + +set -x +# Run slapproxy on different port (in case of running inside of erp5testnode +# with only one IP and port 50000 already taken by slapproxy of main instance) +HOST="{{ proxy_host }}" +PORT="50001" +URL="http://$HOST:$PORT" +$SLAPOS proxy start --cfg $HOME/etc/slapos.cfg --port $PORT >/dev/null 2>&1 & +SLAPPROXY_PID=$! +trap "kill $SLAPPROXY_PID" EXIT TERM INT +sleep 5 + echo "Building newest software..." -$SLAPOS node software --cfg $HOME/etc/slapos.cfg --pidfile $HOME/var/run/slapos-node-software.pid --all --pidfile $HOME/var/run/slapos-node-software.pid >/dev/null 2>&1 || true +$SLAPOS node software --cfg $HOME/etc/slapos.cfg --pidfile $HOME/var/run/slapos-node-software.pid --all --master-url=$URL --pidfile $HOME/var/run/slapos-node-software.pid >/dev/null 2>&1 || true # Remove defined scripts to force buildout to recreate them to have updated paths rm $srv_directory/runner/instance/slappart*/srv/runner-import-restore || true echo "Running slapos node instance..." # XXX hardcoded -$SLAPOS node instance --cfg $HOME/etc/slapos.cfg --pidfile $HOME/var/run/slapos-node-instance.pid >/dev/null 2>&1 || true +$SLAPOS node instance --cfg $HOME/etc/slapos.cfg --master-url=$URL --pidfile $HOME/var/run/slapos-node-instance.pid >/dev/null 2>&1 || true # Invoke defined scripts for each partition inside of slaprunner for partition in $srv_directory/runner/instance/slappart*/ -- 2.30.9