Hide Forgot
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
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).