← Back to team overview

openstack team mailing list archive

Re: Nova volume service and the nova client command

 

Once again, I think I'm answering my own question.

Nova_volume works in conjunction with nova-api to talk to any number of iscsi targets that you might have configured in your cloud.  Each target runs an instance of nova-volume.  The URL for the volume service should point at the host(s) running the nova-api front end.  Nova-volume listens to the appropriate AMQP channel to perform the necessary LVM commands.

Am I missing anything?

Sorry for all questions.  I just needed to think things through a bit more…

/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@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@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





Follow ups

References