When I use keystone client user-role-add command, it always cause error: MemcachedStringEncodingError: Keys must be str()'s, not unicode. Convert your unicode strings using mystring.encode(charset)!
Command: keystone --token=ADMIN --endpoint=http://127.0.0.1:35357/v2.0 user-role-add --user_id {user ID} --role_id {role ID} --tenant_id {tenant ID}
I think it a bug.
Here is a patch. in https://github.com/openstack/keystone/blob/master/keystone/token/backends/memcache.py def list_tokens(self, user_id): tokens = [] user_record = self.client.get('usertokens-%s' % user_id) or "" ^^^^^^^ change to user_record = self.client.get('usertokens-%s' % user_id.encode('utf-8')) or ""
When I use keystone client user-role-add command, it always cause error: EncodingError: Keys must be str()'s, not unicode. Convert your unicode strings using mystring. encode( charset) !
MemcachedString
Command: 127.0.0. 1:35357/ v2.0 user-role-add --user_id {user ID} --role_id {role ID} --tenant_id {tenant ID}
keystone --token=ADMIN --endpoint=http://
I think it a bug.
Here is a patch. /github. com/openstack/ keystone/ blob/master/ keystone/ token/backends/ memcache. py get('usertokens -%s' % user_id) or ""
^ ^^^^^^ get('usertokens -%s' % user_id. encode( 'utf-8' )) or ""
in https:/
def list_tokens(self, user_id):
tokens = []
user_record = self.client.
change to
user_record = self.client.