[openstack-dev] [kolla] Policy regarding template customisation

Mark Goddard mark at stackhpc.com
Mon Jan 29 15:18:30 UTC 2018

I have to agree - I prefer the minimal approach of option 2. It keeps the
kolla-ansible code base small and easy to understand. The required test
matrix is therefore relatively small (although better coverage of services
in CI would be good). Finally, the approach has allowed the project to move
quickly and support deployment of many OpenStack projects.

Customised options shouldn't be outlawed though. There are times when they
are very useful and/or required:

* some things that cannot be expressed in config files alone
* some options apply to many/all services (sometimes with subtle
differences in configuration)
* some config files are not in a format that can be easily merged (HAProxy,
dnsmasq, etc.)

These should be the exception, rather than the rule, however.


On 29 January 2018 at 14:12, Jeffrey Zhang <zhang.lei.fly at gmail.com> wrote:

> Thank Paul for pointing this out.
> for me, I prefer to consist with 2)
> There are thousands of configuration in OpenStack, it is hard for Kolla to
> add every key/value pair in playbooks. Currently, the merge_config is a
> more
> better solutions.
> On Mon, Jan 29, 2018 at 7:13 PM, Paul Bourke <paul.bourke at oracle.com>
> wrote:
>> Hi all,
>> I'd like to revisit our policy of not templating everything in
>> kolla-ansible's template files. This is a policy that was set in place very
>> early on in kolla-ansible's development, but I'm concerned we haven't been
>> very consistent with it. This leads to confusion for contributors and
>> operators - "should I template this and submit a patch, or do I need to
>> start using my own config files?".
>> The docs[0] are currently clear:
>> "The Kolla upstream community does not want to place key/value pairs in
>> the Ansible playbook configuration options that are not essential to
>> obtaining a functional deployment."
>> In practice though our templates contain many options that are not
>> necessary, and plenty of patches have merged that while very useful to
>> operators, are not necessary to an 'out of the box' deployment.
>> So I'd like us to revisit the questions:
>> 1) Is kolla-ansible attempting to be a 'batteries included' tool, which
>> caters to operators via key/value config options?
>> 2) Or, is it to be a solid reference implementation, where any degree of
>> customisation implies a clear 'bring your own configs' type policy.
>> If 1), then we should potentially:
>> * Update ours docs to remove the referenced paragraph
>> * Look at reorganising files like globals.yml into something more
>> maintainable.
>> If 2),
>> * We should make it clear to reviewers that patches templating options
>> that are non essential should not be accepted.
>> * Encourage patches to strip down existing config files to an absolute
>> minimum.
>> * Make this policy more clear in docs / templates to avoid frustration on
>> the part of operators.
>> Thoughts?
>> Thanks,
>> -Paul
>> [0] https://docs.openstack.org/kolla-ansible/latest/admin/deploy
>> ment-philosophy.html#why-not-template-customization
>> ____________________________________________________________
>> ______________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscrib
>> e
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> --
> Regards,
> Jeffrey Zhang
> Blog: http://xcodest.me
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20180129/8c1a9354/attachment.html>

More information about the OpenStack-dev mailing list