[Erp5-report] r45932 guillaume.bottex - in /slapos/trunk/util: slapos.tool.nosqltester_mana...
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jun 21 11:33:54 CEST 2011
Author: guillaume.bottex
Date: Tue Jun 21 11:33:54 2011
New Revision: 45932
URL: http://svn.erp5.org?rev=45932&view=rev
Log:
Modification for ERP5 multi-user.
Modified:
slapos/trunk/util/slapos.tool.nosqltester_manager.erp5/src/slapos/tool/nosqltester_manager/erp5/__init__.py
slapos/trunk/util/slapos.tool.nosqltester_manager.kumo/src/slapos/tool/nosqltester_manager/kumo/__init__.py
slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py
slapos/trunk/util/slapos.tool.nosqltester_manager/src/slapos/tool/nosqltester_manager/__init__.py
Modified: slapos/trunk/util/slapos.tool.nosqltester_manager.erp5/src/slapos/tool/nosqltester_manager/erp5/__init__.py
URL: http://svn.erp5.org/slapos/trunk/util/slapos.tool.nosqltester_manager.erp5/src/slapos/tool/nosqltester_manager/erp5/__init__.py?rev=45932&r1=45931&r2=45932&view=diff
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.erp5/src/slapos/tool/nosqltester_manager/erp5/__init__.py [utf8] (original)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.erp5/src/slapos/tool/nosqltester_manager/erp5/__init__.py [utf8] Tue Jun 21 11:33:54 2011
@@ -34,10 +34,10 @@ class ERP5ScalabilityTesterManager(NoSQL
def __init__(self, params):
NoSQLTesterManager.__init__(self, params)
- self.host_address = params['address']
- argv = sys.argv[16:]
+ self.host_address = params['address']
+ #argv = sys.argv[16:]
# self.computer_guids = self.computer_partition.getConnectionParameter('computer_guid_list').split(':')
def _erp5_init(self):
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=45932&r1=45931&r2=45932&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] Tue Jun 21 11:33:54 2011
@@ -34,7 +34,8 @@ class KumoTesterManager(NoSQLTesterManag
def __init__(self, params):
NoSQLTesterManager.__init__(self, params)
- # self.software_release_type = 'kumo'
+
+ self.node_type = "server"
self.host_address = params['address']
argv = sys.argv[16:]
@@ -60,11 +61,11 @@ class KumoTesterManager(NoSQLTesterManag
self.logger.debug("Kumo manager guid: "+self.computer_guids[0])
self.logger.debug("Kumo server 1")
- self.computer_partition.request(self.software_release_url, 'kumo_server', 'kumo_server'+str(self.server_count),
+ self.computer_partition.request(self.software_release_url, 'kumo_server', 'kumo_server'+str(self.node_count),
partition_parameter_kw={'manager_address':manager_computer_partition.getConnectionParameter('address'),
'manager_port':manager_computer_partition.getConnectionParameter('port')},
- filter_kw={'computer_guid':self.computer_guids[self.max_manager+self.server_count-1]})
- self.logger.debug("Kumo server 1 guid: "+self.computer_guids[self.max_manager+self.server_count-1])
+ filter_kw={'computer_guid':self.computer_guids[self.max_manager+self.node_count-1]})
+ self.logger.debug("Kumo server 1 guid: "+self.computer_guids[self.max_manager+self.node_count-1])
tester_computer_partition = []
@@ -99,11 +100,11 @@ class KumoTesterManager(NoSQLTesterManag
def _add_kumo_server_node(self):
try:
self.logger.debug("Adding a Kumo server node")
- partition = self.computer_partition.request(self.software_release_url, 'kumo_server', 'kumo_server'+str(self.server_count),
+ partition = self.computer_partition.request(self.software_release_url, 'kumo_server', 'kumo_server'+str(self.node_count),
partition_parameter_kw={'manager_address':self.manager_computer_partition.getConnectionParameter('address'),
'manager_port':self.manager_computer_partition.getConnectionParameter('port')},
- filter_kw={'computer_guid':self.computer_guids[self.max_manager+self.server_count-1]})
- self.logger.debug("Kumo server "+str(self.server_count)+" guid: "+self.computer_guids[self.max_manager+self.server_count-1])
+ filter_kw={'computer_guid':self.computer_guids[self.max_manager+self.node_count-1]})
+ self.logger.debug("Kumo server "+str(self.node_count)+" guid: "+self.computer_guids[self.max_manager+self.node_count-1])
# line made to crash the function call until we call slapgrid
partition.getConnectionParameter('address')
return True
Modified: 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=45932&r1=45931&r2=45932&view=diff
==============================================================================
--- slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py [utf8] (original)
+++ slapos/trunk/util/slapos.tool.nosqltester_manager.sheepdog/src/slapos/tool/nosqltester_manager/sheepdog/__init__.py [utf8] Tue Jun 21 11:33:54 2011
@@ -34,6 +34,8 @@ class SheepdogTesterManager(NoSQLTesterM
def __init__(self, params):
NoSQLTesterManager.__init__(self, params)
+
+ self.node_type = "server"
self.host_address = params['address']
argv = sys.argv[16:]
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=45932&r1=45931&r2=45932&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] Tue Jun 21 11:33:54 2011
@@ -69,6 +69,8 @@ class NoSQLTesterManager(object):
self.testers_status = []
self.todo = 0
self.reports = []
+ self.nb_init_server = int(params['nb_server_init'])
+ self.nb_init_tester = int(params['nb_tester_init'])
self.max_server = int(params['nb_server_max'])
self.max_tester = int(params['nb_tester_max'])
@@ -82,11 +84,13 @@ 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.server_count = 1
+ self.node_count = 1
self.manager_computer_partition = None
self.write_pipe = -1
self.software_release_type = params['plugin_name']
+ self.node_type = ""
+
# Logger initialization
self.logger = logging.getLogger("slap.tool.nosqltester_manager")
if params['debug']:
@@ -114,21 +118,23 @@ class NoSQLTesterManager(object):
self.testers_status = ['STOPPED' for url in self.tester_urls]
self.todo = self.tester_urls.__len__()
- def add_server_node(self):
+ def add_node(self):
"""
- Adds a new server node by calling the *_add_<plugin_name>_server_node*
+ Adds a new node by calling the *_add_<plugin_name>_<node_type>_node*
function if it exists.
.. note::
- The *_add_<plugin_name>_server_node* must be defined the plugin
+ The *_add_<plugin_name>_<node_type>_node* should be defined the plugin
named *<plugin_name>*.
"""
+ function_name = "_add_%s_%s_node" % (self.software_release_type, self.node_type)
+
if self.software_release_type == None:
pass
- elif "_add_%s_server_node" % self.software_release_type in dir(self) and \
- callable(getattr(self, "_add_%s_server_node" % self.software_release_type)):
- while not getattr(self, "_add_%s_server_node" % self.software_release_type)():
+ elif function_name in dir(self) and \
+ callable(getattr(self, function_name)):
+ while not getattr(self, function_name)():
time.sleep(1)
def setWritePipe(self, write_pipe):
@@ -232,7 +238,7 @@ class NoSQLTesterManager(object):
results.append(item)
web_page = render_template('ui.html', tester_urls = self.tester_urls, manager_url = manager_url, \
- done = self.server_count-1, total = self.max_server, results=results, \
+ done = self.node_count-1, total = self.max_server, results=results, \
testers_status = self.testers_status)
except:
web_page = str(sys.exc_info())
@@ -320,12 +326,12 @@ class NoSQLTesterManager(object):
self.todo -= 1
if self.todo == 0:
- self.writeCSV(self.reports, os.path.join(self.log_directory, 'report'+str(self.server_count)+'.csv'))
+ self.writeCSV(self.reports, os.path.join(self.log_directory, 'report'+str(self.node_count)+'.csv'))
self.reports = []
- self.server_count += 1
+ self.node_count += 1
- if self.server_count <= self.max_server:
- self.add_server_node()
+ if self.node_count <= getattr(self, "max_%s" % self.node_type):
+ self.add_node()
self.todo = self.tester_urls.__len__()
os.write(self.write_pipe, "GO")
else:
@@ -353,7 +359,7 @@ class NoSQLTesterManager(object):
"""
Writes a CSV file.
The :class:`NoSQLTesterManager`'s method does nothing.
- This method **must** be overridden by an inheritance plugin.
+ This method should be overridden by an inheritance plugin.
"""
pass
@@ -411,6 +417,8 @@ def main(argv=None):
'server_url':None,
'nb_server_max':3,
'nb_tester_max':3,
+ 'nb_server_init':1,
+ 'nb_tester_init':3,
'key_file':None,
'cert_file':None,
'computer_id':None,
@@ -426,8 +434,10 @@ def main(argv=None):
argv = sys.argv[1:]
try:
- opts, args = getopt.getopt(argv, "a:dp:r:s:t:", \
- ["address=", "debug", "port=", "report-path=", "nb-server-max=", "nb-tester-max="])
+ opts, args = getopt.getopt(argv, "a:dp:r:s:t:i:n:m:", \
+ ["address=", "debug", "port=", "report-path=", \
+ "nb-server-max=", "nb-tester-max=", "node-increment=", \
+ "nb-server-init=", "nb-tester-init="])
except getopt.GetoptError:
usage()
sys.exit()
@@ -445,6 +455,12 @@ def main(argv=None):
params['nb_server_max'] = arg
elif opt in ("-t", "--nb-tester-max"):
params['nb_tester_max'] = arg
+ elif opt in ("-n", "--nb-server-init"):
+ params['nb_server_init'] = arg
+ elif opt in ("-m", "--nb-tester-init"):
+ params['nb_tester_init'] = arg
+ elif opt in ("-i", "--node-increment"):
+ params['node_increment'] = int(arg)
if args.__len__() < 7:
usage()
More information about the Erp5-report
mailing list