Hi all,
One of the tasks I've been working on is #3178, "Assess the viability of
importing and launching images from a openstack provider." We don't have
many OpenStack implementation tasks in this sprint, but I was kind of
roaring to see something working, so I wanted to sort of take inventory
of where things stood today.
With the patches adding support applied to master a bit ago, I pulled up
a Rails console and saw how far I could get. [1] lists the steps I took.
The first obstacle I hit was some exception in the Deltacloud logs,
raised when I tried to list instances[2]. Marios helped me debug this
and indicated that the problem was that I was using an older version of
the Deltacloud package; it was using the Rackspace driver versus the
OpenStack one. (See the filename in line 20 of the link.)
Until this is updated in the next Deltacloud release, I worked around
this by building a local gem for Deltacloud and restarting with that.
That much worked great.
My next issue was that we do not appear to have anything in place to
collect any credentials for those setting up an OpenStack provider
account. Thus I cheated and used the Rails console for now, talking to
Deltacloud directly. And with that, basic Deltacloud API operations work
-- I can list images and instances, for example.
Complicating things, the credentials we need are semi-variable. If you
are running Keystone, we need to collect your username, password, and
tenant name. If you're not running Keystone, we don't need your tenant
name. (OpenStack also allows authentication via key + secret key, but
Deltacloud does not presently support this.) I'm not sure what the most
elegant solution is here just yet, nor if there's a good way to proceed
without provider-specific logic. As far as Deltacloud is concerned, the
tenant name is just added to the username, so we could do the same,
except it might not be particularly clear to end users.
I attempted to add Credential Definitions and add a provider account,
but that resulted in me receiving some exceptions about hardware
profiles.
I'd like to investigate further, but I think I'm fairly far afield from
my stated objective of investigating the viability of importing images.
It may be that I'm just around the bend from getting it working, but I'm
starting to think that the conclusion here is that, in its present form,
the answer to the task is "Not very viable at the moment." I'd be happy
to carry on, but only if people think it's a worthwhile endeavor before
Factory adds support for building for OpenStack.
-- Matt
[1]
https://gist.github.com/2431166
[2]
https://gist.github.com/2431171