Bug 783878
Summary: | nova update has incompatibility with deltacloud | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Steven Dake <sdake> |
Component: | openstack-nova | Assignee: | Pádraig Brady <pbrady> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 16 | CC: | akscram, alexander.sakhnov, asalkeld, bfilippov, jonathansteffan, lutter, markmc, matt_domsch, mfojtik, mlvov, p, rbryant, rkukura |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | openstack-nova-2011.3.1-2.el6 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-01-31 21:59:35 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Steven Dake
2012-01-23 04:21:10 UTC
Thanks for the report (In reply to comment #0) > This new version causes deltacloud to print parse errors. Could you include the error messages here? Too disruptive to change versions back and forth. It will be obvious from running the reproducer. $ curl -ik -H 'X-Auth-User: admin' -H 'X-Auth-Key: admin' http://127.0.0.1:8774/v1.0/ HTTP/1.1 204 No Content Content-Length: 0 X-Auth-Token: admin:admin X-Server-Management-Url: http://127.0.0.1:8774/v1.0/admin X-Storage-Url: X-Cdn-Management-Url: Content-Type: text/plain; charset=UTF-8 Date: Mon, 23 Jan 2012 11:18:46 GMT $ curl -ik -H 'Accept: application/json' -H 'X-Auth-Token: admin:admin' http://localhost:8774/v1.0/admin/servers/detail HTTP/1.1 404 Not Found Content-Length: 52 Content-Type: text/plain; charset=UTF-8 Date: Mon, 23 Jan 2012 11:20:24 GMT 404 Not Found The resource could not be found. So let's try python-novaclient to see what it does... >>> import novaclient >>> from novaclient.v1_1 import client >>> import logging >>> ch = logging.StreamHandler() >>> novaclient.client._logger.setLevel(logging.DEBUG) >>> novaclient.client._logger.addHandler(ch) >>> nt = client.Client("admin", "admin", "admin", "http://127.0.0.1:8774/v1.0/") >>> nt.servers.list() REQ: curl -i http://127.0.0.1:8774/v1.0/ -X GET -H "X-Auth-Project-Id: admin" -H "X-Auth-Key: admin" -H "X-Auth-User: admin" -H "User-Agent: python-novaclient" RESP:{'status': '204', 'content-length': '0', 'x-auth-token': 'admin:admin', 'x-cdn-management-url': '', 'x-server-management-url': 'http://127.0.0.1:8774/v1.0/admin', 'date': 'Mon, 23 Jan 2012 11:36:13 GMT', 'x-storage-url': '', 'content-type': 'text/plain; charset=UTF-8'} REQ: curl -i http://127.0.0.1:8774/v1.0/admin/servers/detail?fresh=1327318573.81 -X GET -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -H "X-Auth-Token: admin:admin" RESP:{'date': 'Mon, 23 Jan 2012 11:36:13 GMT', 'status': '404', 'content-length': '52', 'content-type': 'text/plain; charset=UTF-8'} Drats, same thing. So let's try v1.1 instead of 1.0 >>> nt = client.Client("admin", "admin", "admin", "http://127.0.0.1:8774/v1.1/") >>> nt.servers.list() REQ: curl -i http://127.0.0.1:8774/v1.1/ -X GET -H "X-Auth-Project-Id: admin" -H "X-Auth-Key: admin" -H "X-Auth-User: admin" -H "User-Agent: python-novaclient" RESP:{'status': '204', 'content-length': '0', 'x-auth-token': 'admin:admin', 'x-cdn-management-url': '', 'x-server-management-url': 'http://127.0.0.1:8774/v1.1/admin', 'date': 'Mon, 23 Jan 2012 11:43:58 GMT', 'x-storage-url': '', 'content-type': 'text/plain; charset=UTF-8'} REQ: curl -i http://127.0.0.1:8774/v1.1/admin/servers/detail?fresh=1327319038.61 -X GET -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -H "X-Auth-Token: admin:admin" RESP:{'date': 'Mon, 23 Jan 2012 11:43:58 GMT', 'status': '200', 'content-length': '3291', 'content-type': 'application/json', 'content-location': 'http://127.0.0.1:8774/v1.1/admin/servers/detail?fresh=1327319038.61'} So that's it. V1.0 is not working, while V1.1 is OK... $ curl -ik -H 'Accept: application/json' -H 'X-Auth-Token: admin:admin' http://localhost:8774/v1.1/admin/servers/detail Thanks Pádraig It looks like the v1.0 API isn't intended to be scoped under a project? Compare: class APIRouterV10(APIRouter): ... to: class APIRouterV11(APIRouter): def _mapper(self): return ProjectMapper() One thing that may or may not be helpful: Deltacloud uses "v1.0" of the rackspace servers ruby bindings (https://github.com/rackspace/ruby-cloudservers). I would expect it should use the v1.1 bindings (see https://github.com/rackspace/ruby-openstack-compute) but deltacloud doesn't do this today. Is that mandatory with 3.1 of nova? Regards -steve Yep the bug is V1.0 specific and introduced upstream last october. https://bugs.launchpad.net/nova/+bug/920497 I'm sending a patch upstream now. The openstack Essex release (to be part of Fedora 17), will no longer support v1.0 API. I've added a deltacloud upgrade task: https://issues.apache.org/jira/browse/DTACLOUD-130 openstack-nova-2011.3.1-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/openstack-nova-2011.3.1-2.fc16 openstack-nova-2011.3.1-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/openstack-nova-2011.3.1-2.el6 Package openstack-nova-2011.3.1-2.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing openstack-nova-2011.3.1-2.fc16' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-0870/openstack-nova-2011.3.1-2.fc16 then log in and leave karma (feedback). openstack-nova-2011.3.1-2.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report. verified fixed. openstack-nova-2011.3.1-2.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report. |