Project

General

Profile

Bug #11388

/usr/bin/ceph from ceph-common is broken without installing ceph

Added by Jens Harbott almost 4 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
04/14/2015
Due date:
% Done:

0%

Source:
Tags:
Backport:
hammer
Regression:
No
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

~# ceph
Traceback (most recent call last):
  File "/usr/bin/ceph", line 74, in <module>
    from ceph_argparse import \
ImportError: No module named ceph_argparse

Reason is that ceph_argparse.py is now packaged in ceph instead of python-ceph, as was the case up to giant.

~# dpkg -S /usr/lib/python2.7/dist-packages/ceph_argparse.py
ceph: /usr/lib/python2.7/dist-packages/ceph_argparse.py

Related issues

Copied to devops - Backport #11998: /usr/bin/ceph from ceph-common is broken without installing ceph Resolved 04/14/2015

Associated revisions

Revision 110608e5 (diff)
Added by Ken Dreyer almost 4 years ago

debian: move ceph_argparse into ceph-common

Prior to this commit, if a user installed the "ceph-common" Debian
package without installing "ceph", then /usr/bin/ceph would crash
because it was missing the ceph_argparse library.

Ship the ceph_argparse library in "ceph-common" instead of "ceph". (This
was the intention of the original commit that moved argparse to "ceph",
2a23eac54957e596d99985bb9e187a668251a9ec)

http://tracker.ceph.com/issues/11388 Refs: #11388

Reported-by: Jens Rosenboom <>
Signed-off-by: Ken Dreyer <>

Revision d8733be2 (diff)
Added by Ken Dreyer over 3 years ago

debian: move ceph_argparse into ceph-common

Prior to this commit, if a user installed the "ceph-common" Debian
package without installing "ceph", then /usr/bin/ceph would crash
because it was missing the ceph_argparse library.

Ship the ceph_argparse library in "ceph-common" instead of "ceph". (This
was the intention of the original commit that moved argparse to "ceph",
2a23eac54957e596d99985bb9e187a668251a9ec)

http://tracker.ceph.com/issues/11388 Refs: #11388

Reported-by: Jens Rosenboom <>
Signed-off-by: Ken Dreyer <>
(cherry picked from commit 110608e5bdd9e2f03020ad41f0c2d756684d4417)

Conflicts:
debian/ceph.install
There is no ceph_daemon.py in hammer
debian/control
Depends/Replaces/Breaks version adapted (from 9.0.0 to 0.94.2)
also adapted ceph-dbg Replaces/Breaks

History

#1 Updated by Ken Dreyer almost 4 years ago

Confirmed; "/usr/bin/ceph" is in ceph-common, but "ceph_argparse.py" is not: https://github.com/ceph/ceph/blob/v0.94/debian/ceph-common.install

I think the problem is in https://github.com/ceph/ceph/commit/2a23eac54957e596d99985bb9e187a668251a9ec . The commit log says "move argparse to ceph-common", but that's not what the commit does - it moves it to the main "ceph" package instead.

Given that we desire the following:
  1. /usr/bin/ceph should remain in ceph-common
  2. /usr/bin/ceph's dependencies should be fully-satisfied by the packaging metadata (it should not crash)
  3. The Debian and Red Hat packaging file lists should be aligned, and the Red Hat packaging does ship ceph_argparse.py in the ceph-common RPM.

... the solution here is to move ceph_argparse.py out of the "ceph" deb and into the "ceph-common" deb.

#2 Updated by Yuri Weinstein almost 4 years ago

  • Project changed from Stable releases to devops
  • Affected Versions deleted ()

#4 Updated by Ken Dreyer almost 4 years ago

  • Assignee set to Ken Dreyer

#5 Updated by Ken Dreyer almost 4 years ago

Jens, our "gitbuilder" CI system has built the branches in Git that I've posted above. Can you test the ceph-common package here? (Ideally you'd uninstall "ceph" to be sure this is working as you'd expect.)

http://gitbuilder.ceph.com/ceph-deb-precise-x86_64-basic/ref/wip-11388-hammer-debian-argparse/

There are general instructions for testing gitbuilder packages, here: http://ceph.com/docs/master/install/get-packages/#add-ceph-development

As you can see in the URL above, the branch name with my fix is "wip-11388-hammer-debian-argparse"

#6 Updated by Jens Harbott almost 4 years ago

Tested the new package and it works fine.

Thanks for the fast solution.

#7 Updated by Jens Harbott almost 4 years ago

Minor nit about the commit message: The library is called ceph_argparse, there is a different global python library called argparse, so maybe you can be more explicit there to avoid confusion.

#8 Updated by Ken Dreyer almost 4 years ago

That's a great catch, thanks Jens.

I've amended the commit message and re-pushed to the branch for master: https://github.com/ceph/ceph/tree/wip-11388-debian-argparse

Since this touches the debian files as well, this PR might conflict with the one currently under review, at https://github.com/ceph/ceph/pull/4353 . As soon as that one is merged, I'll submit this one.

#9 Updated by Ken Dreyer almost 4 years ago

  • Tracker changed from Tasks to Bug
  • Status changed from In Progress to Pending Backport
  • Regression set to No

#10 Updated by Nathan Cutler over 3 years ago

  • Backport set to hammer

#11 Updated by Jens Harbott over 3 years ago

Any chance to get this fix backported into hammer soon? Turns out that 0.94.2 is still broken.

#12 Updated by Ken Dreyer over 3 years ago

( For the record, the PR where this was merged to master is https://github.com/ceph/ceph/pull/4517 )

#13 Updated by Nathan Cutler over 3 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF