Updated Openstack v2 API driver in Deltacloud

The first iteration of the updated Openstack driver for deltacloud has just been sent to the dev@deltacloud.apache.org mailing list. For now only ‘compute’ (nova) is implemented… ‘object-storage’ (swift) will follow soon. Some work will be needed on the ‘cloudfiles’ rubygem to make it work with the Keystone identity service (will likely end up merging cloudfiles and the openstack/compute rubygem or some such).


###Calling all testers!

If you’ve been looking for a reason to get involved with Deltacloud then please consider testing this new driver. There are likely many issues and bugs that need fixing and all suggestions are welcome.


###Getting the new driver:

At the time of writing the new driver is just a patch sitting on the dev@deltacloud.apache.org mailing list. If you are really keen then you can grab that patch and apply it to the HEAD of the git repo at https://git-wip-us.apache.org/repos/asf/deltacloud.git . The info here may be of use.

Within a couple of days and once any obvious issues are resolved the driver will be pushed to the git repo, in which case you can just grab the latest HEAD containing the pushed driver. There is more developer info here but essentially:

    mkdir DeltacloudProject
    cd DeltacloudProject
    git clone  https://git-wip-us.apache.org/repos/asf/deltacloud.git <br>

###Testing the new driver:

Assuming you are in a directory “DeltacloudProject” and you have cloned the git repo into it (so you have a directory called deltacloud):

    cd deltacloud
    ./server/bin/deltacloudd -i openstack -P "URI_OF_OPENSTACK_IDENTITY_SERVICE"

The URI_OF_OPENSTACK_IDENTITY_SERVICE will be provided by your Openstack server administrator. For example, identity service URL for the Openstack deployment at HP Cloud Service beta looks like https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/. So to use deltacloud against that Openstack setup:

    ./server/bin/deltacloudd -i openstack -P "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/"

Using v2 authentication requires three parameters: username, password and tenant-name. To provide these when prompted (i.e. if using the HTML UI - by default you should point your browser @ localhost:3001/api), you should concatenate ‘username’ and ‘tenant-name’ with a ‘+’. With cURL this looks like:

    curl -iv --user "you@domain.com+you@domain.com-default-tenant:f81jD23F3521FSS!" http://localhost:3001/api/realms?format=xml

    [RESPONSE]:
    <?xml version='1.0' encoding='utf-8' ?>
    <realms>
      <realm href='http://localhost:3001/api/realms/default' id='default'>
      <name>default</name>
      <state>AVAILABLE</state>
      <limit>ABSOLUTE >> Max. Instances: 20 Max. RAM: 20480   ||   SERVERS >> Total: 50  Remaining: 50 Time Unit: per DAY</limit>
      </realm>
    </realms>

Where you@domain.com is the username and you@domain.com-default-tenant is the tenant name. Using ‘+’ as a delimiter is probably not the best solution so suggestions are very welcome!



blog comments powered by Disqus
RSS Feed Icon site.xml
RSS Feed Icon tripleo.xml