diff --git a/slapos/recipe/accords/__init__.py b/slapos/recipe/accords/__init__.py index 40a96a8506d2d5a13f346bf8ad15a8ac06d158ce..d09aa32e258df7d79fd5226f4612757985d0e007 100644 --- a/slapos/recipe/accords/__init__.py +++ b/slapos/recipe/accords/__init__.py @@ -24,6 +24,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## +import os import shutil from slapos.recipe.librecipe import GenericSlapRecipe from subprocess import Popen @@ -44,7 +45,7 @@ class Recipe(GenericSlapRecipe): self.substituteTemplate(self.getTemplateFilename('os_config.xml.in'), os_configuration_parameter_dict)) path_list.append(os_config_file) - + # Put modified accords configuration file accords_configuration_parameter_dict = dict( listen_ip = self.options['listen-ip'] @@ -63,7 +64,7 @@ class Recipe(GenericSlapRecipe): # Generate manifest manifest_origin_location = self.options['manifest-source'] manifest_location = self.options['manifest-destination'] - + shutil.copy(manifest_origin_location, manifest_location) path_list.append(manifest_location) @@ -79,7 +80,10 @@ class Recipe(GenericSlapRecipe): server_url = self.server_url, software_release_url = self.software_release_url, key_file = self.key_file, - cert_file = self.cert_file,) + cert_file = self.cert_file, + path = '%s:%s' % (self.options['accords_bin_directory'], + os.environ.get('PATH', '')), + ) wrapper_location = self.createPythonScript(self.options['accords-wrapper'], '%s.accords.runAccords' % __name__, wrapper_config_dict) diff --git a/slapos/recipe/accords/accords.py b/slapos/recipe/accords/accords.py index 023aa0d2e5bd390b5c0b04ef42247aefaea429d0..3746ded44217342d9a1f3c48ae4dc3ee2aa608a1 100644 --- a/slapos/recipe/accords/accords.py +++ b/slapos/recipe/accords/accords.py @@ -26,6 +26,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## +import os from slapos import slap import signal from subprocess import Popen @@ -48,8 +49,9 @@ def runAccords(accords_conf): environment = dict( LD_LIBRARY_PATH=accords_lib_directory, + PATH= accords_conf['path'], ) - + # Set handler to stop ACCORDS when end of world comes def sigtermHandler(signum, frame): Popen(['./co-command', 'stop', '/service/*'], @@ -73,7 +75,7 @@ def runAccords(accords_conf): # Parse answer # XXX connection_dict = dict(connection='hardcoded') - + # Send information about published service to SlapOS Master slap_connection = slap.slap() slap_connection.initializeConnection(server_url, key_file, cert_file) diff --git a/stack/accords/buildout.cfg b/stack/accords/buildout.cfg index 4988c8bb6af3ed8a03a68f5e4d4d5b87a23efd6b..29da3ecff9ad09b6de51b6cee4169390731395e0 100644 --- a/stack/accords/buildout.cfg +++ b/stack/accords/buildout.cfg @@ -5,8 +5,6 @@ extends = ../../component/lxml-python/buildout.cfg ../slapos.cfg -versions = versions - parts = instance instance-accords @@ -35,10 +33,6 @@ url = ${:_profile_base_location_}/instance-accords.cfg output = ${buildout:directory}/template-accords.cfg mode = 0644 -[versions] -# Use SlapOS patched zc.buildout -zc.buildout = 1.6.0-dev-SlapOS-004 - [networkcache] # Cedric de Saint Martin signature certificate signature-certificate-list = diff --git a/stack/accords/instance-accords.cfg b/stack/accords/instance-accords.cfg index 857c986c50a818aedffe605d92a14190d263e08b..39dbd8fb500e6cedbbd99aa4f2bc0cc222173698 100644 --- a/stack/accords/instance-accords.cfg +++ b/stack/accords/instance-accords.cfg @@ -32,6 +32,7 @@ manifest-name = manifest accords-wrapper = $${basedirectory:services}/accords # Workaround accords_lib_directory : ${accords:location}/lib +accords_bin_directory : ${accords:location}/bin [rootdirectory] recipe = slapos.cookbook:mkdirectory