[Openstack-operators] Announcing the openstack ansible deployment repo

Jay Pipes jaypipes at gmail.com
Thu Dec 11 15:18:38 UTC 2014


Hi Kevin! Great initiative. Some comments inline...

On 12/10/2014 05:16 PM, Kevin Carter wrote:
> Hello all,
>
>
> The RCBOPS team at Rackspace has developed a repository of Ansible
> roles, playbooks, scripts, and libraries to deploy Openstack inside
> containers for production use. We’ve been running this deployment for
> a while now, and at the last OpenStack summit we discussed moving the
> repo into Stackforge as a community project. Today, I’m happy to
> announce that the "os-ansible-deployment" repo is online within
> Stackforge. This project is a work in progress and we welcome anyone
> who’s interested in contributing.

Great to see this announcement. I saw this code a few days ago and git 
clone'd it locally. I have to say, there's a lot of great stuff in 
there. It's pretty well documented as well. Nice work.

> This project includes: * Ansible playbooks for deployment and
> orchestration of infrastructure resources. * Isolation of services
> using LXC containers. * Software deployed from source using python
> wheels.

So I did have a few things to bring up that I would love to get feedback on.

1) LXC container-management library

I looked at the Python Ansible module code and was impressed at its 
completeness. Do you have plans to submit this to ansible-galaxy and/or 
working to get this into the main Ansible module library in the same way 
that the Docker management library is already included? Just curious here...

2) The "RPC" stuff

Do you have plans to cull the RPC (Rackspace Private Cloud) specific 
variables and things from the repo to make it more generic? One 
particular thing that would be useful to "genericize" is the reliance on 
specifically named networks and bridges. Would you be open to patches to 
make these things templatized?

3) The "all in one repo" design

So, this is actually my only real negative feedback -- and by negative I 
mean constructive not bashing! :)

One of the things I really like about the DebOps Ansible tooling:

https://github.com/debops/

Is the way those guys have structured things to break out playbooks for 
different components into separate repositories. This allows users to 
swap in and out various preferences of deploying infrastructure. It also 
allows one to *entirely* separate the inventory files which 
declaratively describe the deployment environment and its configuration 
switches from the playbooks that deploy things.

This is one of the reasons that in the Chef world, we have a 
stackforge/openstack-chef-repo reference repository that contains the 
description of the environment, and we have separate cookbooks like 
stackforge/cookbook-openstack-compute that contain the instructions for 
installing Nova and its dependencies.

I find this "separate the config from the instructions" approach to be 
more flexible and easier for folks to wrap their heads around, even if 
it does mean more Git repositories.

What thoughts do you have on this?

All the best, and thanks again for introducing your work!
-jay



More information about the OpenStack-operators mailing list