dc9e4491779c0347f4eb770de03827b967541bf3

It's possible to set and get custom attributes through the API, and it's also possible to use any Unicode strings, not only ASCII range. It works perfectly fine when accessing the API directly using e.g. curl. However, keystoneclient stumbles on the non-ascii keys because it tries to set this as an attribute for the resource class and fails because Python 2.7 does not support non-ascii identifiers: https://docs.python.org/2.7/reference/lexical_analysis.html#identifiers So change the logic to skip setting non-ascii attributes; they are still available in the dict representation. Closes-Bug: #1626403 Change-Id: I267188cdb1d303e3d0fb6bd3229b606f4fe9b2d8
Python bindings to the OpenStack Identity API (Keystone)
This is a client for the OpenStack Identity API, implemented by the
Keystone team; it contains a Python API (the keystoneclient
module) for OpenStack's Identity Service. For command line interface
support, use OpenStackClient.
- PyPi - package installation
- Online Documentation
- Launchpad project - release management
- Blueprints - feature specifications
- Bugs - issue tracking
- Source
- Specs
- How to Contribute
Contents:
Python API
By way of a quick-start:
>>> from keystoneauth1.identity import v3
>>> from keystoneauth1 import session
>>> from keystoneclient.v3 import client
>>> auth = v3.Password(auth_url="http://example.com:5000/v3", username="admin",
... password="password", project_name="admin",
... user_domain_id="default", project_domain_id="default")
>>> sess = session.Session(auth=auth)
>>> keystone = client.Client(session=sess)
>>> keystone.projects.list()
[...]
>>> project = keystone.projects.create(name="test", description="My new Project!", domain="default", enabled=True)
>>> project.delete()
Description
Languages
Python
100%