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 > > > >