openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #10951
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