← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1454369] Re: nova needs to move to using the 'volume' service type

 

@Jay, per "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." - what is the cinder version discovery
change mentioned?  Is that in cinder - can you link to the patch?

Also, I think this is novaclient which means if the version discovery in
cinder is only liberty, we can't assume novaclient isn't talking to a
kilo cinder.

** Also affects: python-novaclient
   Importance: Undecided
       Status: New

** Changed in: python-novaclient
       Status: New => Confirmed

** Changed in: python-novaclient
   Importance: Undecided => Low

** No longer affects: nova

** Summary changed:

- nova needs to move to using the 'volume' service type
+ novaclient needs to move to using the 'volume' service type

-- 
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:
  novaclient needs to move to using the 'volume' service type

Status in Python client library for Nova:
  Confirmed

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/python-novaclient/+bug/1454369/+subscriptions


References