Bug #11388
/usr/bin/ceph from ceph-common is broken without installing ceph
0%
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
Associated revisions
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 <j.rosenboom@x-ion.de>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
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 <j.rosenboom@x-ion.de>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(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 9 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:/usr/bin/ceph
should remain in ceph-common/usr/bin/ceph
's dependencies should be fully-satisfied by the packaging metadata (it should not crash)- 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 9 years ago
- Project changed from Stable releases to devops
- Affected Versions deleted (
)
#3 Updated by Ken Dreyer almost 9 years ago
- Status changed from New to In Progress
Branch for master: https://github.com/ceph/ceph/tree/wip-11388-debian-argparse
Branch for hammer: https://github.com/ceph/ceph/tree/wip-11388-hammer-debian-argparse
#4 Updated by Ken Dreyer almost 9 years ago
- Assignee set to Ken Dreyer
#5 Updated by Ken Dreyer almost 9 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 9 years ago
Tested the new package and it works fine.
Thanks for the fast solution.
#7 Updated by Jens Harbott almost 9 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 9 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 9 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 almost 9 years ago
- Backport set to hammer
#11 Updated by Jens Harbott over 8 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 8 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 8 years ago
- Status changed from Pending Backport to Resolved