Bug 1285502

Summary: Puppet modules missing dependencies
Product: Red Hat OpenStack Reporter: Lars Kellogg-Stedman <lars>
Component: openstack-packstackAssignee: Ivan Chavero <ichavero>
Status: CLOSED ERRATA QA Contact: Omri Hochman <ohochman>
Severity: unspecified Docs Contact:
Priority: high    
Version: 6.0 (Juno)CC: achernet, aortega, gchamoul, lbezdick, mmagr, sbaker, yeylon
Target Milestone: gaKeywords: TestOnly, ZStream
Target Release: 8.0 (Liberty)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-packstack-7.0.0-0.11.dev1692.g1b5e83b.el7ost Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-15 13:46:22 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:
Embargoed:

Description Lars Kellogg-Stedman 2015-11-25 19:15:34 UTC
Starting from a minimal RHEL 7 install I ran into some missing dependencies.  Packstack requires:

- iproute (for the "ip" command)
- libselinux-utils (for the "restorecon" command)
- initscripts (for /etc/sysctl.conf)

While these will typically already be available, it seems best to make the dependencies explicit.

This was in a RHEL-OSP 6 environment, but I imagine the same issues will crop up in later versions.

Comment 2 Martin Magr 2015-12-04 11:16:40 UTC
Those should actually be requires of OPM, that way they will be installed on all deployed nodes and not only by Packstack, but also using other OPM based installers.

Comment 3 Lukas Bezdicka 2016-01-07 15:17:35 UTC
OPM provides only the puppet modules, it should not install any deps as the modules can be copied around and so on. This is issue of a) modules or b) puppet/facter packages.

iproute sounds like dependancy for facter package
libselinux-utils sounds like puppet package dependancy
initscripts should be installed by sysctl puppet module

Comment 4 Lars Kellogg-Stedman 2016-01-07 15:48:03 UTC
"iproute" is absolutely a dependency of packstack; e.g., packstack/plugins/nova_300.py explicitly calls the "ip addr" command.  If the package expects this command to be available, it should be listed as a Requires: by package name or by binary path in the spec file.

Similarly, packstack explicitly calls "restorecon" in packstack/plugins/prescript_000.py, so it does in fact require libselinux-utils.

Comment 5 Lukas Bezdicka 2016-01-07 16:26:25 UTC
well than it's obviosly bug for packstack and not openstack puppet modules

Comment 6 Lars Kellogg-Stedman 2016-01-07 16:42:47 UTC
Well yes, that's why this was originally opened against packstack :)

Comment 7 Ivan Chavero 2016-01-13 06:56:24 UTC
will add this dependencies into the next packstack package

Comment 12 Steve Baker 2016-04-06 23:42:34 UTC
Tested with openstack-packstack 7.0.0-0.14.dev1702.g490e674.el7ost

I see all required dependencies in the following command:

$ rpm -qR openstack-packstack
/usr/bin/python
PyYAML
initscripts
iproute
libselinux-utils
openssh-clients
openstack-packstack-puppet = 1:7.0.0-0.14.dev1702.g490e674.el7ost
openstack-puppet-modules >= 2014.2.10
pyOpenSSL
python(abi) = 2.7
python-docutils
python-netaddr
python-setuptools
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

Comment 14 errata-xmlrpc 2016-04-15 13:46:22 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://rhn.redhat.com/errata/RHBA-2016-0636.html