[openstack-dev] [TripleO][Heat][Kolla][Magnum] The zen of Heat, containers, and the future of TripleO

Steven Hardy shardy at redhat.com
Wed Mar 23 21:10:19 UTC 2016

On Wed, Mar 23, 2016 at 03:58:02PM -0400, Ryan Hallisey wrote:
> >>> Hello,
> >>>
> >>> So Ryan, I think you can make use of heat all the way. Architecture of
> >>> kolla doesn't require you to use ansible at all (in fact, we separate
> >>> ansible code to a different repo). Truth is that ansible-kolla is
> >>> developed by most people and considered "the way to deploy kolla" by
> >>> most of us, but we make sure that we won't cut out other deployment
> >>> engines from our potential.
> >>
> >>> So bottom line, heat may very well replace ansible code if you can
> >>> duplicate logic we have in playbooks in heat templates. That may
> >>> require docker resource with pretty complete featureset of docker
> >>> itself (named volumes being most important). Bootstrap is usually done
> >>> inside container, so that would be possible too.
> >> Heat can call Anisble.
> >> Why would it not be Heats responsibility for creating the stack, and
> >> then Kolla-ansible for setting everything up?
> >> Heat is more esoteric than Ansible.  I expcet the amount of people that
> >> know and use Ansible to far outweight the number of people that know
> >> Heat.  Let's make it easy for them to get involved.  Use each as
> >> appropriate, but let the config with Heat clearly map to a config
> >> without it for a Kolla based deploy.
> I didn't know heat can call Ansible.  Now that I know that let me refine.
> I think it would be nice to have heat use kolla-ansible.

Heat can only call ansible where it applies a given config to a specific
node, or group of nodes (similar to how we currently drive puppet, and
docker-compose in TripleO).

That doesn't actually help if what folks actually want is to leverage the
workflow and multi-node orchestration aspects of ansible, those can't be
driven via heat (and I'm not sure they should).  Possibly such a workflow
could be abstracted behind a mistral action if we needed an API that
triggers ansible configuration of some nodes after heat deploys them.

> With split-stack/composable-roles, the tripleo-heat-templates are going
> to undergo major reconstruction.  So then the questions are, do we
> construct the templates to 1) use kolla-ansible or 2) rewrite them with
> kolla-ansible logic in heat or 3) go with kolla-kubernetes.
> 1) This solution involves merging the kolla and tripleo communities.
> kolla-tripleo maybe?  This path will come to a solution significantly faster
> since it will be completely leveraging the work kolla has done.  I think
> ansible is a good tool, but I don't know if it's the best for container
> deployment/management.
> 2) This solution is right along the lines of dprince's patch series [1],
> but with focus on deploying kolla's containers.  This option has a longer
> road than 1.  I think it could work and I think it would be a good
> solution.

These are good questions, but note the aim of "split stack" is partly to
enable folks to make their own decision on this, e.g it should be
completely possible to leverage the node deployment aspects of TripleO,
then hand over to another tool for service configuration (or container
deployment) if that is desired.

Sounds like you and Ian have made some progress towards this model already,
so it will be good to discuss further as we refactor the templates to more
readily support it.


More information about the OpenStack-dev mailing list