Ask Your Question
0

devstack requirements conflict

asked 2014-10-15 05:31:15 -0500

nefelos gravatar image

I am trying to build devstack on Centos 6.5 and am getting a conflict where openstackclient will not work with the version of stevedore installed (1.0.0):

    .
    .
    .
    2014-10-15 00:17:31.726 | + create_keystone_accounts
    2014-10-15 00:17:31.728 | ++ openstack project create admin
    2014-10-15 00:17:31.728 | ++ grep ' id '
    2014-10-15 00:17:31.729 | ++ get_field 2
    2014-10-15 00:17:31.730 | ++ read data
    2014-10-15 00:17:32.450 | ERROR: openstackclient.shell Exception raised: stevedore>=0.14
    2014-10-15 00:17:32.487 | + ADMIN_TENANT=
    2014-10-15 00:17:32.489 | ++ openstack user create admin --project '' --email admin@example.com --password admin
    2014-10-15 00:17:32.490 | ++ grep ' id '
    2014-10-15 00:17:32.490 | ++ get_field 2
    2014-10-15 00:17:32.490 | ++ read data
    2014-10-15 00:17:33.080 | ERROR: openstackclient.shell Exception raised: stevedore>=0.14
    2014-10-15 00:17:33.117 | + ADMIN_USER=
    2014-10-15 00:17:33.120 | ++ openstack role create admin
    2014-10-15 00:17:33.120 | ++ grep ' id '
    2014-10-15 00:17:33.120 | ++ get_field 2
    2014-10-15 00:17:33.121 | ++ read data
    2014-10-15 00:17:33.691 | ERROR: openstackclient.shell Exception raised: stevedore>=0.14
    2014-10-15 00:17:33.731 | + ADMIN_ROLE=
    2014-10-15 00:17:33.731 | + openstack role add --project --user
    2014-10-15 00:17:34.317 | ERROR: openstackclient.shell Exception raised: stevedore>=0.14
    2014-10-15 00:17:34.346 | + exit_trap
    2014-10-15 00:17:34.346 | + local r=1
    2014-10-15 00:17:34.347 | ++ jobs -p
    2014-10-15 00:17:34.347 | + jobs=
    2014-10-15 00:17:34.347 | + [[ -n '' ]]
    2014-10-15 00:17:34.347 | + exit 1
    controllernode1:/opt/devstack $ pip freeze | grep steve
    stevedore==1.0.0
    controllernode1:/opt/devstack $

Grepping through the requirements.txt files I see that both 0.14 and 1.0.0 are listed for stevedore, so I would have expected 1.0.0 to meet all the requirements:

controllernode1:/opt/stack $ find . -name requirements.txt | xargs grep stevedore
./glance/requirements.txt:stevedore>=0.14
./oslo.messaging/requirements.txt:stevedore>=1.0.0  # Apache-2.0
./python-openstackclient/requirements.txt:stevedore>=1.0.0  # Apache-2.0
./oslo.config/requirements.txt:stevedore>=1.0.0  # Apache-2.0
./python-keystoneclient/requirements.txt:stevedore>=1.0.0  # Apache-2.0
./oslo.vmware/requirements.txt:stevedore>=1.0.0  # Apache-2.0
./cliff/requirements.txt:stevedore>=0.14
./neutron/requirements.txt:stevedore>=0.14
./nova/requirements.txt:stevedore>=0.14
controllernode1:/opt/stack $

I tried reverting stevedore to 0.14 and running the 'openstack project create' manually but is just complains about the next conflict:

controllernode1:/opt/stack $ sudo pip install stevedore==0.14
Downloading/unpacking stevedore==0.14
  Downloading stevedore-0.14.tar.gz (357kB): 357kB downloaded
  Running setup.py (path:/tmp/pip_build_root/stevedore/setup.py) egg_info for package stevedore
    [pbr] Processing SOURCES.txt
    warning: LocalManifestMaker: standard file '-c' not found
    warning: no previously-included files found matching '.gitignore'
    warning: no previously-included files found matching '.gitreview'
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no files found matching '*.html' under directory 'docs'
    warning: no files found matching '*.css' under directory 'docs'
    warning: no files found matching '*.js ...
(more)
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2014-10-16 06:17:15 -0500

nefelos gravatar image

After much troubleshooting and debugging, I have learnt a lot (like how to use pdb) and have solved the problem.

stevedore 1.0.0 (and a bunch of other packages) use the newer dist-info rather than egg-info to hold the metadata about the package. The version of pkg_resources.py that I had only looks for egg-info directories and so it collected no metadata about the installed version of stevedore, hence it exited as it could not identify the installed package to be >= 0.14.

pkg_resources.py is part of the setuptools package. I had v0.6c11 of setuptools. I ran

sudo pip install --upgrade setuptools

setuptools is now at v6.1 and it stack.sh runs fine

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2014-10-15 05:31:15 -0500

Seen: 948 times

Last updated: Oct 15 '14