Bug 1378691

Summary: Missing dependency in openstack-swift pkgs
Product: Red Hat OpenStack Reporter: Christian Schwede (cschwede) <cschwede>
Component: openstack-swiftAssignee: Pete Zaitcev <zaitcev>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Abrams <mabrams>
Severity: low Docs Contact:
Priority: low    
Version: 9.0 (Mitaka)CC: derekh, mabrams, pgrist, srevivo, thiago, zaitcev
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: 9.0 (Mitaka)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-01-11 22:02:06 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 Christian Schwede (cschwede) 2016-09-23 06:15:34 UTC
Description of problem:

The pkg "python-six" is not installed when installing Swift without the proxy package (for example, on a storage-only node). Even when installing the proxy pkg, "python-six" is only installed due to the dependency to python-keystoneclient.

Version-Release number of selected component (if applicable):

9. Likely that this is also the case in earlier versions that make use of six.

How reproducible:

Always

Steps to Reproduce:
1. yum install openstack-swift
2. Execute "swift-ring-builder"

Actual results:

[vagrant@swiftproxy ~]$ swift-ring-builder
Traceback (most recent call last):
  File "/usr/bin/swift-ring-builder", line 20, in <module>
    from swift.cli.ringbuilder import main
  File "/usr/lib/python2.7/site-packages/swift/cli/ringbuilder.py", line 31, in <module>
    from six.moves import zip as izip
ImportError: No module named six.moves

Expected results:

No exception raised.

Additional info:


[vagrant@swiftproxy ~]$ rpm -qa | grep openstack
openstack-selinux-0.7.3-3.el7ost.noarch
openstack-utils-2015.2-1.el7ost.noarch
openstack-swift-2.7.0-2.el7ost.noarch

[vagrant@swiftproxy ~]$ repoquery --requires openstack-swift
/bin/sh
/usr/bin/python2
python(abi) = 2.7
python-configobj
python-dns
python-eventlet >= 0.16.1
python-greenlet >= 0.3.1
python-netifaces
python-paste-deploy
python-pyeclib
python-setuptools
python-simplejson
pyxattr
shadow-utils
systemd

[vagrant@swiftproxy ~]$ repoquery --requires openstack-swift-proxy
/bin/sh
/usr/bin/python2
openstack-swift = 2.7.0-2.el7ost
openstack-swift-container
openstack-swift-plugin-swift3
python(abi) = 2.7
python-keystonemiddleware

[vagrant@swiftproxy ~]$ repoquery --requires openstack-swift-account
/bin/sh
/usr/bin/python2
openstack-swift = 2.7.0-2.el7ost

[vagrant@swiftproxy ~]$ repoquery --requires openstack-swift-object 
/bin/sh
/usr/bin/python2
openstack-swift = 2.7.0-2.el7ost
rsync >= 3.0

[vagrant@swiftproxy ~]$ repoquery --requires openstack-swift-container
/bin/sh
/usr/bin/python2
openstack-swift = 2.7.0-2.el7ost
python(abi) = 2.7

[vagrant@swiftproxy ~]$ repoquery --requires python-keystonemiddleware
python(abi) = 2.7
python-keystoneauth1 >= 2.1.0
python-keystoneclient >= 1:1.6.0
python-oslo-config >= 3.4.0
python-oslo-context >= 0.2.0
python-oslo-i18n >= 2.1.0
python-oslo-serialization >= 1.10.0
python-oslo-utils >= 3.4.0
python-pbr >= 1.6
python-positional >= 1.0.1
python-pycadf >= 1.1.0
python-requests >= 2.8.1
python-six >= 1.9.0
python-webob >= 1.2.3

Comment 2 Pete Zaitcev 2016-09-23 18:01:19 UTC
BTW, this should be mitigated in any Newton release (OSP 10, Swift 3.x),
or anything that has python-swift. I have verified that python-swift
specifies python-six as a dependency. So, this will need some sort
of a custom fix, a oneliner that adds python-six dependency
(I think adding to the main package is preferable).