From 69224510a03c237c4646d3dc8f25960cb22cf23c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20de=20Saint=20Martin?= <cedric.dsm@tiolive.com>
Date: Mon, 24 Nov 2014 15:10:33 +0000
Subject: [PATCH] slaprunner: add dedicated buildout profile for erp5testnode.

---
 software/slaprunner/common.cfg                |  2 +-
 .../instance-for-erp5testnode.cfg.in          |  5 ++++
 .../instance-resilient-test.cfg.jinja2        | 23 ++++++++++++++-----
 .../slaprunner/software-for-erp5testnode.cfg  | 15 ++++++++++++
 4 files changed, 38 insertions(+), 7 deletions(-)
 create mode 100644 software/slaprunner/instance-for-erp5testnode.cfg.in
 create mode 100644 software/slaprunner/software-for-erp5testnode.cfg

diff --git a/software/slaprunner/common.cfg b/software/slaprunner/common.cfg
index f2c5ecb2f..87009537d 100644
--- a/software/slaprunner/common.cfg
+++ b/software/slaprunner/common.cfg
@@ -90,7 +90,7 @@ mode = 0644
 recipe = hexagonit.recipe.download
 url = ${:_profile_base_location_}/instance-resilient-test.cfg.jinja2
 download-only = true
-md5sum = 105c7c427def7b2643b7480b2bada3a5
+md5sum = b95b230bcdd7d4eaf9452f73156b27e8
 filename = instance-resilient-test.cfg.jinja2
 mode = 0644
 
diff --git a/software/slaprunner/instance-for-erp5testnode.cfg.in b/software/slaprunner/instance-for-erp5testnode.cfg.in
new file mode 100644
index 000000000..cf8c70044
--- /dev/null
+++ b/software/slaprunner/instance-for-erp5testnode.cfg.in
@@ -0,0 +1,5 @@
+[buildout]
+extends = ${template:output}
+
+[switch_softwaretype]
+default = $${:test}
diff --git a/software/slaprunner/instance-resilient-test.cfg.jinja2 b/software/slaprunner/instance-resilient-test.cfg.jinja2
index c2b0fc56b..7e721060f 100644
--- a/software/slaprunner/instance-resilient-test.cfg.jinja2
+++ b/software/slaprunner/instance-resilient-test.cfg.jinja2
@@ -5,8 +5,9 @@ develop-eggs-directory = {{ develop_eggs_directory }}
 offline = true
 
 parts =
-  deploy-resiliency-test
   request-resilient-instance
+  deploy-unit-test
+  deploy-scalability-test
   deploy-standalone-resiliency-test
 
 [directory]
@@ -21,18 +22,27 @@ log = ${:var}/log/
 services = ${:etc}/service/
 scripts = ${:etc}/run/
 
-[deploy-resiliency-test]
+[deploy-scalability-test]
 recipe = slapos.cookbook:wrapper
 testnode-parameters = --test-result-path={{ slapparameter_dict.get('test-result-path') }} --revision={{ slapparameter_dict.get('test-suite-revision') }} --node-title={{ slapparameter_dict.get('scalability-launcher-title') }} --test-suite={{ slapparameter_dict.get('test-suite') }} --test-suite-master-url={{ slapparameter_dict.get('test-suite-master-url') }} --log-path=${directory:log}
-test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=runner slaprunner_rootinstance_name='${request-resilient-instance:name}'
-command-line = {{ bin_directory }}/runResiliencyTest ${:testnode-parameters} ${:test-parameters}
+test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=runner root_instance_name='${request-resilient-instance:name}'
+command-line = {{ bin_directory }}/runResiliencyScalabilityTestNode ${:testnode-parameters} ${:test-parameters}
 wrapper-path = ${directory:scripts}/runResiliencyTestSuite
 
+[deploy-unit-test]
+recipe = collective.recipe.template
+test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=runner root_instance_name='${request-resilient-instance:name}'
+input = inline:
+  #!/bin/sh
+  exec {{ bin_directory }}/runResiliencyUnitTestTestNode $@ ${:test-parameters}
+output = ${directory:bin}/runTestSuite
+mode = 755
+
 [deploy-standalone-resiliency-test]
 # Used to manually run the resilient test if we don't have a running testnode.
 recipe = slapos.cookbook:wrapper
 test-suite-title = slaprunner
-command-line = {{ bin_directory }}/runStandaloneResiliencyTest --test-suite-title=${:test-suite-title} ${deploy-resiliency-test:test-parameters}
+command-line = {{ bin_directory }}/runStandaloneResiliencyTestSuite --test-suite-title=${:test-suite-title} ${deploy-scalability-test:test-parameters}
 wrapper-path = ${directory:bin}/runStandaloneResiliencyTestSuite
 
 [request-resilient-instance]
@@ -45,7 +55,8 @@ name = Resilient Instance (Root Instance)
 config-{{ key }} = {{ dumps(value) }}
 {% endfor -%}
 config-resiliency-backup-periodicity = */6 * * * *
-config-resilient-clone-number = 2
+config-resilient-clone-number = 1
+config-ignore-known-hosts-file = true
 # XXX hardcoded
 #config-frontend-domain = google.com
 # XXX Hack to deploy Root Instance on the same computer as the type-test Instance
diff --git a/software/slaprunner/software-for-erp5testnode.cfg b/software/slaprunner/software-for-erp5testnode.cfg
new file mode 100644
index 000000000..573162352
--- /dev/null
+++ b/software/slaprunner/software-for-erp5testnode.cfg
@@ -0,0 +1,15 @@
+[buildout]
+extends = development.cfg
+
+parts += template-erp5testnode
+
+# Change default software-type to be "test", so that it can be run using erp5testnode.
+[template-erp5testnode]
+recipe = slapos.recipe.template
+url = ${:_profile_base_location_}/instance-for-erp5testnode.cfg.in
+md5sum = 59a13145d3df30f38442ce172330dfb3
+output = ${buildout:directory}/template.cfg
+mode = 0644
+
+[template]
+output = ${buildout:directory}/template-original.cfg
-- 
2.30.9