Я нуб из OpenStack.
Я пытаюсь использовать REST API
для автоматизации моей openstack
работы. Я могу успешно аутентифицировать свою учетную запись и получить токен от curl
с помощью следующей команды:
export AUTH_URL="https://my_url:5000/v2.0/tokens"
curl -v -X POST $AUTH_URL -d '{"auth":{"passwordCredentials":{"username": "myusername", "password":"myuser_password"}, "tenantId":"my_tenant_id"}}' -H 'Content-type: application/json' | python -m json.tool
Но, когда я пытаюсь использовать Pyton
, с этим кодом, я получаю эту ошибку :
Traceback (most recent call last):
File "./test.py", line 10, in <module>
keystone = ksclient.Client(auth_url=auth_url, username=user_name, password=user_pwd, tenant_name=tenant_name)
File "/usr/lib/python2.7/site-packages/keystoneclient/v2_0/client.py", line 176, in __init__
self.authenticate()
File "/usr/lib/python2.7/site-packages/positional/__init__.py", line 101, in inner
return wrapped(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/keystoneclient/httpclient.py", line 581, in authenticate
resp = self.get_raw_token_from_identity_service(**kwargs)
File "/usr/lib/python2.7/site-packages/keystoneclient/v2_0/client.py", line 220, in get_raw_token_from_identity_service
_("Authorization Failed: %s") % e)
keystoneauth1.exceptions.auth.AuthorizationFailure: Authorization Failed: The resource could not be found. (HTTP 404) (Request-ID:
Мой код Python ниже:
#!/usr/bin/env python
import keystoneclient.v2_0.client as ksclient
auth_url = "https://my_url:5000/v2.0/tokens"
user_name = "myusername"
user_pwd = "myuser_password"
tenant_name = "my_tenant_id"
keystone = ksclient.Client(auth_url=auth_url, username=user_name, password=user_pwd, tenant_name=tenant_name)
print keystone.auth_token
Не могли бы вы взглянуть на мой код и понять, почему код Python не работает?
Спасибо!