Launching Heat Stack from Horizon: Expecting to find username or userId in passwordCredentials
Hi There
I am able to launch stacks from the command line without problem but when I try from Horizon I get:
Error: ERROR: Property error : devserver: flavor Expecting to find username or userId in passwordCredentials - 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)
Using Wireshark the transaction between Horizon and Heat I see
POST /v1/2770e727a29a416db1aa34a483d809bb/stacks HTTP/1.1
Host: heat.domain004
Content-Length: 219
Accept-Encoding: gzip, deflate
X-Auth-User: admin
X-Auth-Token: f79c994183ae49fab0db0274e972d249
Connection: keep-alive
X-Auth-Key: dsa
Accept: application/json
User-Agent: python-heatclient
Content-Type: application/json
{"stack_name": "dsadsadas", "disable_rollback": true, "template_url": "http://10.3.61.2/heat/devbox/devbox.yaml", "parameters": {"db_copy_string": "none", "git-repo": "none", "git-branch": "Master"}, "timeout_mins": 60}
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=UTF-8
Content-Length: 1408
X-Openstack-Request-Id: req-99b9fb6d-184b-4641-ad25-3fef251ec938
Date: Sun, 28 Jun 2015 12:50:10 GMT
Connection: keep-alive
{"explanation": "The server could not comply with the request since it is either malformed or otherwise incorrect.", "code": 400, "error": {"message": "Property error : devserver: flavor Expecting to find username or userId in passwordCredentials - 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)", "traceback": "Traceback (most recent call last):\n\n File \"/usr/lib/python2.7/dist-packages/heat/common/context.py\", line 300, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File \"/usr/lib/python2.7/dist-packages/heat/engine/service.py\", line 669, in create_stack\n parent_resource_name)\n\n File \"/usr/lib/python2.7/dist-packages/heat/engine/service.py\", line 577, in _parse_template_and_validate_stack\n stack.validate()\n\n File \"/usr/lib/python2.7/dist-packages/osprofiler/profiler.py\", line 105, in wrapper\n return f(*args, **kwargs)\n\n File \"/usr/lib/python2.7/dist-packages/heat/engine/stack.py\", line 613, in validate\n raise ex\n\nStackValidationFailed: Property error : devserver: flavor Expecting to find username or userId in passwordCredentials - 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)\n", "type": "StackValidationFailed"}, "title": "Bad Request"}
Using Wireshark the transaction between heat and keystone I see
POST /v2.0/tokens HTTP/1.1
Host: keystone.domain:5000
Content-Length: 94
Accept-Encoding: gzip, deflate
Accept: application/json
User-Agent: python-novaclient
Connection: keep-alive
Content-Type: application/json
{"auth": {"tenantName": "admin", "passwordCredentials": {"username": null, "password": null}}}
HTTP/1.1 400 Bad Request
Date: Sun, 28 Jun 2015 12:37:09 GMT
Server: Apache/2.4.10 (Debian)
Vary: X-Auth-Token
x-openstack-request-id: req-e1fb4585-740c-429b-a8e3-32e30e326302
Content-Length: 260
Connection: close
Content-Type: application/json
{"error": {"message": "Expecting to find username or userId in passwordCredentials - the server could not comply with the request since it is either malformed or otherwise incorrect. The client is assumed to be in error.", "code": 400, "title": "Bad Request"}}
So I can see what what it is on about, the passwordCredentials are not passed from Horizon to Heat and null values are ...