Bug 1005403 - Make redhat-access-plugin-openstack an install requirement
Summary: Make redhat-access-plugin-openstack an install requirement
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-django-horizon
Version: 3.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: z3
: 3.0
Assignee: RHOS Maint
QA Contact: Keith Robertson
URL:
Whiteboard:
Depends On:
Blocks: 1005907 1006387 1019871
TreeView+ depends on / blocked
 
Reported: 2013-09-06 20:13 UTC by Keith Robertson
Modified: 2016-07-04 01:36 UTC (History)
12 users (show)

Fixed In Version: python-django-horizon-2013.1.3-3.el6ost
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1019871 (view as bug list)
Environment:
Last Closed: 2013-11-18 15:13:57 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1510 0 normal SHIPPED_LIVE Red Hat OpenStack 3.0 bug fix and enhancement advisory 2013-11-18 20:11:18 UTC

Description Keith Robertson 2013-09-06 20:13:44 UTC
Description of problem:
The Red Hat Access Plug-in for OpenStack is a low-impact plug-in which enables in-product subscriber services.  This BZ is requesting that the following line[1] be added to the openstack-dashboard*.rpm's specfile.


[1] Requires: redhat-access-plugin-openstack

Comment 1 Matthias Runge 2013-09-09 09:04:35 UTC
That would make a perfect dependency loop.

Also: it wouldn't be possible to remove the redhat-access-plugin-openstack (for those getting confused by it or won't show it to their customers).

You should ask packstack guys to install it alongside openstack-dashboard
(or even instead of openstack-dashboard), because redhat-access-plugin-openstack should depend on openstack-dashboard itself.

I'd ask to install it additionally.

Comment 2 Perry Myers 2013-09-09 12:40:12 UTC
@mrunge, if anything it should be a puppet dependency not a Packstack dep because not everyone will be using Packstack.

Comment 3 Keith Robertson 2013-09-09 13:05:22 UTC
(In reply to Matthias Runge from comment #1)
> That would make a perfect dependency loop.
> 
> Also: it wouldn't be possible to remove the redhat-access-plugin-openstack
> (for those getting confused by it or won't show it to their customers).
> 
The goal is that Red Hat subscribers get the plug-in by default (hence 'Requires').  In short, there should not be a situation where the plug-in is not installed.

This is the path we are taking for other products and I am not sure why RHOS constitutes a different experience.  

> You should ask packstack guys to install it alongside openstack-dashboard
> (or even instead of openstack-dashboard), because
> redhat-access-plugin-openstack should depend on openstack-dashboard itself.
> 
> I'd ask to install it additionally.
See above.

Comment 4 Perry Myers 2013-09-09 13:56:09 UTC
@mrunge, I don't think there is a dependency loop.  The redhat-access-plugin-openstack has:

BuildRequires: python2-devel
BuildRequires: python-setuptools
Requires: python
Requires: python-lxml
Requires: python-dateutil

So there is no dependency of the plugin on python-django-horizon.

So it should be fine for python-django-horizon to Requires: redhat-access-plugin-openstack, correct?

Comment 5 Matthias Runge 2013-09-09 14:47:31 UTC
(In reply to Perry Myers from comment #4)
> @mrunge, I don't think there is a dependency loop.  The
> redhat-access-plugin-openstack has:
> 
> BuildRequires: python2-devel
> BuildRequires: python-setuptools
> Requires: python
> Requires: python-lxml
> Requires: python-dateutil
> 
> So there is no dependency of the plugin on python-django-horizon.
> 
> So it should be fine for python-django-horizon to Requires:
> redhat-access-plugin-openstack, correct?

OK, that'll be a mistake, because redhat-access-plugin-openstack depends on openstack-dashboard. 

from https://code.engineering.redhat.com/gerrit/gitweb?p=redhat-access-plugin-openstack.git;a=blob;f=src/redhat_access_plugin_openstack/log/views.py;h=c85d46a2343da37dfdf76c218819a7161cc6e480;hb=HEAD:

from horizon import exceptions
   4 from horizon import tables
   5 from horizon import views
   6 
   7 from openstack_dashboard import api
   8 from openstack_dashboard.dashboards.project.instances.tables \
   9     import InstancesTable
  10 from openstack_dashboard.dashboards.project.instances.views \
  11     import IndexView as InstanceView
  12 from openstack_dashboard.dashboards.project.instances.tables \
  13     import LogLink

it looks like it must require the openstack-dashboard, and also python-django-horizon.

When this dependency is missing (from rpm), it's installable without having Horizon, but just won't work. So, adding redhat-access-plugin-openstack as dependency to openstack-dashboard feels plainly simply to me.

Comment 6 Keith Robertson 2013-09-09 16:11:35 UTC
(In reply to Matthias Runge from comment #5)
> (In reply to Perry Myers from comment #4)
> > @mrunge, I don't think there is a dependency loop.  The
> > redhat-access-plugin-openstack has:
> > 
> > BuildRequires: python2-devel
> > BuildRequires: python-setuptools
> > Requires: python
> > Requires: python-lxml
> > Requires: python-dateutil
> > 
> > So there is no dependency of the plugin on python-django-horizon.
> > 
> > So it should be fine for python-django-horizon to Requires:
> > redhat-access-plugin-openstack, correct?
> 
> OK, that'll be a mistake, because redhat-access-plugin-openstack depends on
> openstack-dashboard. 
> 

At the time we packaged our RPM we did not add a formal requirement[1] for openstack-dashboard*.rpm because:
 a) We wanted the ability to easily test with upstream.
 b) The probability that anyone would install the plug-in without openstack-dashboard*.rpm is low since it is delivered only via the OpenStack channel.

In any case, I have corrected this situation by creating BZ1005907 and blocking it on this BZ.  As such, openstack-dashboard and redhat-access-plugin-openstack will have a symbiotic relationship when these BZs are closed. 

[1] Requires: openstack-dashboard

> 
> When this dependency is missing (from rpm), it's installable without having
> Horizon, but just won't work. So, adding redhat-access-plugin-openstack as
> dependency to openstack-dashboard feels plainly simply to me.


I have created BZ1005907 to address this case and blocked it on this BZ.

Comment 7 Dan Varga 2013-09-11 16:30:11 UTC
Accidentally updated wrong bug.

Comment 14 errata-xmlrpc 2013-11-18 15:13:57 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.

http://rhn.redhat.com/errata/RHBA-2013-1510.html


Note You need to log in before you can comment on or make changes to this bug.