2017-09-20 1 views
0

Vom openstack keystone client management doc:'Unicode' Objekt unterstützt keine Artikel Zuordnung (HTTP 400) (Request-ID: xxx)

I openstack user list verwenden, um die Benutzer in Openstack zu überprüfen, aber die unten Fehlermeldungen erhalten:

'Unicode' Objekt nicht Gegenstand Zuordnung nicht unterstützt (HTTP 400) (Request-ID: req-ccf9d2b6-0801-45fd-9000-7feb3783eedc)

Warum dieses Problem bekommen? es ist komisch.

Bei der Keystone-Datenbank Openstack Cloud MariaDB, ich selected * from user, erhalten die unten Informationen:

image description


EDIT

In meinem Openstack Cloud Host-Maschine /var/log/keystone.log:

...... 
2017-09-20 15:15:24.376 9503 INFO keystone.common.wsgi [req-53ed55d1-125f-4ee7-b548-39c8d4e9c062 - - - - -] GET http://controller:35357/v3/users 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi [req-53ed55d1-125f-4ee7-b548-39c8d4e9c062 - - - - -] 'unicode' object does not support item assignment 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi Traceback (most recent call last): 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 228, in __call__ 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi  result = method(req, **params) 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/controller.py", line 235, in wrapper 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi  return f(self, request, filters, **kwargs) 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/controllers.py", line 231, in list_users 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi  return UserV3.wrap_collection(request.context_dict, refs, hints=hints) 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/controller.py", line 499, in wrap_collection 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi  cls.wrap_member(context, ref) 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/controller.py", line 468, in wrap_member 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi  cls._add_self_referential_link(context, ref) 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/controller.py", line 464, in _add_self_referential_link 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi  ref['links']['self'] = cls.base_url(context) + '/' + ref['id'] 
2017-09-20 15:15:24.416 9503 ERROR keystone.common.wsgi TypeError: 'unicode' object does not support item assignment 

Antwort

0

Endlich finde ich das zusätzliche Datenformat mehrerer Zeilen falsch.

Siehe die zusätzliche Spalte des Benutzers im Snapshot. die Daten wie unten:

{"email": "[email protected]", "links":"http://103.x5.xx.1/user_resource/liaoss07"} 

Aber sollte darauf achten, die links sollte das nicht mögen, so habe ich die extra {} gesetzt Extra, die wie diese abnormal ist.

meine Lösung ist:

UPDATE user SET extra='{}' WHERE id=xxx 

und Sie können die E-Mail in der {} verlassen.

Verwandte Themen