[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