Ask Your Question
0

Malformed endpoint URL [closed]

asked 2013-11-01 02:13:18 -0500

Anonymous Chief gravatar image

Hello All,

Operating System: Ubuntu Server 12.04.

I have blundered while defining the Nova endpoint urls, I entered the following (I have replaced my service id with the letter x:

keystone endpoint-create
--service-id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
--publicurl=http://192.168.1.204:8774/v2/%\{tenant_id\)s
--internalurl=http://192.168.1.204:8774/v2/%\{tenant_id\)s
--adminurl=http://192.168.1.204:8774/v2/%\{tenant_id\)s

You will notice that I accidentally used the { instead of the (

May I please know how to purge the messed up urls so I can start over?

Here is some Nova debug info:

nova --debug image-list

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

INFO (connectionpool:202) Starting new HTTP connection (1): 192.168.1.204
DEBUG (connectionpool:296) "POST /v2.0/tokens HTTP/1.1" 500 168
RESP: [500] CaseInsensitiveDict({'date': 'Fri, 01 Nov 2013 07:07:17 GMT', 'vary': 'X-Auth-Token', 'content-length': '168', 'content-type': 'application/json'})
RESP BODY: {"error": {"message": "Malformed endpoint URL (http://192.168.1.204:8774/v2/%{tenant_id)s), see ERROR log for details.", "code": 500, "title": "Internal Server Error"}}

DEBUG (shell:740) Malformed endpoint URL (http://192.168.1.204:8774/v2/%{tenant_id)s), see ERROR log for details. (HTTP 500)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 737, in main
    OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 667, in main
    self.cs.authenticate()
  File "/usr/lib/python2.7/dist-packages/novaclient/v1_1/client.py", line 171, in authenticate
    self.client.authenticate()
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 329, in authenticate
    auth_url = self._v2_auth(auth_url)
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 411, in _v2_auth
    return self._authenticate(url, body)
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 423, in _authenticate
    **kwargs)
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 195, in _time_request
    resp, body = self.request(url, method, **kwargs)
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 189, in request
    raise exceptions.from_response(resp, body, url, method)
ClientException: Malformed endpoint URL (http://192.168.1.204:8774/v2/%{tenant_id)s), see ERROR log for details. (HTTP 500)
ERROR: Malformed endpoint URL (http://192.168.1.204:8774/v2/%{tenant_id)s), see ERROR log for details. (HTTP 500)

Thank you, AC.

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by dheeru
close date 2013-11-24 08:00:19.651628

Comments

While waiting for a solution to my issue, I spinned up another VM and built it using the same instructions, when I got to the part that caused my troubles, I made sure to prevent another typo. All is well. I have just installed the dashboard. You can go ahead and close this thread.

Anonymous Chief gravatar imageAnonymous Chief ( 2013-11-01 19:05:51 -0500 )edit

3 answers

Sort by » oldest newest most voted
3

answered 2013-11-14 04:48:31 -0500

dheeru gravatar image

updated 2013-11-14 05:13:47 -0500

That is good news. In your command you are trying to delete 'keystone endpoint-delete'. Instead of this you can delete the service itself i.e keystone service-delete <service-id>. Use the service id same as the one you used for creating the endpoint. if not you can try the following directly with db itself. 1. mysql -u root -p 2. enter the sql password now 3. use keystone; 4. select * from endpoint; 5. You will see the list entries. 6. select * from endpoint where legacy_endpoint_id="cf60484bb4a748e1a31550c8343b86f0"; 7. delete from endpoint where legacy_endpoint_id="cf60484bb4a748e1a31550c8343b86f0"; Above legacy_endpoint_id is same as id shown when you run the keystone endpoint-list command. You can restart the 'service keystone restart' If this does not work do let me know. Post this you can restart your keystone If this also does not work I will figure out the SQL query to delete this endpoint.

edit flag offensive delete link more

Comments

Otherwise, access the database and update the wrong row with the correct value

dnascimento gravatar imagednascimento ( 2013-12-29 18:36:05 -0500 )edit

It's absolutely workable and a little exciting to handle it from database. Thank you for your good guide.

sunzen gravatar imagesunzen ( 2014-02-13 01:31:03 -0500 )edit

Thank you for you post! The work-around with DB saved me a lot of time! Let me share my experience because it may me useful for others...

I followed the link below in order to install heat on my openstack environment:

http://docs.openstack.org/havana/install-guide/install/yum/content/heat-install.html (link text)

Theoretically everything went fine, but after all the above steps, nothing was working as far as keystone is concerned e.g.

[root@controller ~(keystone_admin)]# keystone tenant-list Authorization Failed: Malformed endpoint URL ( http://10.88.96.114:8004/v1/%25(c57c451f464e46218e096309a0fddfe6)s (http://10.88.96.114:8004/v1/%(c57c451...) ), see ERROR log for details. (HTTP 500)

[root@controller ~(keystone_admin)]# keystone endpoint-list Authorization Failed: Malformed endpoint URL ( http://10.88.96.114:8004/v1/%25(c57c451f464e46218e096309a0fddfe6)s (http://10.88.96.114:8004/v1/%(c57c451...) ), see ERROR log for details. (HTTP 500)

[root@controller ~(keystone_admin)]# glance image-list ...(more)

Tolis gravatar imageTolis ( 2014-05-20 11:09:34 -0500 )edit
1

answered 2013-11-02 12:27:51 -0500

dheeru gravatar image

Hi Did you set all the necessary tokens, username, password , tenant ids as environment variables before running this command ?

edit flag offensive delete link more
0

answered 2013-11-01 04:14:33 -0500

Why don't you delete it and recreate?

# keystone endpoint-delete
usage: keystone endpoint-delete <endpoint-id>
edit flag offensive delete link more

Comments

When I do that, I get the following:
keystone endpoint-delete xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Authorization Failed: Malformed endpoint URL (http://192.168.1.204:8774/v2/%25%7Btenant_id)s) (http://192.168.1.204:8774/v2/%{tenant_id)s)), see ERROR log for details. (HTTP 500)

Anonymous Chief gravatar imageAnonymous Chief ( 2013-11-01 13:37:23 -0500 )edit

Yes. It also happen to me, when i run any keystone service/endpoint command

sunzen gravatar imagesunzen ( 2014-02-13 01:13:38 -0500 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

2 followers

Stats

Asked: 2013-11-01 02:13:18 -0500

Seen: 1,624 times

Last updated: Nov 14 '13