<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<div>I'm setting upp a controller node for a development env using openstack puppet modules and I encountered an error while logging into horizon stating ERROR (KeyError): 'extensions'<br>
</div>
<div><br>
</div>
<div>Since this is a setup using the puppet module there could be some misconfiguration or some component oversight, but the error it self does not explain much to me what might be wrong.<br>
</div>
<div><br>
</div>
<div>Any ideas?<br>
</div>
<div><br>
</div>
<div>root@controller-01:~# nova --debug list-extensions</div>
<div>DEBUG (session:195) REQ: curl -g -i -X GET http://127.0.0.1:35357/v2.0 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"</div>
<div>INFO (connectionpool:188) Starting new HTTP connection (1): 127.0.0.1</div>
<div>DEBUG (connectionpool:362) "GET /v2.0 HTTP/1.1" 200 336</div>
<div>DEBUG (session:223) RESP: [200] content-length: 336 vary: X-Auth-Token x-distribution: Ubuntu connection: keep-alive date: Wed, 25 Nov 2015 12:36:26 GMT content-type: application/json x-openstack-request-id: req-64bcc134-3e09-4264-ae79-3dd850b4ec18</div>
<div>RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://127.0.0.1:35357/v2.0/", "rel":
 "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}</div>
<div><br>
</div>
<div>DEBUG (v2:76) Making authentication request to http://127.0.0.1:35357/v2.0/tokens</div>
<div>DEBUG (connectionpool:362) "POST /v2.0/tokens HTTP/1.1" 200 2442</div>
<div>DEBUG (iso8601:184) Parsed 2015-11-25T13:36:26Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'13', 'daydash': u'25', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'26', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash':
 u'11', 'day': None, 'minute': u'36'} with default timezone <iso8601.iso8601.Utc object at 0x7fabd7bcbdd0></div>
<div>DEBUG (iso8601:140) Got u'2015' for 'year' with default None</div>
<div>DEBUG (iso8601:140) Got u'11' for 'monthdash' with default 1</div>
<div>DEBUG (iso8601:140) Got 11 for 'month' with default 11</div>
<div>DEBUG (iso8601:140) Got u'25' for 'daydash' with default 1</div>
<div>DEBUG (iso8601:140) Got 25 for 'day' with default 25</div>
<div>DEBUG (iso8601:140) Got u'13' for 'hour' with default None</div>
<div>DEBUG (iso8601:140) Got u'36' for 'minute' with default None</div>
<div>DEBUG (iso8601:140) Got u'26' for 'second' with default None</div>
<div>DEBUG (session:195) REQ: curl -g -i -X GET http://controller-01:8774/extensions -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}603f74199663e969ef12d7b131fa30a9c20cd7a3"</div>
<div>INFO (connectionpool:188) Starting new HTTP connection (1): controller-01.dev.opst.siminn.is</div>
<div>DEBUG (connectionpool:362) "GET /extensions HTTP/1.1" 300 257<br>
</div>
<div>DEBUG (session:223) RESP: [300] date: Wed, 25 Nov 2015 12:36:26 GMT content-length: 257 content-type: application/json connection: keep-alive</div>
<div>RESP BODY: {"choices": [{"status": "SUPPORTED", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "links": [{"href": "http://controller-01:8774/v2/extensions", "rel": "self"}]}]}</div>
<div><br>
</div>
<div>DEBUG (shell:914) 'extensions'</div>
<div>Traceback (most recent call last):</div>
<div>  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 911, in main</div>
<div>    OpenStackComputeShell().main(argv)</div>
<div>  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 838, in main</div>
<div>    args.func(self.cs, args)</div>
<div>  File "/usr/lib/python2.7/dist-packages/novaclient/v2/contrib/list_extensions.py", line 44, in do_list_extensions</div>
<div>    extensions = client.list_extensions.show_all()</div>
<div>  File "/usr/lib/python2.7/dist-packages/novaclient/v2/contrib/list_extensions.py", line 37, in show_all</div>
<div>    return self._list("/extensions", 'extensions')</div>
<div>  File "/usr/lib/python2.7/dist-packages/novaclient/base.py", line 69, in _list</div>
<div>    data = body[response_key]</div>
<div>KeyError: 'extensions'</div>
<div>ERROR (KeyError): 'extensions'<br>
</div>
<p><br>
</p>
</body>
</html>