Hello community, here is the log from the commit of package openstack-heat for openSUSE:Factory checked in at 2014-01-30 17:44:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openstack-heat (Old) and /work/SRC/openSUSE:Factory/.openstack-heat.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-heat" Changes: -------- --- /work/SRC/openSUSE:Factory/openstack-heat/openstack-heat.changes 2014-01-23 15:50:35.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.openstack-heat.new/openstack-heat.changes 2014-01-30 17:44:06.000000000 +0100 @@ -1,0 +2,21 @@ +Wed Jan 29 09:12:32 UTC 2014 - [email protected] + +- Add refresh_patches source service + +------------------------------------------------------------------- +Tue Jan 28 19:39:35 UTC 2014 - [email protected] + +- configure signing_dir / lock_path + +------------------------------------------------------------------- +Tue Jan 21 16:27:06 UTC 2014 - [email protected] + +- fix running db migrations on start + +------------------------------------------------------------------- +Sat Jan 18 01:19:16 UTC 2014 - [email protected] + +- Update to version 2013.2.2.dev4.g4ca7941: + + Make LoadBalancer nested stack template configurable + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openstack-heat-doc.spec ++++++ --- /var/tmp/diff_new_pack.Vo9xtm/_old 2014-01-30 17:44:06.000000000 +0100 +++ /var/tmp/diff_new_pack.Vo9xtm/_new 2014-01-30 17:44:06.000000000 +0100 @@ -19,7 +19,7 @@ %define component heat Name: openstack-%{component}-doc -Version: 2013.2.2.dev3.g2beab02 +Version: 2013.2.2.dev4.g4ca7941 Release: 0 Summary: OpenStack Orchestration (Heat) - Documentation License: Apache-2.0 @@ -65,7 +65,7 @@ This package contains documentation files for openstack-heat. %prep -%setup -q -n heat-2013.2.2.dev3.g2beab02 +%setup -q -n heat-2013.2.2.dev4.g4ca7941 %openstack_cleanup_prep %build ++++++ openstack-heat.spec ++++++ --- /var/tmp/diff_new_pack.Vo9xtm/_old 2014-01-30 17:44:06.000000000 +0100 +++ /var/tmp/diff_new_pack.Vo9xtm/_new 2014-01-30 17:44:06.000000000 +0100 @@ -21,7 +21,7 @@ %define username openstack-%{component} Name: openstack-%{component} -Version: 2013.2.2.dev3.g2beab02 +Version: 2013.2.2.dev4.g4ca7941 Release: 0 Summary: Openstack Orchestration (Heat) License: Apache-2.0 @@ -149,7 +149,7 @@ This package contains testsuite files for %{name}. %prep -%setup -q -n heat-2013.2.2.dev3.g2beab02 +%setup -q -n heat-2013.2.2.dev4.g4ca7941 %openstack_cleanup_prep #NOTE(saschpe): Kill heat Sphinx extension, we're only building manpages: sed -i "s|'heat.doc.resources'||" doc/source/conf.py @@ -162,11 +162,11 @@ python setup.py install --prefix=%{_prefix} --root=%{buildroot} ### directories -install -d -m 755 %{buildroot}%{_localstatedir}/{cache,lib,log,run}/%{component} -install -d -m 755 %{buildroot}%{_sysconfdir}/%{component} +install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{component} +install -d -m 750 %{buildroot}%{_localstatedir}/{cache,log,lock,run}/%{component} ### configuration files -install -d %{buildroot}%{_sysconfdir}/%{component}/ +install -d -m 755 %{buildroot}%{_sysconfdir}/%{component}/ mv etc/heat/heat.conf{.sample,} install -p -m 644 etc/heat/*.{conf,json,ini} %{buildroot}%{_sysconfdir}/%{component}/ install -d -m 755 %{buildroot}%{_sysconfdir}/%{component}/{environment.d,templates} @@ -178,6 +178,8 @@ crudini --set %{buildroot}/etc/%{component}/heat.conf DEFAULT log_dir /var/log/heat crudini --set %{buildroot}/etc/%{component}/heat.conf DEFAULT rpc_backend heat.openstack.common.rpc.impl_kombu crudini --set %{buildroot}/etc/%{component}/heat.conf DEFAULT sql_connection 'sqlite:///var/lib/heat/heat.db' +crudini --set %{buildroot}/etc/%{component}/heat.conf DEFAULT lock_path %{_localstatedir}/lock/%{component} +crudini --set %{buildroot}/etc/%{component}/heat.conf keystone_authtoken signing_dir /var/cache/%component/keystone-signing crudini --set %{buildroot}/etc/%{component}/heat.conf keystone_authtoken admin_tenant_name '%%SERVICE_TENANT_NAME%%' crudini --set %{buildroot}/etc/%{component}/heat.conf keystone_authtoken admin_user heat crudini --set %{buildroot}/etc/%{component}/heat.conf keystone_authtoken admin_password '%%SERVICE_PASSWORD%%' @@ -252,8 +254,10 @@ %files %defattr(-,root,root) %doc LICENSE README.rst -%dir %attr(0755, %{username}, %{groupname}) %{_localstatedir}/lib/%{component} +%dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/cache/%{component} %dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/log/%{component} +%dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/lock/%{component} +%dir %attr(0755, %{username}, %{groupname}) %{_localstatedir}/lib/%{component} %ghost %dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/run/%{component} %dir %{_sysconfdir}/%{component} %config %{_sysconfdir}/%{component}/policy.json ++++++ _service ++++++ --- /var/tmp/diff_new_pack.Vo9xtm/_old 2014-01-30 17:44:06.000000000 +0100 +++ /var/tmp/diff_new_pack.Vo9xtm/_new 2014-01-30 17:44:06.000000000 +0100 @@ -4,4 +4,8 @@ <param name="email">[email protected]</param> <param name="plain-version">True</param> </service> + + <service name="refresh_patches" mode="disabled"> + <param name="changesgenerate">enable</param> + </service> </services> ++++++ heat-stable-havana.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/heat-2013.2.2.dev3.g2beab02/ChangeLog new/heat-2013.2.2.dev4.g4ca7941/ChangeLog --- old/heat-2013.2.2.dev3.g2beab02/ChangeLog 2013-12-20 01:43:20.000000000 +0100 +++ new/heat-2013.2.2.dev4.g4ca7941/ChangeLog 2014-01-17 07:42:17.000000000 +0100 @@ -1,3 +1,27 @@ +commit 4ca7941a6526fafc9a68e19fe327da2057b3a1be +Author: Steven Hardy <[email protected]> +Date: Fri Jan 3 16:56:58 2014 +0000 + + Make LoadBalancer nested stack template configurable + + Reviving work originally posted by Angus Salkeld under + https://review.openstack.org/#/c/21405/ + + This is to enable the various distros to easily override the + hard-coded default nested template (which currently only supports + Fedora 17) with a template approporate to their distro, and + enables deployers to specify their own template (although the + latter use-case will probably be catered for via a provider + template implementation long-term). + + Conflicts: + heat/engine/resources/loadbalancer.py + + Partial-Bug: #1234375 + Co-Authored-By: Angus Salkeld <[email protected]> + (cherry picked from commit 746a0ed4ad2273d0e67b896efbb6d7a69f9f4c77) + Change-Id: I0a4eccb23b2eebbf31b7aabf0fe85ab31f0ca971 + commit 2beab0228ab5476b2a13992f7f3acbeb09e01719 Merge: ff69011 4394de7 Author: Jenkins <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/heat-2013.2.2.dev3.g2beab02/PKG-INFO new/heat-2013.2.2.dev4.g4ca7941/PKG-INFO --- old/heat-2013.2.2.dev3.g2beab02/PKG-INFO 2013-12-20 01:43:21.000000000 +0100 +++ new/heat-2013.2.2.dev4.g4ca7941/PKG-INFO 2014-01-17 07:42:18.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: heat -Version: 2013.2.2.dev3.g2beab02 +Version: 2013.2.2.dev4.g4ca7941 Summary: OpenStack Orchestration Home-page: http://www.openstack.org/ Author: OpenStack diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/heat-2013.2.2.dev3.g2beab02/etc/heat/heat.conf.sample new/heat-2013.2.2.dev4.g4ca7941/etc/heat/heat.conf.sample --- old/heat-2013.2.2.dev3.g2beab02/etc/heat/heat.conf.sample 2013-12-20 01:40:47.000000000 +0100 +++ new/heat-2013.2.2.dev4.g4ca7941/etc/heat/heat.conf.sample 2014-01-17 07:40:59.000000000 +0100 @@ -121,6 +121,15 @@ # +# Options defined in heat.engine.resources.loadbalancer +# + +# Custom template for the built-in loadbalancer nested stack +# (string value) +#loadbalancer_template=<None> + + +# # Options defined in heat.openstack.common.db.sqlalchemy.session # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/heat-2013.2.2.dev3.g2beab02/heat/engine/resources/loadbalancer.py new/heat-2013.2.2.dev4.g4ca7941/heat/engine/resources/loadbalancer.py --- old/heat-2013.2.2.dev3.g2beab02/heat/engine/resources/loadbalancer.py 2013-12-20 01:40:47.000000000 +0100 +++ new/heat-2013.2.2.dev4.g4ca7941/heat/engine/resources/loadbalancer.py 2014-01-17 07:40:59.000000000 +0100 @@ -12,7 +12,11 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. +import os +from oslo.config import cfg + +from heat.common import exception from heat.common import template_format from heat.engine import stack_resource from heat.engine.resources import nova_utils @@ -21,7 +25,7 @@ logger = logging.getLogger(__name__) -lb_template = r''' +lb_template_default = r''' { "AWSTemplateFormatVersion": "2010-09-09", "Description": "Built in HAProxy server", @@ -189,11 +193,15 @@ ''' -# -# TODO(asalkeld) the above inline template _could_ be placed in an external -# file at the moment this is because we will probably need to implement a -# LoadBalancer based on keepalived as well (for for ssl support). -# +# Allow user to provide alternative nested stack template to the above +loadbalancer_opts = [ + cfg.StrOpt('loadbalancer_template', + default=None, + help='Custom template for the built-in ' + 'loadbalancer nested stack')] +cfg.CONF.register_opts(loadbalancer_opts) + + class LoadBalancer(stack_resource.StackResource): listeners_schema = { @@ -361,8 +369,18 @@ return '%s%s%s%s\n' % (gl, frontend, backend, '\n'.join(servers)) + def get_parsed_template(self): + if cfg.CONF.loadbalancer_template: + with open(cfg.CONF.loadbalancer_template) as templ_fd: + logger.info(_('Using custom loadbalancer template %s') + % cfg.CONF.loadbalancer_template) + contents = templ_fd.read() + else: + contents = lb_template_default + return template_format.parse(contents) + def handle_create(self): - templ = template_format.parse(lb_template) + templ = self.get_parsed_template() if self.properties['Instances']: md = templ['Resources']['LB_instance']['Metadata'] @@ -388,7 +406,7 @@ rely on the cfn-hup to reconfigure HAProxy ''' if 'Instances' in prop_diff: - templ = template_format.parse(lb_template) + templ = self.get_parsed_template() cfg = self._haproxy_config(templ, prop_diff['Instances']) md = self.nested()['LB_instance'].metadata @@ -408,6 +426,11 @@ if res: return res + if cfg.CONF.loadbalancer_template and \ + not os.access(cfg.CONF.loadbalancer_template, os.R_OK): + msg = _('Custom LoadBalancer template can not be found') + raise exception.StackValidationFailed(message=msg) + health_chk = self.properties['HealthCheck'] if health_chk: if float(health_chk['Interval']) < float(health_chk['Timeout']): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/heat-2013.2.2.dev3.g2beab02/heat/tests/test_loadbalancer.py new/heat-2013.2.2.dev4.g4ca7941/heat/tests/test_loadbalancer.py --- old/heat-2013.2.2.dev3.g2beab02/heat/tests/test_loadbalancer.py 2013-12-20 01:40:40.000000000 +0100 +++ new/heat-2013.2.2.dev4.g4ca7941/heat/tests/test_loadbalancer.py 2014-01-17 07:40:59.000000000 +0100 @@ -179,8 +179,9 @@ self.assertEqual('LoadBalancer', rsrc.FnGetRefId()) - templ = template_format.parse(lb.lb_template) + templ = template_format.parse(lb.lb_template_default) ha_cfg = rsrc._haproxy_config(templ, rsrc.properties['Instances']) + self.assertRegexpMatches(ha_cfg, 'bind \*:80') self.assertRegexpMatches(ha_cfg, 'server server1 1\.2\.3\.4:80 ' 'check inter 30s fall 5 rise 3') @@ -228,3 +229,15 @@ msg = '%s: %r not found in %r' % (msg, expected_regexp.pattern, text) raise self.failureException(msg) + + def test_loadbalancer_validate_badtemplate(self): + cfg.CONF.set_override('loadbalancer_template', '/a/noexist/x.y') + + t = template_format.parse(lb_template) + s = utils.parse_stack(t) + s.store() + + rsrc = lb.LoadBalancer('LoadBalancer', + t['Resources']['LoadBalancer'], + s) + self.assertRaises(exception.StackValidationFailed, rsrc.validate) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/heat-2013.2.2.dev3.g2beab02/heat.egg-info/PKG-INFO new/heat-2013.2.2.dev4.g4ca7941/heat.egg-info/PKG-INFO --- old/heat-2013.2.2.dev3.g2beab02/heat.egg-info/PKG-INFO 2013-12-20 01:43:20.000000000 +0100 +++ new/heat-2013.2.2.dev4.g4ca7941/heat.egg-info/PKG-INFO 2014-01-17 07:42:18.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: heat -Version: 2013.2.2.dev3.g2beab02 +Version: 2013.2.2.dev4.g4ca7941 Summary: OpenStack Orchestration Home-page: http://www.openstack.org/ Author: OpenStack ++++++ openstack-heat.init ++++++ --- /var/tmp/diff_new_pack.Vo9xtm/_old 2014-01-30 17:44:07.000000000 +0100 +++ /var/tmp/diff_new_pack.Vo9xtm/_new 2014-01-30 17:44:07.000000000 +0100 @@ -26,7 +26,7 @@ start) if [ "$DAEMON" = "engine" ]; then echo -n "Checking for DB Migrations" - su $USER -s /bin/sh -c "heat-manage db_sync" + su $USER -s /bin/sh -c "heat-manage --config-file $CONFIGFILE db_sync" rc_status -v fi echo -n "Starting heat-$DAEMON" -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
