Bug 1497284

Summary: Containerized Horizon Service Is Not Loading Horizon UI Plugins
Product: Red Hat OpenStack Reporter: Dustin Schoenbrun <dschoenb>
Component: openstack-tripleo-heat-templatesAssignee: Emilien Macchi <emacchi>
Status: CLOSED ERRATA QA Contact: Ola Pavlenko <opavlenk>
Severity: urgent Docs Contact:
Priority: high    
Version: 12.0 (Pike)CC: aortega, apannu, athomas, beth.white, jrist, jschluet, mburns, mrunge, mzheng, ohochman, rdopiera, rhel-osp-director-maint, srevivo, tbarron
Target Milestone: rcKeywords: Triaged
Target Release: 12.0 (Pike)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-7.0.3-7.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-13 22:11:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Dustin Schoenbrun 2017-09-29 15:57:28 UTC
Description of problem:
With the containerization of Horizon it appears as though the Horizon service will not load any Horizon plugins. This seems to survive restarts of the Apache service in the Horizon container as well and of the three plugins that are installed in the container none of them are showing up in the UI. I will note that the install I did I only explicitly set up Manila but did notice that the plugin I expected to be there and these others that were installed were not available in Horizon.

Version-Release number of selected component (if applicable):
python-django-horizon-12.0.1-0.20170911125916.5b106ed.el7ost.noarch
openstack-neutron-lbaas-ui-3.0.1-0.20170830231256.55cd42f.el7ost.noarch
openstack-ironic-ui-3.0.2-0.20170826114742.5a382d7.el7ost.noarch
openstack-sahara-ui-7.0.0-0.20170830130630.7394ec6.el7ost.noarch

How reproducible:
Seems to always be reproducible.

Steps to Reproduce:
1. Install OSP-12 and make sure to enable containers on the install.
2. You may have to use the workaround listed in BZ#1492135 to make Horizon accessible.
3. Log in to the Horizon UI and observe that the installed plugins are not visible in the UI.

Actual results:
The installed Horizon plugins are not available in the Horizon UI.

Expected results:
All installed and configured plugins shall be available for use in Horizon.

Additional info:
Right now, it seems like the issue is either Horizon not registering the installed plugins or the plugins not presenting themselves properly to Horizon. I don't know which scenario is happening, though.

Comment 1 Dustin Schoenbrun 2017-09-29 15:58:20 UTC
This also effects the Manila Horizon UI package version listed below:

openstack-manila-ui-2.10.2-0.20170904151215.e2df295.el7ost.noarch

Comment 2 Radomir Dopieralski 2017-10-06 14:46:44 UTC
It seems that the configuration files that are enabling those plugins are missing from the container. There are only symlinks in /etc/opestack-dashboard/enabled leading to non-existing files left. Somehow most of the files from /usr/share/openstack-dashboard/openstack_dashboard/local/enable are missing, though they are listed in the installed RPMs.

Comment 3 Radomir Dopieralski 2017-10-06 15:29:43 UTC
The problem seems to be in kolla:

https://github.com/openstack/kolla/blob/master/docker/horizon/Dockerfile.j2#L42-L43

Comment 4 Radomir Dopieralski 2017-10-16 15:10:49 UTC
The plugin config files are removed with https://github.com/openstack/kolla/blob/master/docker/horizon/Dockerfile.j2#L42-L43 but later on they are added back with https://github.com/openstack/kolla/blob/master/docker/horizon/extend_start.sh

However, it seems that the spec files for RDO RPMs are moving those files somewhere else, so that Kolla can't put them back.

We need to fix the spec files for the plugins.

Comment 5 Radomir Dopieralski 2017-10-25 11:26:16 UTC
The plugins need to be enabled in the heat template, I submitted a patch that does that here: https://review.openstack.org/#/c/514421/

However, some of the plugins are missing config files, as mentioned in comment 4 — those will need to be fixed separately before enabling them.

Comment 6 Tom Barron 2017-10-25 12:42:04 UTC
Which of the plugins are missing config files?

Comment 7 Radomir Dopieralski 2017-10-25 13:37:18 UTC
Further investigation reveals that those plugins are simply not installed in the docker image, hence the files are missing. We only have the following plugins installed:

              - ENABLE_CLOUDKITTY=yes
              - ENABLE_FWAAS=yes
              - ENABLE_IRONIC=yes
              - ENABLE_MAGNUM=yes
              - ENABLE_MANILA=yes
              - ENABLE_MURANO=yes
              - ENABLE_MISTRAL=yes
              - ENABLE_NEUTRON_LBAAS=yes
              - ENABLE_SAHARA=yes
              - ENABLE_TROVE=yes

And the following are not installed:

              - ENABLE_FREEZER=no
              - ENABLE_KARBOR=no
              - ENABLE_DESIGNATE=no
              - ENABLE_SEARCHLIGHT=no
              - ENABLE_SENLIN=no
              - ENABLE_SOLUM=no
              - ENABLE_TACKER=no
              - ENABLE_WATCHER=no
              - ENABLE_ZAQAR=no
              - ENABLE_ZUN=no

Comment 14 errata-xmlrpc 2017-12-13 22:11:53 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2017:3462