[Openstack] Nova volume service and the nova client command

Lillie Ross-CDSR11 Ross.Lillie at motorolasolutions.com
Tue May 1 21:46:05 UTC 2012


OK, I'm an idiot.

If I understand correctly, nova-volume provides the 'backend' service.  So to run nova-volume on a separate node, I apparently have to also install the nova-api (and associated python-keystone modules)?  Is this correct? Or will the backend messaging (rabbitmq) allow the nova-api service running on one node to correctly control the nova-volume backend on another node?

Thanks in advance!
Ross

On May 1, 2012, at 3:15 PM, Lillie Ross-CDSR11 wrote:

> I've configured the nova_volume service using the the Ubuntu 12.04LTS packages, and am able to create/delete volumes using the euca2ools package.  However, dashboard is not able to retrieve volume info or perform volume operations with the nova client.  If I issue the 'nova volume-list' command, I receive a 400 error response.  For example
> 
> root at essex1:/etc/nova# nova --debug volume-list
> connect: (essex1, 5000)
> send: 'POST /v2.0/tokens HTTP/1.1\r\nHost: essex1:5000\r\nContent-Length: 100\r\ncontent-type: application/json\r\naccept-encoding: gzip, deflate\r\naccept: application/json\r\nuser-agent: python-novaclient\r\n\r\n{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "admin"}}}'
> reply: 'HTTP/1.1 200 OK\r\n'
> header: Content-Type: application/json
> header: Vary: X-Auth-Token
> header: Date: Tue, 01 May 2012 20:06:39 GMT
> header: Transfer-Encoding: chunked
> connect: (essex4, 8776)
> connect fail: (u'essex4', 8776)
> DEBUG (shell:416) n/a (HTTP 400)
> Traceback (most recent call last):
>  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 413, in main
>    OpenStackComputeShell().main(sys.argv[1:])
>  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 364, in main
>    args.func(self.cs, args)
>  File "/usr/lib/python2.7/dist-packages/novaclient/v1_1/shell.py", line 858, in do_volume_list
>    volumes = cs.volumes.list()
>  File "/usr/lib/python2.7/dist-packages/novaclient/v1_1/volumes.py", line 79, in list
>    return self._list("/volumes/detail", "volumes")
>  File "/usr/lib/python2.7/dist-packages/novaclient/base.py", line 71, in _list
>    resp, body = self.api.client.get(url)
>  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 136, in get
>    return self._cs_request(url, 'GET', **kwargs)
>  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 124, in _cs_request
>    **kwargs)
>  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 107, in request
>    raise exceptions.from_response(resp, body)
> BadRequest: n/a (HTTP 400)
> ERROR: n/a (HTTP 400)
> root at essex1:/etc/nova# 
> 
> Node essex1 is the cloud controller.  essex4 is the volume controller.  To verify the connection failure, if I try to telnet to port 8776 I also get a connect refused.  My nova-volume endpoint is specified in keystone as 'http://essex4:8776/v1/$(tenant_id)s'. With the above connection failure, nothing is written to the nova-volume.log (which makes sense if the server isn't listening to port 8776). Obviously, none of the other nova volume commands work.
> 
> Anything obvious that I'm missing?  Thanks in advance
> 
> Regards,
> Ross







More information about the Openstack mailing list