[Erp5-report] r45230 luke - in /slapos/trunk/recipe/slapos.recipe.slaprunner: ./ src/ src/s...

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Apr 8 11:32:49 CEST 2011


Author: luke
Date: Fri Apr  8 11:32:48 2011
New Revision: 45230

URL: http://svn.erp5.org?rev=45230&view=rev
Log:
 - recipe to instantiate SlapOS web development tool

Added:
    slapos/trunk/recipe/slapos.recipe.slaprunner/
    slapos/trunk/recipe/slapos.recipe.slaprunner/CHANGES.txt
    slapos/trunk/recipe/slapos.recipe.slaprunner/MANIFEST.in
    slapos/trunk/recipe/slapos.recipe.slaprunner/README.txt
    slapos/trunk/recipe/slapos.recipe.slaprunner/setup.cfg
    slapos/trunk/recipe/slapos.recipe.slaprunner/setup.py
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/__init__.py
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/__init__.py
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/__init__.py
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/execute.py
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/template/
    slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/template/slapos.cfg.in

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/CHANGES.txt
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/CHANGES.txt?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/CHANGES.txt (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/CHANGES.txt [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,5 @@
+Changelog
+=========
+
+1.0 (unreleased)
+----------------

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/MANIFEST.in
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/MANIFEST.in?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/MANIFEST.in (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/MANIFEST.in [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,2 @@
+include CHANGES.txt
+recursive-include src/slapos/recipe/slaprunner/ *.in

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/README.txt
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/README.txt?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/README.txt (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/README.txt [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1 @@
+

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/setup.cfg
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/setup.cfg?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/setup.cfg (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/setup.cfg [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,3 @@
+[egg_info]
+tag_build = .dev
+tag_svn_revision = 1

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/setup.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/setup.py?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/setup.py (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/setup.py [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,33 @@
+from setuptools import setup, find_packages
+
+name = "slapos.recipe.slaprunner"
+version = '1.0'
+
+
+def read(name):
+  return open(name).read()
+
+long_description = (read('README.txt') + '\n' + read('CHANGES.txt'))
+setup(
+    name=name,
+    version=version,
+    description="ZC Buildout recipe for OSOE SlapOS training",
+    long_description=long_description,
+    license="GPLv3",
+    keywords="buildout slapos recipe runner",
+    classifiers=[
+        "Framework :: Buildout :: Recipe",
+        "Programming Language :: Python",
+    ],
+    packages=find_packages('src'),
+    package_dir={'': 'src'},
+    include_package_data=True,
+    install_requires=[
+      'setuptools',  # for namespacing
+      'slapos.lib.recipe',  # uses internally
+      'zc.recipe.egg',
+      'zc.buildout',  # it is recipe
+      ],
+    namespace_packages=['slapos', 'slapos.recipe'],
+    entry_points={'zc.buildout': ['default = %s:Recipe' % name]},
+    )

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/__init__.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/__init__.py?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/__init__.py (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/__init__.py [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+    __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+    from pkgutil import extend_path
+    __path__ = extend_path(__path__, __name__) 

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/__init__.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/__init__.py?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/__init__.py (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/__init__.py [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+    __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+    from pkgutil import extend_path
+    __path__ = extend_path(__path__, __name__) 

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/__init__.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/__init__.py?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/__init__.py (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/__init__.py [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,81 @@
+##############################################################################
+#
+# Copyright (c) 2010 Vifib SARL and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 3
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+from slapos.lib.recipe.BaseSlapRecipe import BaseSlapRecipe
+import os
+import pkg_resources
+import sys
+import zc.buildout
+import zc.recipe.egg
+
+
+class Recipe(BaseSlapRecipe):
+  def __init__(self, buildout, name, options):
+    BaseSlapRecipe.__init__(self, buildout, name, options)
+    options['eggs'] = 'slapos.recipe.slaprunner'
+    self.egg = zc.recipe.egg.Scripts(buildout, name, options)
+
+  def _install(self):
+    self.path_list = []
+    self.requirements, self.ws = self.egg.working_set()
+    ipv4 = self.getLocalIPv4Address()
+    ipv6 = self.getGlobalIPv6Address()
+    proxy_port = '50000'
+    runner_port = '50000'
+    workdir = self.createDataDirectory('runner')
+    software_root = os.path.join(workdir, 'software')
+    instance_root = os.path.join(workdir, 'instance')
+    configuration = dict(
+        software_root=software_root,
+        instance_root=instance_root,
+        master_url='http://%s:%s/' % (ipv4, proxy_port),
+        computer_id='slaprunner',
+        partition_amount=2,
+        slapgrid_sr=self.options['slapgrid_sr'],
+        slapgrid_cp=self.options['slapgrid_cp'],
+        slapproxy=self.options['slapproxy'],
+        supervisor=self.options['supervisor'],
+        supervisord_config=os.path.join(instance_root, 'etc',
+          'supervisord.conf'),
+        runner_workdir=workdir,
+        runner_host=ipv6,
+        runner_port=runner_port,
+        ipv4_address=ipv4,
+        ipv6_address=ipv6,
+        proxy_host=ipv4,
+        proxy_port=proxy_port,
+        proxy_database=os.path.join(workdir, 'proxy.db')
+    )
+    config_file = self.createConfigurationFile('slapos.cfg',
+        self.substituteTemplate(pkg_resources.resource_filename(__name__,
+          'template/slapos.cfg.in'), configuration))
+    self.path_list.append(config_file)
+    self.path_list.extend(zc.buildout.easy_install.scripts([('slaprunner',
+      'slapos.recipe.slaprunner.execute', 'execute')], self.ws, sys.executable,
+      self.wrapper_directory, arguments=[self.options['slaprunner'].strip(),
+        config_file]))
+    self.setConnectionDict(dict(url='http://[%s]:%s' % (ipv6, runner_port)))
+    return self.path_list

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/execute.py
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/execute.py?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/execute.py (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/execute.py [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,6 @@
+import os
+
+
+def execute(args):
+  """Portable execution with process replacement"""
+  os.execv(args[0], args)

Added: slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/template/slapos.cfg.in
URL: http://svn.erp5.org/slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/template/slapos.cfg.in?rev=45230&view=auto
==============================================================================
--- slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/template/slapos.cfg.in (added)
+++ slapos/trunk/recipe/slapos.recipe.slaprunner/src/slapos/recipe/slaprunner/template/slapos.cfg.in [utf8] Fri Apr  8 11:32:48 2011
@@ -0,0 +1,25 @@
+[slapos]
+software_root = %(software_root)s
+instance_root = %(instance_root)s
+master_url = %(master_url)s
+computer_id = %(computer_id)s
+
+[slapformat]
+partition_amount = %(partition_amount)s
+
+[slaprunner]
+slapgrid_sr = %(slapgrid_sr)s
+slapgrid_cp = %(slapgrid_cp)s
+slapproxy = %(slapproxy)s
+supervisor = %(supervisor)s
+supervisord_config = %(supervisord_config)s
+runner_workdir = %(runner_workdir)s
+runner_host = %(runner_host)s
+runner_port = %(runner_port)s
+ipv4_address = %(ipv4_address)s
+ipv6_address = %(ipv6_address)s
+
+[slapproxy]
+host = %(proxy_host)s
+port = %(proxy_port)s
+database_uri = %(proxy_database)s



More information about the Erp5-report mailing list