[Erp5-report] r45966 guillaume.bottex - in /slapos/trunk/util: slapos.tool.nosqltester_mana...
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Jul 6 14:18:20 CEST 2011
Author: guillaume.bottex
Date: Wed Jul 6 14:18:19 2011
New Revision: 45966
URL: http://svn.erp5.org?rev=45966&view=rev
Log:
Fix argparse bugs.
Modified:
slapos/trunk/util/slapos.tool.nosqltester_manager.kumo/src/slapos/tool/nosqltester_manager/kumo/__init__.py
slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py
Modified: slapos/trunk/util/slapos.tool.nosqltester_manager.kumo/src/slapos/tool/nosqltester_manager/kumo/__init__.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.kumo/src/slapos/tool/nosqltester_manager/kumo/__init__.py?rev=45966&r1=45965&r2=45966&view=diff
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.kumo/src/slapos/tool/nosqltester_manager/kumo/__init__.py [utf8] (original)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.kumo/src/slapos/tool/nosqltester_manager/kumo/__init__.py [utf8] Wed Jul 6 14:18:19 2011
@@ -27,7 +27,7 @@
#
##############################################################################
-import sys, csv, re, time
+import sys, os, csv, re, time
from logging import Formatter
from slapos.tool.nosqltester_manager import NoSQLTesterManager
@@ -37,15 +37,17 @@ class KumoTesterManager(NoSQLTesterManag
NoSQLTesterManager.__init__(self)
self.node_type = "server"
- self.host_address = parameter_dict['address']
+
+ self.nb_thread = self.argument_namespace.nb_thread
+ self.nb_request = self.argument_namespace.nb_request
self.max_manager = 1
self.computer_guid_list = self.computer_partition.getConnectionParameter('computer_guid_list').split(':')
def _add_parser_arguments(self, parser):
NoSQLTesterManager._add_parser_arguments(self, parser)
- parser.add_argument('nb_thread', help="Nb of memstrike's thread")
- parser.add_argument('nb_request', help="Nb of memstrike's request")
+ parser.add_argument('nb_thread', type=int, default=1, help="Nb of memstrike's thread")
+ parser.add_argument('nb_request', type=int, default=1000, help="Nb of memstrike's request")
def do_scheduling(self, action):
"""
@@ -128,7 +130,7 @@ class KumoTesterManager(NoSQLTesterManag
partition_parameter_kw = {
'gateway_address':gateway_partition.getConnectionParameter('address'),
'gateway_port':gateway_partition.getConnectionParameter('port'),
- 'host_address':self.host_address,
+ 'host_address':self.address,
'nb_thread':self.nb_thread,
'nb_request':self.nb_request}
Modified: slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py?rev=45966&r1=45965&r2=45966&view=diff
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py [utf8] (original)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py [utf8] Wed Jul 6 14:18:19 2011
@@ -65,11 +65,13 @@ class NoSQLTesterManager(object):
You may need to override this method in an inheritance class.
"""
- parameter_dict = vars(self._parse_arguments(argparse.ArgumentParser(
+ self.software_release_type = sys.argv.pop(1)
+ self.argument_namespace = self._parse_arguments(argparse.ArgumentParser(
description='Manage scalability tester(s).',
# When adding arguments in the subclass having the same name, just
# override it
- conflict_handler='resolve')))
+ conflict_handler='resolve'))
+ parameter_dict = vars(self.argument_namespace)
self.log_directory = parameter_dict['report_directory']
self.work_directory = os.path.split(os.path.split(self.log_directory)[0])[0]
@@ -78,6 +80,8 @@ class NoSQLTesterManager(object):
self.testers_status = []
self.todo = 0
self.reports = []
+ self.address = parameter_dict['address']
+ self.port = parameter_dict['port']
self.nb_init_server = parameter_dict['nb_server_init']
self.nb_init_tester = parameter_dict['nb_tester_init']
self.max_server = parameter_dict['nb_server_max']
@@ -93,10 +97,9 @@ class NoSQLTesterManager(object):
self.slap = slap.slap()
self.slap.initializeConnection(self.server_url, self.key_file, self.cert_file)
self.computer_partition = self.slap.registerComputerPartition(self.computer_id, self.computer_partition_id)
- self.node_count = self.nb_init_tester
+ self.node_count = 0
self.manager_computer_partition = None
self.write_pipe = -1
- self.software_release_type = params['plugin_name']
self.node_type = ""
@@ -164,6 +167,7 @@ class NoSQLTesterManager(object):
time.sleep(1)
self.testers_status = ['STOPPED' for url in self.tester_urls]
self.todo = self.tester_urls.__len__()
+ self.node_count = getattr(self, 'nb_init_%s' % self.node_type)
def add_node(self):
"""
@@ -425,7 +429,7 @@ def main():
'/slapos/tool/nosqltester_manager/__init__.pyc'
try:
- plugin_name = sys.argv.pop(1)
+ plugin_name = sys.argv[1]
except IndexError:
raise RuntimeError, "ERROR: Plugin name required"
@@ -442,7 +446,7 @@ def main():
t = Thread(target=scheduler_thread, args=(scheduler, r,))
t.start()
- scheduler.waitForReports(host=scheduler.parameter_dict['address'], port=scheduler.parameter_dict['port'])
+ scheduler.waitForReports(host=scheduler.address, port=scheduler.port)
if __name__ == "__main__":
More information about the Erp5-report
mailing list