Ceph python libraries are missing - liberty

Bug #1509837 reported by Tom Myny
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
High
Matt Thompson
Liberty
Fix Released
High
Hugh Saunders
Trunk
Fix Released
High
Matt Thompson

Bug Description

The following two libraries are missing when using ceph on openstack ansible

Packages that includes the libraries:

python-rados
python-rbd

These files are missing in the following paths:
Cinder-volume:
/openstack/venvs/cinder-master/lib/python2.7/site-packages/rbd.py
/openstack/venvs/cinder-master/lib/python2.7/site-packages/radon.py

Glace:
/openstack/venvs/glance-master/lib/python2.7/site-packages/rbd.py
/openstack/venvs/glance-master/lib/python2.7/site-packages/radon.py

Nova:
/openstack/venvs/nova-master/lib/python2.7/site-packages/rbd.py
/openstack/venvs/nova-master/lib/python2.7/site-packages/radon.py

Tags: in-liberty
Tom Myny (tom-myny)
summary: - Ceph python libraries are missing
+ Ceph python libraries are missing - liberty
Matt Thompson (mattt416)
Changed in openstack-ansible:
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Matt Thompson (mattt416) wrote :

I was able to replicate this. Both python-rados and python-rbd are installed as debian packages, and our venvs are built with virtualenv_site_packages: "no". Currently, python-rados and python-rbd are not available via pypi [1], so we can either build our venvs with virtualenv_site_packages: "yes", or do some more nasty symlinking as is done in [2]. I'm not entirely sure of the implications of doing the former but symlinking out of the venv in multiple places certainly doesn't feel right.

Any thoughts here?

--Matt

[1] http://tracker.ceph.com/issues/5900
[2] https://github.com/openstack/openstack-ansible/blob/master/playbooks/roles/os_nova/tasks/nova_compute_kvm_install.yml#L61-L78

Revision history for this message
Jesse Pretorius (jesse-pretorius) wrote :

@Matt I would suggest that a conversation be started on the ML to get those packages published in pypi, but meanwhile we should follow the existing pattern we have and do the linkage. It's not great, but it's the only way except to force the deployer to disable using the venv, which gives us many, many more problems.

Revision history for this message
Hugh Saunders (hughsaunders) wrote :

A possibility that Harry mentioned is to build unofficial wheels on the repo server, then they can go into venvs with everything else.

Matt Thompson (mattt416)
Changed in openstack-ansible:
assignee: nobody → Matt Thompson (mattt416)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible (master)

Fix proposed to branch: master
Review: https://review.openstack.org/241577

Changed in openstack-ansible:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible (master)

Reviewed: https://review.openstack.org/241577
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=a0ab6f7a6efea1dabf5ac006f766c17596a0d10b
Submitter: Jenkins
Branch: master

commit a0ab6f7a6efea1dabf5ac006f766c17596a0d10b
Author: Matt Thompson <email address hidden>
Date: Wed Nov 4 12:03:35 2015 +0000

    Symlink ceph libraries out of venv

    Currently, we install python-rados and python-rbd via apt when ceph
    integration is enabled, which causes issues when venvs are used in the
    environment. This commit adds a temporary work-around by creating
    symlinks in the venv to the installed libraries outside.

    There is currently a ceph issue [1] in progress to make this possible,
    and once this has been completed we can update ceph_client role to
    install python packages instead.

    [1] http://tracker.ceph.com/issues/5900

    Change-Id: Ia7a3ceae002054fd75e0305892b20ce1143f8dcc
    Closes-Bug: #1509837

Changed in openstack-ansible:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible (liberty)

Fix proposed to branch: liberty
Review: https://review.openstack.org/244636

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible (liberty)

Reviewed: https://review.openstack.org/244636
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=6f2428edca8fa4ba966d2f955bbb2122bf19a08b
Submitter: Jenkins
Branch: liberty

commit 6f2428edca8fa4ba966d2f955bbb2122bf19a08b
Author: Matt Thompson <email address hidden>
Date: Wed Nov 4 12:03:35 2015 +0000

    Symlink ceph libraries out of venv

    Currently, we install python-rados and python-rbd via apt when ceph
    integration is enabled, which causes issues when venvs are used in the
    environment. This commit adds a temporary work-around by creating
    symlinks in the venv to the installed libraries outside.

    There is currently a ceph issue [1] in progress to make this possible,
    and once this has been completed we can update ceph_client role to
    install python packages instead.

    [1] http://tracker.ceph.com/issues/5900

    Change-Id: Ia7a3ceae002054fd75e0305892b20ce1143f8dcc
    Closes-Bug: #1509837
    (cherry picked from commit a0ab6f7a6efea1dabf5ac006f766c17596a0d10b)

tags: added: in-liberty
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to openstack-ansible (master)

Reviewed: https://review.openstack.org/245154
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=33c7bc2aa37bfdb3068aebe51c474ae29369e9a9
Submitter: Jenkins
Branch: master

commit 33c7bc2aa37bfdb3068aebe51c474ae29369e9a9
Author: Hugh Saunders <email address hidden>
Date: Thu Nov 12 09:54:40 2015 +0000

    Use PyPi packages for ceph python bindings

    Ceph python bindings are now available from pypi, so they can be
    installed within a venv. Previously we were relying on the bindings
    being installed via an apt package and symlinking out of the relevant
    venvs into site packages.

    This commit also includes a revert for the commit that introduced the
    symlinks:

    Revert "Symlink ceph libraries out of venv"

    This reverts commit a0ab6f7a6efea1dabf5ac006f766c17596a0d10b.

    Ceph Bug: http://tracker.ceph.com/issues/5900
    Related-Bug: #1509837
    Package URL: https://pypi.python.org/pypi/python-cephlibs/0.94.5.post1

    Change-Id: Id8a0b8ea810fd9e43f9743bb2572e2b6b0985230

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/openstack-ansible 12.0.8

This issue was fixed in the openstack/openstack-ansible 12.0.8 release.

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/openstack-ansible 12.0.9

This issue was fixed in the openstack/openstack-ansible 12.0.9 release.

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/openstack-ansible 13.0.0

This issue was fixed in the openstack/openstack-ansible 13.0.0 release.

Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :

This issue was fixed in the openstack/openstack-ansible 13.0.0 release.

Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote : Fix included in openstack/openstack-ansible 12.0.11

This issue was fixed in the openstack/openstack-ansible 12.0.11 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.