Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ceph-volume: Require lvm2, move to osd package #19529

Merged
merged 1 commit into from Jan 10, 2018
Merged

Conversation

thmour
Copy link

@thmour thmour commented Dec 14, 2017

Fixes: http://tracker.ceph.com/issues/22443

Signed-off-by: Theofilos Mouratidis t.mour@cern.ch

@alfredodeza
Copy link
Contributor

This looks OK to me. Unsure if the Debian control files will need it to.

@ktdreyer
Copy link
Member

If it's just ceph-volume that needs the LVM utils, we can put this requirement in the "ceph-osd" package instead of "ceph-base".

Good call on the debian/control file @alfredodeza . We do need "Depends: lvm2" as well for the ceph-osd package there.

@smithfarm
Copy link
Contributor

ceph-disk used to be in the ceph-osd package, but was moved to ceph-base by #14871

ceph-volume has been in ceph-base since its inception, but I'm not sure there's a good reason for that. . . for example, it means ceph-volume will be included on mon-only nodes, mds-only nodes, etc.

It seems strange to put the Requires: lvm2 in ceph-osd when ceph-volume itself is in ceph-base. On the other hand, putting the dependency in ceph-base just adds further dead weight to non-OSD nodes (and, now, containers - which are supposed to be lightweight?).

Would it be worth considering to move both ceph-volume and its lvm2 dependency to ceph-osd?

@alfredodeza
Copy link
Contributor

I don't think ceph-volume should be in anything other than ceph-osd, and I think it should be moved.

@liewegas
Copy link
Member

@b-ranto can you confirm that there's no reason for ceph-volume to be in ceph-base now? (was ceph-disk only needed there in order to support the previous upgrade?)

@ktdreyer
Copy link
Member

ceph-volume has been in ceph-base since its inception

Good call. It's a discrepancy between the Debian and RPM packaging (ceph-volume is in debian/ceph-osd.install)

I think ceph-volume should be in the ceph-osd package for both distro families.

@tchaikov
Copy link
Contributor

i concur with @smithfarm and @ktdreyer .

@thmour thmour changed the title ceph-volume: lvm2 should be required ceph-volume: Require lvm2, move to osd package Dec 15, 2017
@thmour thmour force-pushed the master branch 2 times, most recently from 891a247 to 2704ac7 Compare December 15, 2017 09:26
@thmour
Copy link
Author

thmour commented Dec 15, 2017

ceph-volume is now moved to the osd package, along with the lvm2 dependency in the ceph.spec.in file

anything else that needs to be done?

@alfredodeza
Copy link
Contributor

I'll let others take a look as well, building these changes now so we can run some tests:

https://shaman.ceph.com/builds/ceph/pr19529/

@alfredodeza
Copy link
Contributor

This change passed functional ceph-volume tests. Looks OK to me.

@alfredodeza alfredodeza self-requested a review December 15, 2017 19:04
@ktdreyer
Copy link
Member

Would you mind making the change to the /debian/control file as well? We need "Depends: lvm2" for the ceph-osd package there.

Fixes: http://tracker.ceph.com/issues/22443

Signed-off-by: Theofilos Mouratidis <t.mour@cern.ch>
@b-ranto
Copy link
Contributor

b-ranto commented Jan 2, 2018

@liewegas Yep, we only needed ceph-disk binary in ceph-base so that we could use the ceph-disk fix command during the package upgrades. The ceph_disk python library was already in ceph-base before that and I am not sure what it was needed there for.

Copy link
Contributor

@b-ranto b-ranto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@alfredodeza
Copy link
Contributor

alfredodeza commented Jan 9, 2018

This does not work on the Debian/Ubuntu side of things. Unsure what to suggest here.

'/usr/bin/apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold"     install 'ceph'' failed: E: Unable to correct problems, you have held broken packages.

The following packages have unmet dependencies:
 ceph : Depends: ceph-mgr (= 13.0.0-4262-g02bc369-1xenial) but it is not going to be installed
        Depends: ceph-mon (= 13.0.0-4262-g02bc369-1xenial) but it is not going to be installed
        Depends: ceph-osd (= 13.0.0-4262-g02bc369-1xenial) but it is not going to be installed
        Recommends: ceph-mds (= 13.0.0-4262-g02bc369-1xenial) but it is not going to be installed

E: Unable to correct problems, you have held broken packages.

Jenkins logs https://jenkins.ceph.com/job/ceph-volume-prs-lvm-xenial-bluestore-create/26/console

@alfredodeza
Copy link
Contributor

centos7-bluestore certainly worked fine

@tchaikov
Copy link
Contributor

tchaikov commented Jan 9, 2018

$ apt-cache show  ceph-mgr | grep libstdc++
Depends: ceph-base (= 13.0.0-4262-g02bc369-1xenial), python-cherrypy3, python-openssl, python-pecan, python-werkzeug, init-system-helpers (>= 1.18~), libc6 (>= 2.17), libgcc1 (>= 1:3.0), libgoogle-perftools4, libibverbs1 (>= 1.1.2), libnspr4 (>= 2:4.9-2~) | libnspr4-0d (>= 1.8.0.10), libnss3 (>= 2:3.13.4-2~) | libnss3-1d (>= 3.12.9~beta2), libpython2.7 (>= 2.7), libstdc++6 (>= 6), zlib1g (>= 1:1.1.4)

turns out ceph-mgr was linked against libstdc++6 from the PPA repo dynamically.

@alfredodeza you need to rebase your branch against master to include 75c5e5c, and rebuild it. sorry for the inconvenience =(

@alfredodeza
Copy link
Contributor

This is good to go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants