[Erp5-report] r33930 luke - in /erp5/trunk/utils/erp5.timmy/src/erp5/timmy: ./ examples/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Mar 19 20:03:27 CET 2010
Author: luke
Date: Fri Mar 19 20:03:27 2010
New Revision: 33930
URL: http://svn.erp5.org?rev=33930&view=rev
Log:
- templates are not required - try to find, if not existing, try to continue
- treat only Zope Instance profile specially
- do not use template mapping - find template by type name and use naming convention
- swap main file and controller generation - then we will know what is on with templates
Added:
erp5/trunk/utils/erp5.timmy/src/erp5/timmy/examples/zope-instance-template.cfg
- copied unchanged from r33926, erp5/trunk/utils/erp5.timmy/src/erp5/timmy/examples/instance-template.cfg
Removed:
erp5/trunk/utils/erp5.timmy/src/erp5/timmy/examples/instance-template.cfg
Modified:
erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py
Removed: erp5/trunk/utils/erp5.timmy/src/erp5/timmy/examples/instance-template.cfg
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.timmy/src/erp5/timmy/examples/instance-template.cfg?rev=33929&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.timmy/src/erp5/timmy/examples/instance-template.cfg [utf8] (original)
+++ erp5/trunk/utils/erp5.timmy/src/erp5/timmy/examples/instance-template.cfg (removed)
@@ -1,31 +1,0 @@
-[%{ID}]
-<= zope-instance-template
-instancehome = ${buildout:var-directory}/%{ID}
-user = %{INSTANCE_ADMIN_USER}:%{INSTANCE_ADMIN_PASSWORD}
-http-address = %{TCP_PORT}
-# Disabled installing of BT5 during site creation
-bt5 =
-bt5-path =
-
-# List of Business Templates which will be installed on running site
-required-bt5 =
- %{BT5_LIST}
-bt5-url =
-
-# TODO: protect fragile information
-mysql_create_database = false
-
-mysql_database_name = %{MYSQL_DATABASE}
-mysql_user = %{MYSQL_USER}
-mysql_password = %{MYSQL_PASSWORD}
-mysql_host = %{MYSQL_HOST}
-mysql_port = %{MYSQL_PORT}
-
-erp5_sql_connection_string = ${:mysql_database_name}@${:mysql_host}:${:mysql_port} ${:mysql_user} ${:mysql_password}
-
-products =
- ${:instancehome}/Products
- ${software_definition:products-cmf15}
- ${software_definition:products-deps}
- ${software_definition:products-erp5}
- ${software_definition:products-other}
Modified: erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py?rev=33930&r1=33929&r2=33930&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py [utf8] (original)
+++ erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py [utf8] Fri Mar 19 20:03:27 2010
@@ -3,11 +3,6 @@
from optparse import OptionParser
import sys
import socket
-
-REQUIRED_TEMPLATE_LIST = [
- 'instance-template.cfg',
- 'main-template.cfg'
-]
SUPERVISORD = os.path.join('var', 'bin', 'supervisord')
SUPERVISORCTL = os.path.join('var', 'bin', 'supervisorctl')
@@ -88,12 +83,6 @@
raise ValueError('File %s is not a directory' %
os.path.abspath(options.instances_directory))
missing_template_list = []
- for filename in REQUIRED_TEMPLATE_LIST:
- filepath = os.path.join(options.template_directory, filename)
- if not os.path.exists(filepath):
- missing_template_list.append(filepath)
- if missing_template_list:
- raise ValueError('Missing templates: %s' % ','.join(missing_template_list))
return options, args
def setRunning(value, pid_file):
@@ -122,7 +111,7 @@
logging.critical('Timmy could not write pidfile %s' % pid_file)
else:
logging.info('Timmy started with the pid %s' % pid)
-
+
def updateBaseProfile(template_directory, file_output, base_profile,
instances_directory, instance_dict_list):
@@ -137,22 +126,22 @@
'INSTANCE_PROFILE_LIST': [],
'INSTANCE_PART_LIST': []
}
- for instance in [q for q in instance_dict_list if q['TYPE'] == 'Mysql Server']:
+ for instance in [q for q in instance_dict_list if q['TYPE'] != 'Zope Instance']:
+ profile_path = os.path.join(instances_directory,
+ '%s.cfg' % instance['ID'])
+ if not os.path.exists(profile_path):
+ logging.warning('Profile %s not generated, ignoring' % profile_path)
+ continue
replacement_dict['INSTANCE_PROFILE_LIST'].append('%s/%s.cfg' % (
instances_directory, instance['ID']))
replacement_dict['INSTANCE_PART_LIST'].append(instance['ID'])
- for instance in [q for q in instance_dict_list if q['TYPE'] == 'Mysql Database']:
- replacement_dict['INSTANCE_PROFILE_LIST'].append('%s/%s.cfg' % (
- instances_directory, instance['ID']))
- replacement_dict['INSTANCE_PART_LIST'].append(instance['ID'])
-
- for instance in [q for q in instance_dict_list if q['TYPE'] == 'Conversion Server']:
- replacement_dict['INSTANCE_PROFILE_LIST'].append('%s/%s.cfg' % (
- instances_directory, instance['ID']))
- replacement_dict['INSTANCE_PART_LIST'].append(instance['ID'])
-
for instance in [q for q in instance_dict_list if q['TYPE'] == 'Zope Instance']:
+ profile_path = os.path.join(instances_directory,
+ '%s.cfg' % instance['ID'])
+ if not os.path.exists(profile_path):
+ logging.warning('Profile %s not generated' % profile_path)
+ continue
replacement_dict['INSTANCE_PROFILE_LIST'].append('%s/%s.cfg' % (
instances_directory, instance['ID']))
replacement_dict['INSTANCE_PART_LIST'].append(instance['ID'])
@@ -166,19 +155,14 @@
out.close()
def updateInstanceProfiles(template_directory, output_directory, instance_dict_list):
- template_mapping = {
- 'Zope Instance': 'instance-template.cfg',
- 'Mysql Server': 'mysql-server-template.cfg',
- 'Mysql Database': 'mysql-database-template.cfg',
- 'Conversion Server': 'conversion-server-template.cfg',
- }
for instance in instance_dict_list:
- template_name = template_mapping.get(instance['TYPE'], None)
- if template_name is None:
- logging.warning('Template for %s not found' % instance['TYPE'])
+ template_name = '%s-template.cfg' % instance['TYPE'].lower()\
+ .replace(' ','-')
+ template_path = os.path.join(template_directory, template_name)
+ if not os.path.exists(template_path):
+ logging.warning('Template for %s not found, ignoring' % instance['TYPE'])
continue
- template_data = ''.join(file(os.path.join(template_directory,
- template_name)).readlines())
+ template_data = ''.join(file(template_path).readlines())
template = PercentTemplate(template_data)
if 'BT5_LIST' in instance:
@@ -221,7 +205,7 @@
if plugin_init is None:
# plugin not supported, create dummy method doing nothing
logging.warning('Plugin for %s not found, generating dummy one' %
- self.partition_type)
+ partition_type)
for method in 'install', 'start', 'stop', 'getPartitionState':
setattr(self, '%s_%s' % (method, self.partition_type),
self.notImplemented)
@@ -402,12 +386,12 @@
# prepare - run supervisor
subprocess.call(SUPERVISORD)
- # 1a pass - main profile
+ # 1a pass - instance profiles
+ updateInstanceProfiles(options.template_directory,
+ options.instances_directory, partition_dict_list)
+ # 1b pass - main profile
updateBaseProfile(options.template_directory, options.main_output,
options.base_profile, options.instances_directory, partition_dict_list)
- # 1b pass - instance profiles
- updateInstanceProfiles(options.template_directory,
- options.instances_directory, partition_dict_list)
# 2 pass - run buildout
runBuildout(options.buildout_binary, options.main_output)
More information about the Erp5-report
mailing list