-3

I am trying to install keystone (an OpenStack component) on a 64 bit version of RHEL v. 7. I haven't done this before.

I run this:

yum install openstack-keystone python-keystoneclient

I see this at the end:

--> Finished Dependency Resolution Error: Package: python-pycadf-0.6.0-2.el7.centos.noarch (openstack-juno) Requires: python-webob >= 1.2.3 
Error: Package: python-eventlet-0.15.2-1.el7.noarch (epel) Requires: python-greenlet 
Error: Package: python-keystone-2014.2.2-1.el7.noarch (openstack-juno) Requires: python-webob >= 1.2.3 Error: Package: python-keystonemiddleware-1.2.0-1.el7.centos.noarch (openstack-juno) Requires: python-webob 
Error: Package: 1:python-keystoneclient-0.11.1-1.el7.centos.noarch (openstack-juno) Requires: python-webob You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest

But webob is installed with the correct version:

pip show webob

Name: WebOb Version: 1.4.1 Location: /usr/lib/python2.7/site-packages/WebOb-1.4.1-py2.7.egg Requires:

The extra packages are already installed:

rpm -i epel-release-7-5.noarch.rpm package epel-release-7-5.noarch is already installed

It looks like the relevant extra packages are installed.

How to do install python-keystoneclient? There appear to be dependency resolution issues. But they don't see real because the extra packages are installed.

A similar RedHat "bug" (not a real bug) was opened: tinyurl [DOT] com/osp9o93 (you have to construct the HTTP link above because I cannot post links; but someone may be able to help me without proving the research)

It directs the user to go here: tinyurl [DOT] com/65s3xm6 (you have to construct the HTTP link above because I cannot post links; but someone may be able to help me without proving the research)

The version of webob I have installed (as displayed by the pip command results) is new enough. Is RHEL v.7 not an acceptable version to install keystone?

I just want to install keystone on RedHat Linux. I don't know why this is problematic.

Is python-webob different from webob? Is there a 32 bit version of web 1.4.1?

PJ8912
  • 137
  • 3

2 Answers2

0

The RPM package manager only knows about things that you installed with the RPM tool.

The python-webob RPM is probably the equivalent of the PyPI package webob wrapped up in an RPM… but the RPM tool doesn't know that. As far as it knows, you have to have the python-webob RPM or these other packages won't work.

So, the easy answer here is to pip uninstall webob and then yum install python-webob.

Or, of course, you can pip install all of these Python libraries, then manually install the program that requires them (assuming it isn't a PyPI package).

More generally, try to do one or the other consistently for everything. Either only install RPMs, or never install RPMs. Once you start mixing and matching, you run into these problems.

There are harder answers,* but unless the easy answers aren't appropriate for some reason, I'd go with the easy way.


* You can build a custom RPM from each PyPI package and install it; I believe there are even tools to automate that (something like pip2rpm or pypi2rpm to download a package from PyPI and either find its spec file or build one if it doesn't have one, then rpmbuild it). Or you can convince RPM that you really do have an appropriate equivalent—as long as you're sure you do. Or you can just force it to ignore dependencies and install the package anyway.

abarnert
  • 354,177
  • 51
  • 601
  • 671
  • 1) I tried yum install python-webob But I got this: Loaded plugins: amazon-id, rhui-lb No package webob available. Error: Nothing to do 2) I then tried to download it: wget https://pypi.python.org/packages/source/W/WebOb/WebOb-1.4.tar.gz But if I use tar -zxvf to decompress it and the easy_install utility, I think I'll have the same problem. What should I do? – PJ8912 May 05 '15 at 18:58
  • @PJ8912: I know there have been Fedora/RHEL/CentOS/etc. RPMs for it for years (it has a page on [rpmfind](http://www.rpmfind.net/linux/rpm2html/search.php?query=python-webob)). You may need to enable an extra repo for `yum` to find it. But that's turning into a RHEL administration question, which you should ask at SuperUser or Unix.se or some other site, not SO. – abarnert May 05 '15 at 19:04
0

I meet with the same issue when installing the keystone. The reason is I am not able to add this additional repos:

# subscription-manager repos --enable=rhel-7-server-optional-rpms
# subscription-manager repos --enable=rhel-7-server-extras-rpms

My workaround is I use the public centos yum repo, and install the missing packages. Because the RHEL EPEL repo will not get the missing dependance, and just as you noticed with the Error: Nothing to do.

Shi Yan
  • 85
  • 1
  • 1
  • 8