[Erp5-report] r45774 luke - /erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon May 2 17:19:10 CEST 2011
Author: luke
Date: Mon May 2 17:19:10 2011
New Revision: 45774
URL: http://svn.erp5.org?rev=45774&view=rev
Log:
Implement request simulator for Zeo.
Modified:
erp5/trunk/utils/slapos.recipe.erp5/src/slapos/recipe/erp5/__init__.py
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=45774&r1=45773&r2=45774&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:19:10 2011
@@ -93,6 +93,39 @@ class Recipe(BaseSlapRecipe):
))
return self.path_list
+ def _requestZeoFileStorage(self, server_name, storage_name):
+ """Local, slap.request compatible, call to ask for filestorage on Zeo
+
+ filter_kw can be used to select specific Zeo server
+
+ Someday in future it will be possible to invoke:
+
+ self.request(
+ software_release=self.computer_partition.getSoftwareRelease().getURI(),
+ software_type='Zeo Server',
+ partition_reference=storage_name,
+ filter_kw={'server_name': server_name},
+ shared=True
+ )
+
+ Thanks to this it will be possible to select precisely on which server
+ which storage will be placed.
+ """
+ base_port = 35001
+ if getattr(self, '_zeo_storage_dict', None) is None:
+ self._zeo_storage_dict = {}
+ if getattr(self, '_zeo_storage_port_dict', None) is None:
+ self._zeo_storage_port_dict = {}
+ self._zeo_storage_port_dict.setdefault(server_name,
+ base_port+len(self._zeo_storage_port_dict))
+ self._zeo_storage_dict[server_name] = self._zeo_storage_dict.get(
+ server_name, []) + [storage_name]
+ return dict(
+ ip=self.getLocalIPv4Address(),
+ port=self._zeo_storage_port_dict[server_name],
+ storage_name=storage_name
+ )
+
def installLogrotate(self):
"""Installs logortate main configuration file and registers its to cron"""
logrotate_d = os.path.abspath(os.path.join(self.etc_directory,
More information about the Erp5-report
mailing list