[Erp5-report] r45860 guillaume.bottex - in /slapos/trunk: recipe/slapos.recipe.sheepdogtest...
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon May 16 18:56:19 CEST 2011
Author: guillaume.bottex
Date: Mon May 16 18:56:19 2011
New Revision: 45860
URL: http://svn.erp5.org?rev=45860&view=rev
Log:
Adding recipe and tool for sheepdog testbed.
Added:
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/CHANGES.txt (with props)
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/MANIFEST.in
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/README.txt (with props)
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.cfg
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.py
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/__init__.py
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/__init__.py
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/__init__.py
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_manager_run.in
slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_run.in
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/CHANGES.txt (with props)
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/MANIFEST.in
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/README.txt (with props)
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.cfg
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.py
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/__init__.py
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/__init__.py
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/__init__.py
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py (with props)
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/CHANGES.txt
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/CHANGES.txt?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/CHANGES.txt (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/CHANGES.txt [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,8 @@
+Changelog
+=========
+
+0.0.1dev (2011/05/16)
+---------------------
+
+ - Initial version
+ [Guillaume Bottex]
Propchange: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/CHANGES.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/MANIFEST.in
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/MANIFEST.in?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/MANIFEST.in (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/MANIFEST.in [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,2 @@
+include CHANGES.txt
+recursive-include src/slapos/recipe/sheepdogtestbed *.in
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/README.txt
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/README.txt?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/README.txt (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/README.txt [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,2 @@
+slapos.recipe.sheepdogtestbed
+=============================
Propchange: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/README.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.cfg
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.cfg?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.cfg (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.cfg [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,3 @@
+[egg_info]
+tag_build = .dev
+tag_svn_revision = 1
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.py (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/setup.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,36 @@
+from setuptools import setup, find_packages
+import os
+
+name = "slapos.recipe.sheepdogtestbed"
+version = '0.0.1'
+
+def read(*rnames):
+ return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
+
+long_description=( read('README.txt')
+ + '\n' +
+ read('CHANGES.txt')
+ )
+
+setup(
+ name = name,
+ version = version,
+ description = "ZC Buildout recipe for the sheepdog test bed",
+ long_description=long_description,
+ license = "GPLv3",
+ keywords = "buildout sheepdogtestbed",
+ classifiers=[
+ "Framework :: Buildout :: Recipe",
+ "Programming Language :: Python",
+ ],
+ packages = find_packages('src'),
+ package_dir = {'': 'src'},
+ include_package_data=True,
+ install_requires = [
+ 'zc.recipe.egg',
+ 'setuptools',
+ 'slapos.lib.recipe',
+ ],
+ namespace_packages = ['slapos', 'slapos.recipe'],
+ entry_points = {'zc.buildout': ['default = %s:SheepDogTestBed' % name]},
+ )
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/__init__.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/__init__.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/__init__.py (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/__init__.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/__init__.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/__init__.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/__init__.py (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/__init__.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/__init__.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/__init__.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/__init__.py (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/__init__.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,118 @@
+##############################################################################
+#
+# Copyright (c) 2010 Vifib SARL and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+##############################################################################
+
+import os
+import urllib
+import urllib2
+import pkg_resources
+from slapos.lib.recipe.BaseSlapRecipe import BaseSlapRecipe
+
+class SheepDogTestBed(BaseSlapRecipe):
+
+ def _install(self):
+ self.parameter_dict = self.computer_partition.getInstanceParameterDict()
+ software_type = self.parameter_dict.get('slap_software_type', 'default')
+ if software_type is None or software_type == 'RootSoftwareInstance':
+ software_type = 'default'
+ if "run_%s" % software_type in dir(self) and \
+ callable(getattr(self, "run_%s" % software_type)):
+ return getattr(self, "run_%s" % software_type)()
+ else:
+ raise NotImplementedError("Do not support %s" % software_type)
+
+ def run_default(self):
+ return self.run_sheepdog_test()
+
+ def run_sheepdog_test(self):
+ """ Launch sheepdog test process. """
+
+ sheepdog_test_config = {}
+ sheepdog_test_config.update(self.options)
+ sheepdog_test_config.update(self.parameter_dict)
+
+ sheepdog_test_config['address'] = self.getGlobalIPv6Address()
+ sheepdog_test_config['report_path'] = self.log_directory
+
+ # if 'nb_server_max' not in sheepdog_test_config:
+ # sheepdog_test_config['nb_server_max'] = 3
+
+ # if 'nb_tester_max' not in sheepdog_test_config:
+ # sheepdog_test_config['nb_tester_max'] = 3
+
+ if 'nb_thread' not in sheepdog_test_config:
+ sheepdog_test_config['nb_thread'] = 1
+
+ if 'nb_request' not in sheepdog_test_config:
+ sheepdog_test_config['nb_request'] = 1000
+
+
+ sheepdog_test_config['software_release_url'] = self.software_release_url
+ sheepdog_test_config['server_url'] = self.server_url
+ sheepdog_test_config['key_file'] = self.key_file
+ sheepdog_test_config['cert_file'] = self.cert_file
+ sheepdog_test_config['computer_id'] = self.computer_id
+ sheepdog_test_config['computer_partition_id'] = self.computer_partition_id
+ sheepdog_test_config['plugin_name'] = 'sheepdog'
+
+ sheepdog_test_connection = {}
+ sheepdog_test_connection['url'] = "http://["+sheepdog_test_config['address']+"]:5000/"
+ self.computer_partition.setConnectionDict(sheepdog_test_connection)
+
+ nosqltester_manager_wrapper_template_location = pkg_resources.resource_filename(
+ __name__, os.path.join(
+ 'template', 'nosqltester_manager_run.in'))
+ nosqltester_manager_runner_path = self.createRunningWrapper("sheepdog_test_manager",
+ self.substituteTemplate(nosqltester_manager_wrapper_template_location, sheepdog_test_config))
+
+ return [nosqltester_manager_runner_path]
+
+ def run_sheepdog_tester(self):
+ """ Runs the sheepdog tester. """
+ tester_config = {}
+ tester_config.update(self.options)
+ tester_config.update(self.parameter_dict)
+
+ tester_config['tester_address'] = self.getGlobalIPv6Address()
+ tester_config['report_path'] = self.log_directory
+ tester_config['binary'] = tester_config['sheepstrike_binary'] + " -l " + \
+ tester_config['gateway_address'].strip("[]") + " -p " + \
+ tester_config['gateway_port'] + " -t " + \
+ tester_config['nb_thread'] + " " + \
+ tester_config['nb_request'] #" 1000" " -t 32 1024000"
+
+ tester_connection = {}
+ tester_connection['start_url'] = "http://%s:5000/start" % tester_config['tester_address']
+ self.computer_partition.setConnectionDict(tester_connection)
+
+ tester_wrapper_template_location = pkg_resources.resource_filename(
+ __name__, os.path.join(
+ 'template', 'nosqltester_run.in'))
+ tester_runner_path = self.createRunningWrapper("nosqltester",
+ self.substituteTemplate(tester_wrapper_template_location, tester_config))
+
+ return [tester_runner_path]
+
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_manager_run.in
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_manager_run.in?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_manager_run.in (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_manager_run.in [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,4 @@
+#!/bin/sh
+# BEWARE: This file is operated by slapgrid
+# BEWARE: It will be overwritten automatically
+exec %(nosqltester_manager_binary)s -a %(address)s -r %(report_path)s -s %(nb_server_max)s -t %(nb_tester_max)s %(software_release_url)s %(server_url)s "%(key_file)s" "%(cert_file)s" %(computer_id)s %(computer_partition_id)s %(plugin_name)s
Added: slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_run.in
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_run.in?rev=45860&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_run.in (added)
+++ slapos/trunk/recipe/slapos.recipe.sheepdogtestbed/src/slapos/recipe/sheepdogtestbed/template/nosqltester_run.in [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,4 @@
+#!/bin/sh
+# BEWARE: This file is operated by slapgrid
+# BEWARE: It will be overwritten automatically
+exec %(nosqltester_binary)s -h %(host_address)s -a %(tester_address)s -r %(report_path)s -b "%(binary)s"
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/CHANGES.txt
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/CHANGES.txt?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/CHANGES.txt (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/CHANGES.txt [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,8 @@
+Changelog
+=========
+
+0.0.1dev (2011/05/16)
+---------------------
+
+ - Initial version
+ [Guillaume Bottex]
Propchange: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/CHANGES.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/MANIFEST.in
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/MANIFEST.in?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/MANIFEST.in (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/MANIFEST.in [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1 @@
+include CHANGES.txt
\ No newline at end of file
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/README.txt
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/README.txt?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/README.txt (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/README.txt [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,2 @@
+slapos.tool.nosqltester_manager.sheepdog
+========================================
Propchange: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/README.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.cfg
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.cfg?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.cfg (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.cfg [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,3 @@
+[egg_info]
+tag_build = .dev
+tag_svn_revision = 1
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.py (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/setup.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,36 @@
+from setuptools import setup, find_packages
+import os
+
+name = "slapos.tool.nosqltester_manager.sheepdog"
+version = '0.0.1'
+
+def read(*rnames):
+ return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
+
+long_description=( read('README.txt')
+ + '\n' +
+ read('CHANGES.txt')
+ )
+
+setup(
+ name = name,
+ version = version,
+ author = 'Guillaume Bottex, for Nexedi',
+ author_email = 'gbottex at tiolive.com',
+ description = "Manager for sheepdog tester",
+ license = "GPL",
+ keywords = "sheepdog test manager scheduler",
+ classifiers=[
+ "Framework :: Buildout",
+ "Programming Language :: Python",
+ ],
+ packages = find_packages('src'),
+ include_package_data = True,
+ package_dir = {'':'src'},
+ install_requires = ['Flask', 'slapos.tool.nosqltester_manager'],
+ namespace_packages = ['slapos', 'slapos.tool', 'slapos.tool.nosqltester_manager'],
+ entry_points = """
+ [slapos.tool.nosqltester_manager.plugin]
+ sheepdog=%s:SheepdogTesterManager
+ """ % name,
+ )
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/__init__.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/__init__.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/__init__.py (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/__init__.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/__init__.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/__init__.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/__init__.py (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/__init__.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/__init__.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/__init__.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/__init__.py (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/__init__.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py?rev=45860&view=auto
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py (added)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py [utf8] Mon May 16 18:56:19 2011
@@ -0,0 +1,92 @@
+#!/usr/bin/python
+
+##############################################################################
+#
+# Copyright (c) 2010 Vifib SARL and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+##############################################################################
+
+import sys, logging, csv, re
+from slapos.tool.nosqltester_manager import NoSQLTesterManager
+
+class SheepdogTesterManager(NoSQLTesterManager):
+
+ def __init__(self, params):
+ NoSQLTesterManager.__init__(self, params)
+ self.host_address = params['address']
+
+ argv = sys.argv[16:]
+
+ if argv.__len__() < 1:
+ self.nb_thread = 1
+ else:
+ self.nb_thread = argv[0]
+
+ if argv.__len__() < 2:
+ self.nb_request = 1000
+ else:
+ self.nb_request = argv[1]
+
+ def _sheepdog_init(self):
+ try:
+ tester_computer_partition = []
+ for i in range(0, self.max_tester):
+ self.logger.debug("Sheepdog tester "+str(i))
+ tester_computer_partition.append(self.computer_partition.request(self.software_release_url, 'sheepdog_tester', 'sheepdog_tester'+str(i),
+ partition_parameter_kw={'gateway_address':gateway_computer_partition.getConnectionParameter('address'),
+ 'gateway_port':gateway_computer_partition.getConnectionParameter('port'),
+ 'host_address':self.host_address,
+ 'nb_thread':self.nb_thread,
+ 'nb_request':self.nb_request}))
+ for partition in tester_computer_partition:
+ self.logger.debug("Appending Sheepdog testers' start url")
+ self.tester_urls.append(partition.getConnectionParameter('start_url'))
+ self.logger.debug("Before remove duplicates: %s" % str(self.tester_urls))
+ self.tester_urls = list(set(self.tester_urls)) # remove duplicates
+ self.logger.debug("After remove duplicates: %s" % str(self.tester_urls))
+ self.todo = self.tester_urls.__len__()
+ self.manager_computer_partition = manager_computer_partition
+ return True
+ except:
+ self.logger.debug(str(sys.exc_info()))
+ return False
+
+ def _add_sheepdog_server_node(self):
+ return True
+
+ def writeCSV(self, inputnames, outputname):
+ output = csv.writer(open(outputname, 'wb'), delimiter=';', quotechar='|', quoting=csv.QUOTE_MINIMAL)
+ # Header
+ output.writerow(['set sec', 'set MB', 'set Mbps', 'set req/sec', 'set usec/req',
+ 'get sec', 'get MB', 'get Mbps', 'get req/sec', 'get usec/req'])
+ for inputname in inputnames:
+ l = []
+ f = open(inputname, "r")
+ lines = f.readlines()
+ f.close()
+ for i in range(8, lines.__len__()):
+ if i != 13 and i != 14:
+ l.append(re.findall(r'\d+\.\d+|\d+',lines[i])[0].replace('.', ','))
+ output.writerow(l)
+
Propchange: slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py
------------------------------------------------------------------------------
svn:executable = *
More information about the Erp5-report
mailing list