Commit e538a91e authored by Benjamin Blanc's avatar Benjamin Blanc

scalability: stack/erp5 up

parent 5a043cfe
...@@ -11,12 +11,13 @@ extensions = ...@@ -11,12 +11,13 @@ extensions =
mr.developer mr.developer
find-links = find-links =
http://192.168.242.75:1235/
http://www.nexedi.org/static/packages/source/slapos.buildout/ http://www.nexedi.org/static/packages/source/slapos.buildout/
http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/ http://www.nexedi.org/static/packages/source/hexagonit.recipe.download/
http://dist.repoze.org http://dist.repoze.org
http://www.nexedi.org/static/packages/source/ http://www.nexedi.org/static/packages/source/
http://www.owlfish.com/software/wsgiutils/download.html http://www.owlfish.com/software/wsgiutils/download.html
https://pypi.python.org/packages/source/z/z3c.etestbrowser/
https://pypi.python.org/packages/source/z/zope.testbrowser/
allow-hosts += pybrary.net allow-hosts += pybrary.net
...@@ -108,6 +109,7 @@ parts = ...@@ -108,6 +109,7 @@ parts =
testrunner testrunner
test_suite_runner test_suite_runner
scalability_test_suite_runner scalability_test_suite_runner
performance_tester
# basic Xorg # basic Xorg
libXdmcp libXdmcp
...@@ -138,12 +140,18 @@ parts = ...@@ -138,12 +140,18 @@ parts =
# Local development # Local development
slapos.cookbook-repository slapos.cookbook-repository
check-recipe check-recipe
# Create instance template
template
erp5.dev-repository erp5.dev-repository
erp5.util erp5.util
slapos.cookbook
slapos.recipe.template
# Create instance template
template
erp5.util-check erp5.util-check
[erp5.dev-repository] [erp5.dev-repository]
recipe = slapos.recipe.build:gitclone recipe = slapos.recipe.build:gitclone
repository = http://192.168.242.75:1235/erp5.git repository = http://192.168.242.75:1235/erp5.git
...@@ -234,7 +242,7 @@ md5sum = 564006953b7d7a12d40a14b6648b32f0 ...@@ -234,7 +242,7 @@ md5sum = 564006953b7d7a12d40a14b6648b32f0
# XXX: "template.cfg" is hardcoded in instanciation recipe # XXX: "template.cfg" is hardcoded in instanciation recipe
filename = template.cfg filename = template.cfg
template = ${:_profile_base_location_}/instance.cfg.in template = ${:_profile_base_location_}/instance.cfg.in
md5sum = 36ba0ca411fac348faa95ac7c0892e96 md5sum = 010595090b6376bd2746f1e98b922d8b
extra-context = extra-context =
key apache_location apache:location key apache_location apache:location
key aspell_location aspell:location key aspell_location aspell:location
...@@ -313,7 +321,7 @@ md5sum = f271a904e7cc0039ce109f592fb48b5f ...@@ -313,7 +321,7 @@ md5sum = f271a904e7cc0039ce109f592fb48b5f
[template-scalability] [template-scalability]
< = download-base < = download-base
filename = instance-scalability.cfg.in filename = instance-scalability.cfg.in
md5sum = fb479b5d2732fa32795be3ecb2ab22c9 md5sum = 82f88b1d2e858cce2595c9db34cfa8dc
[template-zeo] [template-zeo]
< = download-base < = download-base
...@@ -441,14 +449,41 @@ initialization = ...@@ -441,14 +449,41 @@ initialization =
repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split())) repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list] sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
# TODO : make also a binary for performance_tester
# Test to make binary
[scalability_test_suite_runner] [scalability_test_suite_runner]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = ${eggs:eggs} eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths} extra-paths = ${eggs:extra-paths}
scripts = erp5.util.scalability.runScalabilityTestSuite:main entry-points =
runScalabilityTestSuite=erp5.util.scalability.runScalabilityTestSuite:main
scripts = runScalabilityTestSuite
initialization =
import os
import sys
import erp5.util
[Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
import Zope2
os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
os.environ['ZOPE_SCRIPTS'] = ''
repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
[performance_tester]
recipe = zc.recipe.egg
eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths}
entry-points =
performance_tester=erp5.util.benchmark.performance_tester:main
scripts = performance_tester
initialization =
import os
import sys
import erp5.util
[Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
import Zope2
os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
os.environ['ZOPE_SCRIPTS'] = ''
repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
[eggs] [eggs]
...@@ -536,6 +571,15 @@ eggs = ...@@ -536,6 +571,15 @@ eggs =
# Needed for parsing .po files from our Localizer subset # Needed for parsing .po files from our Localizer subset
polib polib
# performance_tester dependencies
z3c.etestbrowser
zope.testbrowser
# runScalabilityTestSuite dependencie
slapos.core
psutil
# parameterizing the version of the generated python interpreter name by the # parameterizing the version of the generated python interpreter name by the
# python section version causes dependency between this egg section and the # python section version causes dependency between this egg section and the
# installation of python, which we don't want on an instance # installation of python, which we don't want on an instance
...@@ -549,7 +593,8 @@ scripts = ...@@ -549,7 +593,8 @@ scripts =
web_checker_utility = erp5.util.webchecker:web_checker_utility web_checker_utility = erp5.util.webchecker:web_checker_utility
extra-paths = extra-paths =
${erp5:location} # ${erp5:location}
${erp5.dev-repository:location}
[zodbanalyze] [zodbanalyze]
recipe = zc.recipe.egg recipe = zc.recipe.egg
...@@ -594,6 +639,12 @@ scripts = ...@@ -594,6 +639,12 @@ scripts =
zodbpack zodbpack
[versions] [versions]
z3c.etestbrowser = 2.0.0
zope.testbrowser =
slapos.core = 0.32.3
psutil =
# pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
Acquisition = 2.13.7nxd001 Acquisition = 2.13.7nxd001
Products.DCWorkflow = 2.2.3nxd002 Products.DCWorkflow = 2.2.3nxd002
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
[buildout] [buildout]
parts = parts =
erp5-cluster erp5-cluster
launcher
binary-wrap-launcher binary-wrap-launcher
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
...@@ -28,32 +27,18 @@ config = ...@@ -28,32 +27,18 @@ config =
extra-config = extra-config =
config-use-ipv6 = {{ dumps(slapparameter_dict.get('use-ipv6', False)) }} config-use-ipv6 = {{ dumps(slapparameter_dict.get('use-ipv6', False)) }}
# Create binary
[launcher]
scripts =
runScalabilityTestSuite = erp5.util.scalability.runScalabilityTestSuite:main
log-path = ${basedirectory:log}/runScalabilityTestSuite.log
binary-path = ${:bin-directory}/runScalabilityTestSuite
# TODO : make also a wrapper for performance_tester (used by runScalabilityTestSuite)
# Create wrapper and execute command with parameters # Create wrapper and execute command with parameters
[binary-wrap-launcher] [binary-wrap-launcher]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
log-path = ${basedirectory:log}/runScalabilityTestSuite.log
binary-path = {{ bin_directory }}/runScalabilityTestSuite
wrapper-path = ${rootdirectory:bin}/runScalabilityTestSuite wrapper-path = ${rootdirectory:bin}/runScalabilityTestSuite
output = ${launcher:binary-path} output = ${binary-wrap-launcher:binary-path}
# TODO : get the erp5-cluster main url (apache listening user port ?) # TODO : get the erp5-cluster main url (apache listening user port ?)
erp5-url = http://foo.bar erp5-url = http://foo.bar
# Run scalability test suite wrapper command with parameters # Run scalability test suite wrapper command with parameters
command-line = "${binary-wrap-launcher:wrapper-path}\ # -\ dirty way to conserve spaces
--erp5-url ${binary-wrap-launcher:erp5-url}\ command-line = "${binary-wrap-launcher:binary-path}" --erp5-url ${binary-wrap-launcher:erp5-url} --test-result-path {{ slapparameter_dict.get('test-result-path') }} --revision {{ slapparameter_dict.get('revision') }} --node-title {{ slapparameter_dict.get('node-title') }} --test-suite-master-url {{ slapparameter_dict.get('test-suite-master-url') }} --log-path ${binary-wrap-launcher:log-path}
--test-result-path {{ dumps(slapparameter_dict.get('test-result-path')) }}\
--revision {{ dumps(slapparameter_dict.get('revision')) }}\
--node-title {{ dumps(slapparameter_dict.get('node-title')) }}\
--test-suite-master-url {{ dumps(slapparameter_dict.get('test-suite-master-url')) }}\
--log-path = ${launcher:log-path}"
return = url return = url
......
...@@ -240,6 +240,18 @@ extra-context = ...@@ -240,6 +240,18 @@ extra-context =
# Must match the key id in [switch-softwaretype] which uses this section. # Must match the key id in [switch-softwaretype] which uses this section.
raw software_type cluster-zope raw software_type cluster-zope
[dynamic-template-scalability]
< = jinja2-template-base
template = {{ template_scalability }}
filename = instance-scalability.cfg
extensions = jinja2.ext.do
bin_directory = {{ bin_directory }}
extra-context =
key bin_directory dynamic-template-scalability:bin_directory
key local_bt5_repository dynamic-template-cluster-erp5-parameters:local-bt5-repository
# Must match the key id in [switch-softwaretype] which uses this section.
raw software_type scalability
[dynamic-template-kumofs-parameters] [dynamic-template-kumofs-parameters]
dash-location = {{ dash_location }} dash-location = {{ dash_location }}
dcron-location = {{ dcron_location }} dcron-location = {{ dcron_location }}
......
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