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

debian/rpm split servers #7746

Merged
merged 1 commit into from Feb 25, 2016
Merged

debian/rpm split servers #7746

merged 1 commit into from Feb 25, 2016

Conversation

alimaredia
Copy link
Contributor

Split up the "ceph" package into four new packages:

  1. ceph-mon
  2. ceph-osd
  3. ceph-mds (already done on Debian)
  4. ceph-base (files shared among multiple servers)

and then:

  1. Make "ceph" into a metapackage that depends on both -mon and -osd
    (and -mds, for RPMs).

To describe the outcome of this change another way:

For RPMs:

  • "ceph-{mon,osd,mds}" Require: ceph-base.

  • "ceph" will become a metapackage that Requires: ceph-{mon,osd,mds}.

    For DEBs:

  • "ceph-{mon,osd,mds}" will Depends: ceph-base.

  • "ceph" will become a metapackage that Depends: ceph-{mon,osd}.

  • "ceph" will continue to Recommends: ceph-mds

New users should "yum install ceph-mon" or "yum install ceph-osd" (or
"apt-get install ceph-mon", etc) in order to install the exact daemons
that they need.

http://tracker.ceph.com/issues/10587 Fixes: #10587

Signed-off-by: Ken Dreyer kdreyer@redhat.com

@ktdreyer ktdreyer added this to the jewel milestone Feb 22, 2016
@ktdreyer ktdreyer self-assigned this Feb 22, 2016
@ktdreyer
Copy link
Member

@alimaredia can you please remove the "wip:" text in the git commit log ? Otherwise this looks good to me.

Ali has run this through the ceph-deploy and upgrade-x Teuthology suites.

@smithfarm @BRANTO1 @javacruft care to review? I would like to merge this Wednesday, barring any huge issues.

@alimaredia alimaredia changed the title Wip 10587 split servers debian/rpm split servers Feb 22, 2016
@smithfarm
Copy link
Contributor

I'm not aware of any package that depends on "ceph", but that doesn't mean there aren't any. I think this makes sense.

Reviewed-by: Nathan Cutler <ncutler@suse.com>

@ktdreyer
Copy link
Member

Eventually the configuration management systems, docker files, and installer tools will need to be updated for this change, so that they only install the ceph-mon or ceph-osd or ceph-mds packages on the various cluster nodes.

CC'ing @leseb @alfredodeza @andrewschoen for ceph-ansible FYI

Not quite sure who's working on puppet-ceph these days; CC'ing @gfidente in case it's him :)

@@ -536,6 +577,21 @@ librbd1 or libcephfs1 instead.

%endif

%package compat
Copy link
Contributor

Choose a reason for hiding this comment

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

Why don't we just build/ship an empty ceph package that does exactly this? I'd say people are quite used to 'ceph' being a shortcut for these 3 daemons or meaning something like 'default install'.

The packages probably do not depend directly on the ceph package but people (and their scripts) do.

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, ok, the patch does not delete the main ceph package. However, it deprecates (even obsoletes) it, here. I'm not sure what is the reason for that. The -compat packages are generally used to warn users that we are going to delete a (sub-)package. In this case, I don't think it would be of any benefit for us to delete the main ceph package. Why are we creating the ceph-compat package in the first place when the new ceph meta-package serves its purpose just as well?

Copy link
Member

Choose a reason for hiding this comment

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

Thanks @BRANTO1 , good catch. "ceph-compat" came from my ancient version of this change, before we decided to convert "ceph" into a meta-package, and it can be dropped in this latest version. @alimaredia please just remove the ceph-compat subpackage.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@ktdreyer should I also remove ceph-devel-compat, python-ceph-compat, and ceph-libs-compat? According to my audit those are empty as well (http://pad.ceph.com/p/package_contents)

Copy link
Member

Choose a reason for hiding this comment

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

Those will need to stay for now (we could probably drop them after Jewel, since it's been so long, but let's not touch them now.) You can just drop this one ceph-compat package.

@ktdreyer
Copy link
Member

This will need to be rebased one more time

@alimaredia
Copy link
Contributor Author

@ktdreyer in the middle of a rebase i noticed that %{_libdir}/ceph and %{_libdir}/ceph/ceph_common.sh have become %{_libexecdir}/ceph and %{_libexecdir}/ceph/ceph_common.sh. Is the libexecdir way right?

@smithfarm
Copy link
Contributor

@alimaredia %{_libexecdir} is correct - see 69291f8 which was just merged.

Split up the "ceph" package into four new packages:

  1. ceph-mon
  2. ceph-osd
  3. ceph-mds (already done on Debian)
  4. ceph-base (files shared among multiple servers)

and then:

  5. Make "ceph" into a metapackage that depends on both -mon and -osd
    (and -mds, for RPMs).

To describe the outcome of this change another way:

  For RPMs:
  - "ceph-{mon,osd,mds}" Require: ceph-base.
  - "ceph" will become a metapackage that Requires: ceph-{mon,osd,mds}.

  For DEBs:
  - "ceph-{mon,osd,mds}" will Depends: ceph-base.
  - "ceph" will become a metapackage that Depends: ceph-{mon,osd}.
  - "ceph" will continue to Recommends: ceph-mds

New users should "yum install ceph-mon" or "yum install ceph-osd" (or
"apt-get install ceph-mon", etc) in order to install the exact daemons
that they need.

http://tracker.ceph.com/issues/10587 Fixes: #10587

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
@ktdreyer ktdreyer merged commit 0cbe3de into jewel Feb 25, 2016
ktdreyer added a commit that referenced this pull request Feb 25, 2016
debian/rpm split servers

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
@ktdreyer ktdreyer deleted the wip-10587-split-servers branch February 25, 2016 03:55
@FlorentCoppint
Copy link
Contributor

Will it be backported to Infernalis ?

@smithfarm
Copy link
Contributor

@FlorentCoppint Due to limited development, QA, and testing resources, we do not backport features unless they are required to support bugfixes.

@FlorentCoppint
Copy link
Contributor

Ok, I said this because this commit solves an issue with "ceph_daemon.py" absent from "ceph-common" package in Infernalis. Maybe it have to be fixed in a separate commit ?

@ktdreyer
Copy link
Member

Yes, that sounds like a separate Infernalis-specific bug that should be addressed in a separate commit. Would you please open a ticket at http://tracker.ceph.com/ ?

@smithfarm
Copy link
Contributor

@FlorentCoppint What operating system are you seeing this on? I'm guessing Ubuntu or Debian?

@FlorentCoppint
Copy link
Contributor

Yes Debian Jessie, I opened an issue : http://tracker.ceph.com/issues/15046

@smithfarm
Copy link
Contributor

@FlorentCoppint Right :-) Fixing it now; should make it into the next infernalis release.

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