Recreate the problem steps:
1. Install OSEE using install scripts.
2. Create a new user for keystone:
2.1 Running "help" to get the parameter list:
[root@localhost init.d]# keystone help user-create
usage: keystone user-create --name <user-name> [--tenant <tenant>]
[--pass <pass>] [--email <email>]
[--enabled <true|false>]
From the result, the "user-name" is mandatory, others are optional.
2.2 But when only setting username in command, it prompts below error:
[root@localhost init.d]# keystone user-create --name test1
KS-B7349D8 Expecting to find string in password. The server could not comply with the request since it is either malformed or otherwise incorrect. The client is assumed to be in error. (HTTP 400)
So I must also set password at the same time.
[root@localhost init.d]# keystone user-create --name test1 --pass passw0rd
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | |
| enabled | True |
| id | 23c5ca72fdb54e3a89d19261fd5ac669 |
| name | test1 |
+----------+----------------------------------+
These are actually two very different issues. I reduced the scope of this issue and filed the second bug against keystoneclient: see bug 1246335.
In this bug, the server shouldn't be expecting a password on user-create (in v2 or v3). Not all deployments use passwords for authentication.