Enabling too many environments from the UI breaks Mistral
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
Critical
|
Julie Pichon |
Bug Description
I'm using the UI to configure a deployment.
Steps to reproduce:
-------------------
1. Select a bunch of environments. I tried with 4 in this case: network isolation v6, storage environment, storage environment in order to deploy Ceph, enable tls, tls endpoints public IPs. I have 1 Controller, 1 Compute, 1 Ceph Node assigned.
Problem description:
-------
After saving the new environments, it becomes impossible to use the UI to configure any parameters:
- If I click on Parameters in "Edit Configuration", I get the message "There are currently no parameters to configure in this section"
From the browser console:
action @ 13:48:38.418 FETCH_PARAMETER
reqwest.js:240 POST http://
logger.js:66 action @ 13:48:49.833 FETCH_PARAMETER
logger.js:58 Error in ParametersActio
XMLHttpRequest {readyState: 4, timeout: 0, withCredentials: false, upload: XMLHttpRequestU
- If I click on any edit "Pencil" button for any card, all 3 tabs - Parameters, Services, Network Configuration - shows the same "no parameters" error message.
- If I click on "Edit Configuration" and wait for the "Overall settings to load", the window closes on its own with the message "{"debuginfo": null, "faultcode": "Server", "faultstring": "__init__() takes exactly 4 arguments (2 given)"}"
Mistral logs
------------
This error appears to be coming from Mistral directly.
Looking at the api.log:
2016-11-10 13:51:57.757 11167 INFO mistral.
2016-11-10 13:52:03.057 11167 INFO mistral.
2016-11-10 13:52:07.666 11167 ERROR wsme.api [-] Server-side error: "__init__() takes exactly 4 arguments (2 given)". Detail:
Traceback (most recent call last):
File "/usr/lib/
result = f(self, *args, **kwargs)
File "/usr/lib/
**params
File "/usr/lib/
raise exc_cls(e.value)
TypeError: __init__() takes exactly 4 arguments (2 given)
That one looks like a bug on the Mistral side?
The engine logs show the following:
2016-11-10 13:52:07.657 11554 ERROR mistral.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
2016-11-10 13:52:07.659 11554 ERROR oslo_messaging.
It looks like we may need to adjust the Mistral configuration on the undercloud.
Additional information:
-------
$ mistral environment-get test
+------
| Field | Value |
+------
| Name | test |
| Description | <none> |
| Variables | { |
| | "passwords": { |
(snip)
|
| | "parameter_
| | "CloudDomain": "", |
| | "CephStorageCount": "1" |
| | }, |
| | "template": "overcloud.yaml", |
| | "environments": [ |
| | { |
| | "path": "overcloud-
| | }, |
| | { |
| | "path": "environments/
| | }, |
| | { |
| | "path": "environments/
| | }, |
| | { |
| | "path": "environments/
| | }, |
| | { |
| | "path": "environments/
| | } |
| | ] |
| | } |
| Scope | private |
| Created at | 2016-11-02 11:39:53 |
| Updated at | 2016-11-10 13:43:13 |
This reproduced on both a Newton and Ocata environment.
description: | updated |
Changed in tripleo: | |
assignee: | nobody → Julie Pichon (jpichon) |
status: | Triaged → In Progress |
I hit that error when one of the TLS endpoint environments (dns name or ip address) was selected. When I didn't use these two (by unchecking in "Overall settings" in the UI), the parameters could be fetched without problems.