rackspace/ruby-openstack-compute — pull request #16 by marios (2012-04-26 15:02:09+00:00)
Title: Merge ruby-openstack-compute and rackspace/ruby-cloudfiles

Hi Dan,

as we discussed a while back, I finally got round to spending time on the merger of compute and object-store for the gem. Trying to keep this as short as possible, but basically:

* Moving around the compute code to allow for common connection/auth/exceptions code for both compute and object-store. I think this structure will allow addition of e.g. Glance
* Constructor has changed - but no changes to the interface:

BEFORE
os = OpenStack::Compute::Connection.new(:username => USERNAME, :api_key => API_KEY, :authtenant => TENANT, :auth_url => API_URL)

NOW
os = OpenStack::Connection.create(:username => USERNAME, :api_key => API_KEY, :authtenant => TENANT, :auth_url => API_URL, :service_type => "compute")

where the :service_type dictates the type of OpenStack::Connection object you get back (either OpenStack::Compute::Connection or OpenStack::Swift::Connection if :service_type == "object-store"

* I tried to keep the interface to the cloudfiles gem the same but there are a few changes (see Readme for quick overview of usage)

Open Issues:

* I haven't looked at licensing carefully enough - in the very least I need to put a disclaimer that the OpenStack::Swift module is *heavily* based on Rackspace/Cloudfiles gem

* Is the new constructor acceptable?

* naming of the gem? I renamed to just 'openstack' but you might like to just continue with openstack-compute or perhaps openstack-ruby ? Also, versioning (i just made this 1.1.9 for example).

* CDN and Read/Write ACLs for OpenStack::Swift - these seem to have been removed from the latest API - so I removed the relevant code... but not sure if this is correct.

thanks for considering this pull request, marios