[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