bfirsh/docker — pull request #13 by wallnerryan (2014-11-04 16:09:45+00:00)
Title: Host Managment Openstack - Proposal (Since I can't file and Issue)

There was no place for Issues on this repo, I wanted to add this as a Proposal its not ready to be merged at all, maybe you can enable Issues for this fork @bfirsh ?

This adds a Generic Openstack Driver for Hosts. It has been tested on OpenStack Icehouse running Neutron Networking. It was partially tested on DevStack with Flat Nova Network but my machine got memory drained before I could complete testing. This was completed for the DockerGlobalHackDay

Few caveats
* State functions are not complete, (state reports Running if the creation is a success, I ran out f time)
* Neutron Network is the only one tested. Some code for Flat Nova Network. There are many networking options in openstack that make this interesting, as well as different API endpoints for them e.g (/os-floating-ips for nova and /floatingips for neutron)
* It uses an edited version rackspace/gophercloud/openstack API but included all of gophercloud.
..*(github.com/rackspace/gophercloud --> github.com/wallnerryan/gophercloud/tree/docker-hosts-openstack) which causes a lot of bloat in the code, possibly need to separate the openstack code out.
*right now SSH KeyPairs must exists on the OpenStack Cloud already to be referenced on create. Need to either support creation of keys or download of keys in the future. (no ssh support in this right now)
* many of the flags require UUIDs, I did it this way do to time, but would really rather the flags reference strings and be aware of defaults in the openstack cloud.

Anyway, I wanted to make the people looking at this aware of the effort, I'd be happy to continue to develop it if there was interest. I mainly did it because I wanted to get to know Go and saw there wasn't an OpenStack Driver. I use it as is to get Docker running in Icehouse. Here is a point I did on the use. http://aucouranton.com/2014/11/03/docker-remote-host-managment-with-openstack/