I am using nova diablo-2. When I visit most of the tabs, I see an error message in browser and output on console like this:
DEBUG:django_openstack.api:admin_api connection created using token "0585230347f85d8cb535fab274afd2fc31658e97" and url "http://127.0.0.1:8774/v1.1"
(u'http://127.0.0.1:8774/v1.1/services?fresh=1310500858.41', 'GET') {'headers': {'User-Agent': 'python-openstack-compute/2.0a1', 'X-Auth-Token': u'0585230347f85d8cb535fab274afd2fc31658e97'}}
ERROR:django_openstack.syspanel.views.instances:ApiException fetching service list in instance usage
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/django_openstack/syspanel/views/instances.py", line 84, in usage
service_list = api.service_list(request)
File "/usr/lib/python2.6/site-packages/django_openstack/api.py", line 378, in service_list
return [Services(s) for s in admin_api(request).services.list()]
File "/usr/lib/python2.6/site-packages/openstackx/admin/services.py", line 14, in list
return self._list("/services", "services")
File "/usr/lib/python2.6/site-packages/openstackx/api/base.py", line 27, in _list
resp, body = self.api.connection.get(url)
File "/usr/lib/python2.6/site-packages/openstackx/api/connection.py", line 78, in get
return self._cs_request(url, 'GET', **kwargs)
File "/usr/lib/python2.6/site-packages/openstackx/api/connection.py", line 63, in _cs_request
**kwargs)
File "/usr/lib/python2.6/site-packages/openstackx/api/connection.py", line 48, in request
raise exceptions.from_response(resp, body)
NotFound: 404 Not Found
The resource could not be found.
(HTTP 404)
The same error occurs with /v1.1/{extras,admin}/{flavors,images} and so on.
I used telnet to send queries to nova-api running on localhost:8774.
Current dashboard uses openstackx to create HTTP queries. For example, openstackx/admin/flavors.py contains FlavorManager with functions like this:
def list(self):
"""
Get a list of all flavors.
:rtype: list of :class:`Flavor`.
"""
return self._list("/admin/flavors", "flavors")
Dashboard does HTTP GET on localhost:8774/v1.1/admin/flavors and has error 404. Here is telnet imitation of dashboard's querying.
# telnet localhost 8774
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /v1.1/admin/flavors HTTP/1.1
X-Auth-Token: 70a3d075-43a5-4825-a2e0-ca8497aa617c
HTTP/1.1 404 Not Found
Content-Length: 52
Content-Type: text/plain; charset=UTF-8
Date: Tue, 12 Jul 2011 23:24:06 GMT
404 Not Found
The resource could not be found.
Connection closed by foreign host.
Here I have removed "admin/" from path:
# telnet localhost 8774
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /v1.1/flavors HTTP/1.1
X-Auth-Token: 70a3d075-43a5-4825-a2e0-ca8497aa617c
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1514
Date: Tue, 12 Jul 2011 23:21:12 GMT
{"flavors": [{"id": 3, "links": [{"href": "http://127.0.0.1:8774/v1.1/flavors/3", "rel": "self"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/3", "type": "application/json", "rel": "bookmark"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/3", "type": "application/xml", "rel": "bookmark"}], "name": "m1.medium"}, {"id": 4, "links": [{"href": "http://127.0.0.1:8774/v1.1/flavors/4", "rel": "self"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/4", "type": "application/json", "rel": "bookmark"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/4", "type": "application/xml", "rel": "bookmark"}], "name": "m1.large"}, {"id": 1, "links": [{"href": "http://127.0.0.1:8774/v1.1/flavors/1", "rel": "self"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/1", "type": "application/json", "rel": "bookmark"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/1", "type": "application/xml", "rel": "bookmark"}], "name": "m1.tiny"}, {"id": 5, "links": [{"href": "http://127.0.0.1:8774/v1.1/flavors/5", "rel": "self"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/5", "type": "application/json", "rel": "bookmark"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/5", "type": "application/xml", "rel": "bookmark"}], "name": "m1.xlarge"}, {"id": 2, "links": [{"href": "http://127.0.0.1:8774/v1.1/flavors/2", "rel": "self"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/2", "type": "application/json", "rel": "bookmark"}, {"href": "http://127.0.0.1:8774/v1.1/flavors/2", "type": "application/xml", "rel": "bookmark"}], "name": "m1.small"}]}
Connection closed by foreign host.
So, I have patched openstackx and removed all "admin/" and "extras/". Now about 75% of dashboard functionality work on my machine (including flavors), but some queries always lead to 404 (for example, "/v1.1/admin/services","/v1.1/extras/services", and "/v1.1/services"; the same for "/v1.1/{extra/,admin/,}usage").
Should be openstackx patched? Should I try another version of nova?