horizon django workflow forms do not work when heat template generator panel is enabled

Bug #1755140 reported by Jaewook Oh on 2018-03-12
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
High
Unassigned
heat-dashboard
Fix Released
Critical
Unassigned

Bug Description

Dashboard shows panels everything.

Please looking at the attachment image.

For example, Create Network panel shows

'Network' 'Subnet' 'Subnet Details'

But every menus are in Network tab, and when I click the 'Subnet' or 'Subnet Details', nothing happen.

And also when I click the dropdown menu such as 'Select a project', it shows the projects, but I cannot not select it. Even though I clicked it, it still shows 'Select a project'.

The OpenStack version is 3.14.0 and Queens release.
I installed it with devstack master version.

What I suspect is 'heat-dashboard'.
Before I add 'enable plugin ~~ heat-dashboard', it didn't happened.
But after adding it, this error happened.

Jaewook Oh (jwoh) wrote :
description: updated
Jaewook Oh (jwoh) on 2018-03-12
summary: - dashboard displays panels something wierd
+ dashboard displays panels something weird

heat-dashboard was added as an affected project because the bug report says this happens only when heat-dashboard is enabled.

Akihiro Motoki (amotoki) on 2018-03-12
summary: - dashboard displays panels something weird
+ horizon workflow forms are not displayed as modal when heat template
+ generator panel is enabled

This bug happens when heat-dashboard is enabled.
I confirmed this issue does not happen when I disabled _1650_project_template_generator_panel.py (template generator panel).
From this observation, the heat template generator panel prevents horizon django workflow forms from being shown as modal.

I confirmed this at least in the following workflow forms. Perhaps it happens in all Django workflow forms.
- Project -> Network -> Create Network
- Project -> Instances -> Launch Instance (Django version)
- Project -> Floating IPs -> Associate IP to Project
- Admin -> Host Aggregates -> Create Host Aggregate
- Admin -> Flavors -> Create Flavor
- Admin -> Floating IPs -> Associate IP to Project

Changed in heat-dashboard:
status: New → Confirmed
importance: Undecided → Critical
Akihiro Motoki (amotoki) wrote :

This is not a horizon bug, but the impact of this bug is important.
Let's keep this open in horizon until the heat-dashboard fixes this.

Changed in horizon:
status: New → Confirmed
importance: Undecided → High
summary: - horizon workflow forms are not displayed as modal when heat template
- generator panel is enabled
+ horizon django workflow forms do not work when heat template generator
+ panel is enabled
Akihiro Motoki (amotoki) wrote :

The current workaround is to disable the heat template generator panel (_1650_project_template_generator_panel.py).

Akihiro Motoki (amotoki) wrote :

the heat template generator panel also breask horizon swift container panel. When it is enabled, I cannot see the actual content of the container panel (what I can see is only the title "Containers").

Jaewook Oh (jwoh) wrote :

it also breaks horizon image panel. As Akihiro mentioned, I cannot see the actual content of the image panel!

Akihiro Motoki (amotoki) wrote :

I might have identified the root cause.

It seems that this happens when the heat template generator enabled file before changing CSS to SCSS (perhaps) is used and the heat-dashboard code is the latest master commit.

When I updated _1650_project_template_generator_panel.py to the latest version (from heat-dashboard commit 2cc00e8e40d5bc8536c9dff3ebe32424f3f5d96a) and reload the dashboard, Django workflow forms I mentioned in comment #3 started to work correctly. The containers panel also started to work correctly (bug 1755308).

According to this, it seems that 'enabled' file MUST be updated when upgrading from queens to rocky, so this must be documented in the release notes. Otherwise operators and packagers cannot find the root cause easily.
In addition, this means if you plan to backport the enabled file change to stable/queens the backport should be verified very carefully. (perhaps you cannot backport it to the stable/queens branch even if the queens release has a problem on embedded vendor files.)

Akihiro Motoki (amotoki) wrote :

> The OpenStack version is 3.14.0 and Queens release.
> I installed it with devstack master version.

I think this happens only in the master version (rocky).
Do you see this problem in Queens horizon and heat-dashboard too?

Jaewook Oh (jwoh) wrote :

Sorry for my mistake,
I reused the other thing, except the horizon, heat-dashboard, tacker, tacker-horizon, and requirements.
(Before I run ./stack.sh, I deleted the above 5 project’s directories. So they are master version.)

Unfortunately, I’m not sure the error would happen in Queens horizon, I did not installed heat-dashboard at that time.

Changed in heat-dashboard:
status: Confirmed → Fix Released
status: Fix Released → Confirmed
Jaewook Oh (jwoh) wrote :

> > The OpenStack version is 3.14.0 and Queens release.
> > I installed it with devstack master version.

> I think this happens only in the master version (rocky).
> Do you see this problem in Queens horizon and heat-dashboard too?

According to @Xinni Ge 's mail,

"I tried to reproduce it in my devstack by installing stable/queens Horiozn/Heat-dashboard, but couldn't see the same error."

it seems that this problem is only in the master version.

xinni (xinni-ge) wrote :

Looks like there is some angular module of heat-dashboard not being loaded correctly.
To bypass the issue temporarily by removing heat-dashboard and restarting horizon , the following steps maybe helpful.

1. remove heat-dashboard related settings
rm horizon/openstack_dashboard/local/enabled/_16*
rm horizon/openstack_dashboard/local/local_settings.d/_1699_orchestration_settings.py*
rm horizon/openstack_dashboard/conf/heat_policy.json

2. let horizon re-collect static files, and compress them in horizon folder
python manage.py collectstatic --clear
python manage.py compress

3. restart apache server
sudo service apache2 restart

Kaz Shinohara (kazsh) wrote :

> amotoki
Made a patch for the releasenote, just in case, please review https://review.openstack.org/#/c/552268/

Kaz Shinohara (kazsh) wrote :

The patch for adding release note has been merged to heat-dashboard repo, should we close this bug if you don't have any other concern ?

Akihiro Motoki (amotoki) wrote :

Let's close it.

Changed in horizon:
status: Confirmed → Invalid
Changed in heat-dashboard:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers