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