Ask Your Question
1

nova image-list could not find any suitable endpoint [closed]

asked 2013-04-17 14:26:26 -0600

khoivu gravatar image

updated 2014-01-27 17:46:35 -0600

smaffulli gravatar image

I just installed openstack folsom and verified that keystone and glance installations. However, verification of installation of compute node failed when running:

nova image-list

but when I run the glance image-list, I got back all images correctly. What is possibly wrong with my installation of the compute node?

Here is the output from the --debug:

REQ: curl -i http://10.0.0.2:5000/v2.0/tokens -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-novaclient" -d '{"auth": {"tenantName": "openstackDemo", "passwordCredentials": {"username": "admin", "password": "changeit123"}}}'

RESP:{'date': 'Fri, 19 Apr 2013 18:27:50 GMT', 'vary': 'X-Auth-Token', 'content-length': '2161', 'status': '200', 'content-type': 'application/json'} {"access": {"token": {"expires": "2013-04-20T18:27:50Z", "id": "4a823a9aa7f249f1ae37b50afcc0d984", "tenant": {"enabled": true, "description": "Default OpenStack Demo Tenant", "name": "openstackDemo", "id": "93d99faec60246899e1f4ae20b00c504"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.0.0.2:8776/v1/93d99faec60246899e1f4ae20b00c504", "region": "Region1", "internalURL": "http://10.0.0.2:8776/v1/93d99faec60246899e1f4ae20b00c504", "id": "d966ffae069b4d5d91d95a04964e1cce", "publicURL": "http://10.0.0.2:8776/v1/93d99faec60246899e1f4ae20b00c504"}], "endpoints_links": [], "type": "volume", "name": "volume"}, {"endpoints": [{"adminURL": "http://10.0.0.2:9292/v1", "region": "Region1", "internalURL": "http://10.0.0.2:9292/v1", "id": "856ed8ad17bd48a49ad5d6771cfc97ea", "publicURL": "http://10.0.0.2:9292/v1"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://10.0.0.2:8774/v2/93d99faec60246899e1f4ae20b00c504", "region": "Region1", "internalURL": "http://10.0.0.2:8774/v2/93d99faec60246899e1f4ae20b00c504", "id": "adf550c7fd834608827edf0aec80c40f", "publicURL": "http://10.0.0.2:8774/v2/93d99faec60246899e1f4ae20b00c504"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": "http://10.0.0.2:8773/services/Admin", "region": "Region1", "internalURL": "http://10.0.0.2:8773/services/Cloud", "id": "18e873b8f1b6444385a1f85531ba068c", "publicURL": "http://10.0.0.2:8773/services/Cloud"}], "endpoints_links": [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://10.0.0.2:35357/v2.0", "region": "Region1", "internalURL": "http://10.0.0.2:5000/v2.0", "id": "52d09c74c0a0464386ceca8c8bbcf76c", "publicURL": "http://10.0.0.2:5000/v2.0"}], "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": "admin", "roles_links": [], "id": "82e5f815c6d64a47916be10aae890926", "roles": [{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles": ["e1892593af7d414c8062c27f8e72b7e3"]}}}


REQ: curl -i http://10.0.0.2:8774/v2/93d99faec60246899e1f4ae20b00c504/images/detail -X GET -H "X-Auth-Project-Id: openstackDemo" -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: 4a823a9aa7f249f1ae37b50afcc0d984"

RESP:{'date': 'Fri, 19 Apr 2013 18:27:50 GMT', 'status': '400', 'content-length': '65', 'content-type': 'application/json; charset=UTF-8', 'x-compute-request-id': 'req-5f11353f-1edb-4934-bd4e-f5f359165d98'} {"badRequest": {"message": "Malformed request url", "code": 400}}

DEBUG (shell:543) Malformed request url (HTTP 400) (Request-ID: req-5f11353f-1edb-4934-bd4e-f5f359165d98)
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/novaclient/shell.py", line 540, in main
    OpenStackComputeShell().main(sys.argv[1:])
  File "/usr/lib/python2.6/site-packages/novaclient/shell.py", line 476, in main
    args.func(self.cs, args)
  File "/usr/lib/python2.6/site-packages/novaclient/v1_1/shell.py", line 517, in do_image_list
    image_list = cs.images.list()
  File "/usr/lib/python2.6/site-packages/novaclient/v1_1/images.py", line 47, in list
    return self._list("/images/detail", "images")
  File "/usr/lib/python2.6/site-packages/novaclient/base.py", line 62, in _list
    _resp, body = self.api.client.get(url)
  File "/usr/lib/python2.6/site-packages/novaclient/client ...
(more)
edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by koolhead17
close date 2014-06-05 08:40:39.695133

Comments

Please give us more info, you can run command in debug mode: nova --debug image-list This will show detailed output and you will see which endpoint is using.

Alen Komljen gravatar imageAlen Komljen ( 2013-04-18 16:00:10 -0600 )edit

I have traced the problem to $PYTHONSITEINSTALLEDDIR/nova/api/openstack/wsgi.py (line 932) and found that wsgi raised the exception of {"badRequest": {"message": "Malformed request url", "code": 400}} due to context.projectid != projectid. When I printed the values of these variable, context.projectid is the auth tokenid (4a823a9aa7f249f1ae37b50afcc0d984)that was returned from keystone while the projectid is actually the tenant_id of openstackDemo(id=93d99faec60246899e1f4ae20b00c504)

But I run the the command "keystone token-get" successfully, which mean the userid=admin and adminpassword=xxxxx must be authenticated successfully with keystone. What is going on?

Can someone help?

khoivu gravatar imagekhoivu ( 2013-04-22 15:44:47 -0600 )edit

The problem might be in your keystone endpoints. Other modules use keystone as a "library" of endpoints to reach each other. Could you send us the result of $keystone service-list and #keystone endpoint-list ?

epillet gravatar imageepillet ( 2013-04-23 01:38:59 -0600 )edit

Please see top of the thread for output from nova --debug image-list.

khoivu gravatar imagekhoivu ( 2013-04-23 10:49:45 -0600 )edit

Please see the output of nova --debug image-list on top.

tracing the file nova/api/openstack/wsgi.py leads me to the method call getbody. Since there is no content-type in the request, the function getbody returns empty content.

How does wsgi server intercept the request http://10.0.0.2:8774/v2/93d99faec60246899e1f4ae20b00c504/images/detail and route the request to the right service?

khoivu gravatar imagekhoivu ( 2013-04-23 11:44:27 -0600 )edit

3 answers

Sort by ยป oldest newest most voted
5

answered 2013-04-24 14:53:18 -0600

khoivu gravatar image

updated 2014-01-27 17:50:01 -0600

smaffulli gravatar image

I finally found the problem (see the bug #915151). I missed the following line in /etc/nova/nova.conf on my os compute node (server)

auth_strategy=keystone.

The tenant openstackDemo (id=93d99faec60246899e1f4ae20b00c504) was not authenticated against keystone in the subsequent request even though in the very first request it was authenticated (the auth token was returned). the nova/api/openstack/wsgi.py just raises the Malformed URL exception. This is so ugly misleading error. The Nova wsgi server would rather raise an exception of unauthorized exception instead. There is no malformed url.

edit flag offensive delete link more

Comments

how can i see the full message????????

levitoh gravatar imagelevitoh ( 2014-01-21 10:21:57 -0600 )edit

I need help, this website doesn't work properly

levitoh gravatar imagelevitoh ( 2014-01-21 10:24:25 -0600 )edit

I only se this thingI finally found the problem (see the bug #915151). I missed the following line in /etc/nova/nova.conf on my os compute n ... and there's no option to make see it full

levitoh gravatar imagelevitoh ( 2014-01-21 10:24:49 -0600 )edit

somebody help me how to see the full message please this is stupid

levitoh gravatar imagelevitoh ( 2014-01-21 10:25:55 -0600 )edit
1

@levitoh your question is very long, the site hides the last part behind a 'more' link.

smaffulli gravatar imagesmaffulli ( 2014-01-27 17:49:36 -0600 )edit
1

answered 2014-01-03 09:52:07 -0600

peetaur gravatar image

I may have had this problem. My error looked like this:

root@controller:~# nova volume-list --all-tenants
Could not find any suitable endpoint. Correct region?
ERROR:

And then I just continued the guide (which never mentioned volume-list... I was just guessing commands to cause the error) and after I installed cinder (which is the thing responsible for volumes), it would instead just give me blank output and return 0. I hope that helps someone out there.

edit flag offensive delete link more
1

answered 2013-04-19 08:57:56 -0600

epillet gravatar image

updated 2013-04-21 20:52:28 -0600

smaffulli gravatar image

Did you set up the endpoints on keystone ? I think that you need (at least in grizzly) to set up the services and endpoints in keystone for nova to be able to reach them.

What do you get from :

#keystone service-list

and

#keystone endpoint-list

Did you set up your credentials for nova like described here.

More details on the documentation.

edit flag offensive delete link more

Comments

yes, I followed the installation for Folsom step by step. Keystone and glance installations were verified. There may be a misstep in my installation.

khoivu gravatar imagekhoivu ( 2013-04-23 11:47:03 -0600 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

Stats

Asked: 2013-04-17 14:26:26 -0600

Seen: 6,945 times

Last updated: Jan 27 '14