yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #32835
[Bug 1454369] [NEW] nova needs to move to using the 'volume' service type
Public bug reported:
It appears that there are still places in Nova that are being hardcoded
to use the Cinder V1 api. Evidence of this can be seen by setting
enable_v1_api to false in Cinder and then trying to use any of the 'nova
volume' commands. Errors like the following are produced:
[root@controller-x86-KVM-SCE-Refstack-SCERest-430gm-abd12ca7 ˜]# nova --debug volume-create 1
DEBUG (session:195) REQ: curl -g -i -X GET http://169.55.21.52:5000/v2.0 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
INFO (connectionpool:194) Starting new HTTP connection (1): 169.55.21.52
DEBUG (connectionpool:360) "GET /v2.0 HTTP/1.1" 200 338
DEBUG (session:224) RESP: [200] date: Sun, 10 May 2015 19:02:38 GMT vary: X-Auth-Token content-length: 338 content-type: application/json
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://169.55.21.52:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}
DEBUG (v2:76) Making authentication request to http://169.55.21.52:5000/v2.0/tokens
DEBUG (connectionpool:360) "POST /v2.0/tokens HTTP/1.1" 200 4531
DEBUG (iso8601:171) Parsed 2015-05-10T20:02:38Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'20', 'daydash': u'10', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'38', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'05', 'day': None, 'minute': u'02'} with default timezone <iso8601.iso8601.Utc object at 0x1a26bd0>
DEBUG (iso8601:127) Got u'2015' for 'year' with default None
DEBUG (iso8601:127) Got u'05' for 'monthdash' with default None
DEBUG (iso8601:127) Got 5 for 'month' with default 5
DEBUG (iso8601:127) Got u'10' for 'daydash' with default None
DEBUG (iso8601:127) Got 10 for 'day' with default 10
DEBUG (iso8601:127) Got u'20' for 'hour' with default None
DEBUG (iso8601:127) Got u'02' for 'minute' with default None
DEBUG (iso8601:127) Got u'38' for 'second' with default None
DEBUG (session:195) REQ: curl -g -i -X POST http://169.55.21.52:8776/v1/a7d1b663366740859037201fa8a48b03/volumes -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}3724d0d949251ec67dd2d3b67201b7e196f36c47" -d '{"volume": {"display_name": null, "imageRef": null, "availability_zone": null, "volume_type": null, "display_description": null, "snapshot_id": null, "size": 1}}'
INFO (connectionpool:194) Starting new HTTP connection (1): 169.55.21.52
DEBUG (connectionpool:360) "POST /v1/a7d1b663366740859037201fa8a48b03/volumes HTTP/1.1" 400 141
DEBUG (session:224) RESP:
DEBUG (shell:914) The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 911, in main
OpenStackComputeShell().main(argv)
File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 838, in main
args.func(self.cs, args)
File "/usr/lib/python2.7/site-packages/novaclient/v2/shell.py", line 2053, in do_volume_create
imageRef=args.image_id)
File "/usr/lib/python2.7/site-packages/novaclient/v2/volumes.py", line 72, in create
return self._create('/volumes', body, 'volume')
File "/usr/lib/python2.7/site-packages/novaclient/base.py", line 161, in _create
_resp, body = self.api.client.post(url, body=body)
File "/usr/lib/python2.7/site-packages/keystoneclient/adapter.py", line 176, in post
return self.request(url, 'POST', **kwargs)
File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 96, in request
raise exceptions.from_response(resp, body, url, method)
BadRequest: The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)
ERROR (BadRequest): The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)
Attempts to run tempest also fail.
Cinder has added version discovery in Liberty so Nova should go back to
using the 'volume' service type as the volumev2 service type will go
away and version discovery should take care of making sure the right API
version is used.
** Affects: nova
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1454369
Title:
nova needs to move to using the 'volume' service type
Status in OpenStack Compute (Nova):
New
Bug description:
It appears that there are still places in Nova that are being
hardcoded to use the Cinder V1 api. Evidence of this can be seen by
setting enable_v1_api to false in Cinder and then trying to use any of
the 'nova volume' commands. Errors like the following are produced:
[root@controller-x86-KVM-SCE-Refstack-SCERest-430gm-abd12ca7 ˜]# nova --debug volume-create 1
DEBUG (session:195) REQ: curl -g -i -X GET http://169.55.21.52:5000/v2.0 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
INFO (connectionpool:194) Starting new HTTP connection (1): 169.55.21.52
DEBUG (connectionpool:360) "GET /v2.0 HTTP/1.1" 200 338
DEBUG (session:224) RESP: [200] date: Sun, 10 May 2015 19:02:38 GMT vary: X-Auth-Token content-length: 338 content-type: application/json
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://169.55.21.52:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}
DEBUG (v2:76) Making authentication request to http://169.55.21.52:5000/v2.0/tokens
DEBUG (connectionpool:360) "POST /v2.0/tokens HTTP/1.1" 200 4531
DEBUG (iso8601:171) Parsed 2015-05-10T20:02:38Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'20', 'daydash': u'10', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'38', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'05', 'day': None, 'minute': u'02'} with default timezone <iso8601.iso8601.Utc object at 0x1a26bd0>
DEBUG (iso8601:127) Got u'2015' for 'year' with default None
DEBUG (iso8601:127) Got u'05' for 'monthdash' with default None
DEBUG (iso8601:127) Got 5 for 'month' with default 5
DEBUG (iso8601:127) Got u'10' for 'daydash' with default None
DEBUG (iso8601:127) Got 10 for 'day' with default 10
DEBUG (iso8601:127) Got u'20' for 'hour' with default None
DEBUG (iso8601:127) Got u'02' for 'minute' with default None
DEBUG (iso8601:127) Got u'38' for 'second' with default None
DEBUG (session:195) REQ: curl -g -i -X POST http://169.55.21.52:8776/v1/a7d1b663366740859037201fa8a48b03/volumes -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}3724d0d949251ec67dd2d3b67201b7e196f36c47" -d '{"volume": {"display_name": null, "imageRef": null, "availability_zone": null, "volume_type": null, "display_description": null, "snapshot_id": null, "size": 1}}'
INFO (connectionpool:194) Starting new HTTP connection (1): 169.55.21.52
DEBUG (connectionpool:360) "POST /v1/a7d1b663366740859037201fa8a48b03/volumes HTTP/1.1" 400 141
DEBUG (session:224) RESP:
DEBUG (shell:914) The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 911, in main
OpenStackComputeShell().main(argv)
File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 838, in main
args.func(self.cs, args)
File "/usr/lib/python2.7/site-packages/novaclient/v2/shell.py", line 2053, in do_volume_create
imageRef=args.image_id)
File "/usr/lib/python2.7/site-packages/novaclient/v2/volumes.py", line 72, in create
return self._create('/volumes', body, 'volume')
File "/usr/lib/python2.7/site-packages/novaclient/base.py", line 161, in _create
_resp, body = self.api.client.post(url, body=body)
File "/usr/lib/python2.7/site-packages/keystoneclient/adapter.py", line 176, in post
return self.request(url, 'POST', **kwargs)
File "/usr/lib/python2.7/site-packages/novaclient/client.py", line 96, in request
raise exceptions.from_response(resp, body, url, method)
BadRequest: The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)
ERROR (BadRequest): The server could not comply with the request since it is either malformed or otherwise incorrect. (HTTP 400)
Attempts to run tempest also fail.
Cinder has added version discovery in Liberty so Nova should go back
to using the 'volume' service type as the volumev2 service type will
go away and version discovery should take care of making sure the
right API version is used.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1454369/+subscriptions
Follow ups
References