Hi,

Can you please attach the code which shows how you are instantiating the
OpenStack driver (don't forget to mask / remove the credentials)?

It would be also be useful to paste the output of
LIBCLOUD_DEBUG=/dev/stderr python stack_test.py.

In any case, Brad Morgan has recently made some changes and improvements to
the OpenStack authentication classes -
https://github.com/apache/libcloud/pull/58. Now the tenantId is not
automatically parsed from the auth API response anymore and this might fix
your problem. His changes should be merged to trunk soon - probably today
or tomorrow.

On Wed, Feb 15, 2012 at 9:06 PM, Jay Doane <j...@almery.com> wrote:

> Greetings,
>
> I followed the directions at http://devstack.org/guides/single-vm.html to
> deploy OpenStack on a single host, and everything works as expected from
> the web interface.
>
> I would like to access my OpenStack dev environment with (a recent dev
> version oflibcloud, but seem to only be able to do so using the Eucalyptus
> driver; the OpenStack driver gives me the following error (running the
> attached code):
>
> jay@alu:~/proj/genforma/libcloud.git$ python stack_test.py
> [<NodeImage: id=aki-00000001, name=None
> (oneiric-server-cloudimg-amd64-kernel), driver=Eucalyptus  ...>,
> <NodeImage: id=ami-00000002, name=None (oneiric-server-cloudimg-amd64),
> driver=Eucalyptus  ...>]
> Traceback (most recent call last):
>   File "stack_test.py", line 23, in <module>
>     print openstack_connect().list_images()
>   File "stack_test.py", line 13, in openstack_connect
>     ex_force_base_url='http://%s:8774' % STACK_HOST)
>   File
> "/Users/jay/proj/genforma/libcloud.git/libcloud/compute/drivers/openstack.py",
> line 795, in __init__
>     super(OpenStack_1_1_NodeDriver, self).__init__(*args, **kwargs)
>   File "/Users/jay/proj/genforma/libcloud.git/libcloud/compute/base.py",
> line 397, in __init__
>     api_version=api_version)
>   File "/Users/jay/proj/genforma/libcloud.git/libcloud/common/base.py",
> line 802, in __init__
>     self.connection.connect()
>   File "/Users/jay/proj/genforma/libcloud.git/libcloud/common/base.py",
> line 427, in connect
>     if getattr(self, 'base_url', None) and base_url == None:
>   File
> "/Users/jay/proj/genforma/libcloud.git/libcloud/common/openstack.py", line
> 249, in base_url
>     return self._get_base_url(url_key=self._url_key)
>   File
> "/Users/jay/proj/genforma/libcloud.git/libcloud/common/openstack.py", line
> 254, in _get_base_url
>     self._populate_hosts_and_request_paths()
>   File
> "/Users/jay/proj/genforma/libcloud.git/libcloud/common/openstack.py", line
> 300, in _populate_hosts_and_request_paths
>     self.tenant_ids[service_type] = service['endpoints'][0]['tenantId']
> KeyError: 'tenantId'
>
> Has anyone else successfully used the libcloud OpenStack driver to access
> a recent devstack deployment?  Or is there something obviously wrong with
> how I'm instantiating my OpenStack driver?
>
> Thanks,
> Jay
>
>
>
>

Reply via email to