[Erp5-report] r45775 luke - in /erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5:...
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon May 2 17:38:08 CEST 2011
Author: luke
Date: Mon May 2 17:38:08 2011
New Revision: 45775
URL: http://svn.erp5.org?rev=45775&view=rev
Log:
Use declarative way to install Zeo cluster.
Modified:
erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/__init__.py
erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/template/zeo.conf.in
Modified: erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/__init__.py
URL: http://svn.erp5.org/erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/__init__.py?rev=45775&r1=45774&r2=45775&view=diff
==============================================================================
--- erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/__init__.py [utf8] (original)
+++ erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/__init__.py [utf8] Mon May 2 17:38:08 2011
@@ -499,30 +499,47 @@ class Recipe(BaseSlapRecipe):
bt5_repository_list]))
return []
- def installZeo(self, ip, port, name, path):
- zeo_event_log = os.path.join(self.log_directory, 'zeo.log')
- zeo_pid = os.path.join(self.run_directory, 'zeo.pid')
- self.registerLogRotation('zeo', [zeo_event_log],
- self.killpidfromfile + ' ' + zeo_pid + ' SIGUSR2')
- config = dict(
- zeo_ip=ip,
- zeo_port=port,
- zeo_storagename=name,
- zeo_event_log=zeo_event_log,
- zeo_pid=zeo_pid,
- zeo_zodb=path
- )
- zeo_conf_path = self.createConfigurationFile('zeo.conf',
- self.substituteTemplate(self.getTemplateFilename('zeo.conf.in'), config))
- self.path_list.append(zeo_conf_path)
- wrapper = zc.buildout.easy_install.scripts([('zeo', __name__ + '.execute',
- 'execute')], self.ws, sys.executable, self.wrapper_directory, arguments=[
- self.options['runzeo_binary'].strip(), '-C', zeo_conf_path]
- )[0]
- self.path_list.append(wrapper)
- return dict(
- zeo_address='%s:%s' % (config['zeo_ip'], config['zeo_port']),
- zeo_storagename=config['zeo_storagename'])
+ def installZeo(self, ip):
+ zodb_dir = os.path.join(self.data_root_directory, 'zodb')
+ self._createDirectory(zodb_dir)
+ zeo_configuration_list = []
+ zeo_number = 0
+ for zeo_server in sorted(self._zeo_storage_dict.iterkeys()):
+ zeo_number += 1
+ zeo_event_log = os.path.join(self.log_directory, 'zeo-%s.log'% zeo_number)
+ zeo_pid = os.path.join(self.run_directory, 'zeo-%s.pid'% zeo_number)
+ self.registerLogRotation('zeo', [zeo_event_log],
+ self.killpidfromfile + ' ' + zeo_pid + ' SIGUSR2')
+ config = dict(
+ zeo_ip=ip,
+ zeo_port=self._zeo_storage_port_dict[zeo_server],
+ zeo_event_log=zeo_event_log,
+ zeo_pid=zeo_pid,
+ )
+ storage_number = 0
+ storage_definition_list = []
+ for storage_name in sorted(self._zeo_storage_dict[zeo_server]):
+ storage_number += 1
+ path = os.path.join(zodb_dir, 'zodb_%s.fs' % storage_number)
+ storage_definition_list.append("""<filestorage %(storage_name)s>
+ path %(path)s
+</filestorage>"""% dict(storage_name=storage_name, path=path))
+ zeo_configuration_list.append(dict(
+ ip=ip,
+ port=config['zeo_port'],
+ path=path,
+ storage_name=storage_name,
+ ))
+ config['zeo_filestorage_snippet'] = '\n'.join(storage_definition_list)
+ zeo_conf_path = self.createConfigurationFile('zeo-%s.conf' % zeo_number,
+ self.substituteTemplate(self.getTemplateFilename('zeo.conf.in'), config))
+ self.path_list.append(zeo_conf_path)
+ wrapper = zc.buildout.easy_install.scripts([('zeo', __name__ + '.execute',
+ 'execute')], self.ws, sys.executable, self.wrapper_directory, arguments=[
+ self.options['runzeo_binary'].strip(), '-C', zeo_conf_path]
+ )[0]
+ self.path_list.append(wrapper)
+ return zeo_configuration_list
def installZope(self, ip, port, name, zeo_address=None, zeo_storagename=None,
zodb_root_path=None, with_timerservice=False):
Modified: erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/template/zeo.conf.in
URL: http://svn.erp5.org/erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/template/zeo.conf.in?rev=45775&r1=45774&r2=45775&view=diff
==============================================================================
--- erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/template/zeo.conf.in [utf8] (original)
+++ erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/template/zeo.conf.in [utf8] Mon May 2 17:38:08 2011
@@ -6,9 +6,7 @@
pid-filename %(zeo_pid)s
</zeo>
-<filestorage %(zeo_storagename)s>
- path %(zeo_zodb)s
-</filestorage>
+%(zeo_filestorage_snippet)s
<eventlog>
<logfile>
More information about the Erp5-report
mailing list