Invalid JSON in parameters breaks deployments/parameters screen
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| tripleo |
High
|
Florian Fuchs |
Bug Description
It's not always clear that pure JSON must be used for the parameters. If you make a mistake, the deployment will fail but it will become impossible to modify the parameter again.
Steps to reproduce
------------------
1. Pick an option, e.g. CephStorageConfig
2. Enter something wrong, e.g. the way you'd have made the change for a template: ceph::profile:
'/dev/sdc':
journal: '/dev/sdb'
Expected result
---------------
3. Some kind of warning, the wrong value is not saved in the Mistral environment
Actual result
-------------
3. The value is saved.
4. If you try to deploy, it fails with Failed to run action [action_
5. If you reopen the parameters window, it closes quickly on its own before you can modify it, with the following error: Failed to run action [action_ex_id=None, action_cls='<class 'mistral.
summary: |
- Entering invalid JSON for a parameter causes the UI to stop loading the - configuration screen + Invalid JSON in parameters breaks deployments/parameters screen |
Julie Pichon (jpichon) wrote : | #1 |
Julie Pichon (jpichon) wrote : | #2 |
As a workaround for when this happens, you can either update the broken parameter or reset the whole environment using the CLI, and start again.
$ openstack action execution run tripleo.
$ openstack action execution run tripleo.
Julie Pichon (jpichon) wrote : | #3 |
I filed a bug for the tripleo-common side of things at bug 1638598. I set priority as medium because when working from the CLI it's easier to correct the problem, while in the UI you stay stuck or must switch the CLI - but feel free to change the importance if you disagree.
Changed in tripleo: | |
assignee: | nobody → Florian Fuchs (flo-fuchs) |
Fix proposed to branch: master
Review: https:/
Changed in tripleo: | |
status: | Triaged → In Progress |
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: master
commit f7ddb6539685e98
Author: Florian Fuchs <email address hidden>
Date: Fri Nov 4 12:07:58 2016 +0100
Validate JSON parameters
This change adds a global `isJson` validation rule to the App component
and uses it to validate parameter fields with the `json` type.
Change-Id: I7c6826a32af63f
Closes-Bug: #1638523
Changed in tripleo: | |
status: | In Progress → Fix Released |
Fix proposed to branch: stable/newton
Review: https:/
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: stable/newton
commit d5cd27997abf97e
Author: Florian Fuchs <email address hidden>
Date: Fri Nov 4 12:07:58 2016 +0100
Validate JSON parameters
This change adds a global `isJson` validation rule to the App component
and uses it to validate parameter fields with the `json` type.
Change-Id: I7c6826a32af63f
Closes-Bug: #1638523
(cherry picked from commit f7ddb6539685e98
tags: | added: in-stable-newton |
This issue was fixed in the openstack/
This issue was fixed in the openstack/
This issue was fixed in the openstack/
This is what the parameter looks like in the mistral environment, after saving the wrong parameter:
"CephStorageExt raConfig" : "ceph:: profile: :params: :osds:\ n '/dev/sdc':\n journal: '/dev/sdb'\n '/dev/sdd' :\njournal: '/dev/sdb'"