Tasks #10587
closedsplit ceph-mon, ceph-osd, and ceph-mds in the Debian and Red Hat packages
0%
Description
ceph-mon and ceph-osd should be their own subpackages.
ceph-mon should contain:
/usr/bin/ceph-mon /usr/lib/python2.7/site-packages/ceph_rest_api.py /usr/lib/python2.7/site-packages/ceph_rest_api.pyc /usr/lib/python2.7/site-packages/ceph_rest_api.pyo /usr/share/man/man8/ceph-mon.8.gz /var/lib/ceph/mon
ceph-osd should contain:
/usr/bin/ceph-clsinfo /usr/bin/ceph-osd /usr/lib/udev/rules.d/60-ceph-partuuid-workaround.rules /usr/lib/udev/rules.d/95-ceph-osd.rules /usr/lib64/rados-classes /usr/lib64/rados-classes/libcls_hello.so /usr/lib64/rados-classes/libcls_kvs.so /usr/lib64/rados-classes/libcls_lock.so /usr/lib64/rados-classes/libcls_log.so /usr/lib64/rados-classes/libcls_rbd.so /usr/lib64/rados-classes/libcls_refcount.so /usr/lib64/rados-classes/libcls_replica_log.so /usr/lib64/rados-classes/libcls_rgw.so /usr/lib64/rados-classes/libcls_statelog.so /usr/lib64/rados-classes/libcls_user.so /usr/lib64/rados-classes/libcls_user.so.1 /usr/lib64/rados-classes/libcls_user.so.1.0.0 /usr/lib64/rados-classes/libcls_version.so /usr/sbin/ceph-disk /usr/sbin/ceph-disk-activate /usr/sbin/ceph-disk-prepare /usr/share/man/man8/ceph-clsinfo.8.gz /usr/share/man/man8/ceph-osd.8.gz /var/lib/ceph/osd
Updated by Ken Dreyer about 9 years ago
In addition to the ceph-mon file list above, today I found that the ceph-rest-api
command-line utility should also move to ceph-mon:
/usr/bin/ceph-rest-api
Updated by Ken Dreyer about 9 years ago
- Subject changed from split ceph-mon and ceph-osd in the Debian and Red Hat packages to split ceph-mon, ceph-osd, and ceph-mds in the Debian and Red Hat packages
Additionally, ceph-mds should be its own subpackage.
Updated by Ken Dreyer about 9 years ago
Looks like ceph-mds is already split out into a separate package in Debian. So we just need to split that one in the RPM as well.
Updated by Ken Dreyer about 9 years ago
- Status changed from New to In Progress
I was working on this today, and found two smaller things that I'd like to land in master before the bigger PR gets proposed:
https://github.com/ceph/ceph/pull/3992 - ceph_perf_objectstore is missing from the packaging
https://github.com/ceph/ceph/pull/3997 - /var/lib/ceph/mds is still in "ceph"
Updated by Ken Dreyer about 9 years ago
Current work is on the wip-10587-split-servers branch in GitHub.
Sage made the suggestion that we move the common files into a "ceph-server-common" package, and then make "ceph" an empty metapackage that installs "all of Ceph".
Updated by Ken Dreyer about 9 years ago
From #11376, the ceph-objectstore-tool
utility should also be in ceph-osd.
/usr/bin/ceph-objectstore-tool
Updated by Ken Dreyer about 9 years ago
Ken Dreyer wrote:
Sage made the suggestion that we move the common files into a "ceph-server-common" package, and then make "ceph" an empty metapackage that installs "all of Ceph".
After further discussion with Sage, we'll punt a "ceph-server-common" package, and simply attack the problem of splitting up the mon/osd/mds packages.
Updated by Ken Dreyer almost 9 years ago
At the moment I'm stuck trying to find a way to make 1) upgrades via apt/yum work seamlessly and 2) avoid having the "ceph" package depend on ceph-mon/ceph-osd/ceph-mds . I think we can use RPM's Obsoletes to do this (untested), and I'm unsure of the equivalent for Debian packages.
Updated by Ken Dreyer almost 9 years ago
I think I've got upgrades working now on the latest version of https://github.com/ceph/ceph/tree/wip-10587-split-servers.
More testing needed.
Updated by Ken Dreyer almost 9 years ago
After discussion on ceph-devel, I'm going to go with the plan to re-structure ceph into a meta-package, and have "ceph-base" be the common package that all servers will share.
Updated by Ken Dreyer over 8 years ago
To clarify the work that remains to be done here:
- The "wip-10587-split-servers" branch needs to be rebased onto the tip of master (to account for any
ceph.spec.in
anddebian/*
changes that have occurred since I last got a chance to look at it) - Verify that the debian/* stuff is correct - at the moment I don't fully remember whether all the
debian/*
changes are complete or whether there are further things to be done there - Run some Teuthology upgrade tests with that branch, going from hammer -> that branch (to be sure that we've got all the upgrade paths covered)
Updated by Chengshun Xia over 8 years ago
Hi,Ken
Has the split work done for YUM, today when i try to deploy hammer ceph on rhel6, i notice the following error
[root@c596n19 ceph_deploy]# ceph-deploy install c596n20 c596n22 c596n23 c596n24
....
[c596n20][DEBUG ] : jenkins local-rhels6.5-x86_64-HighAvailability
[c596n20][DEBUG ] : local-rhels6.5-x86_64-LoadBalancer
[c596n20][DEBUG ] : local-rhels6.5-x86_64-ResilientStorage
[c596n20][DEBUG ] : local-rhels6.5-x86_64-ScalableFileSystem
[c596n20][DEBUG ] : local-rhels6.5-x86_64-Server local-rhels6.5-x86_64-x86_64
[c596n20][DEBUG ] : mirror.centos.org_centos_6_os_x86_64_
[c596n20][DEBUG ] : mirrors.kernel.org_fedora-epel_6Server_x86_64_ rhel-source
[c596n20][DEBUG ] : rhel-source-beta
[c596n20][DEBUG ] Cleaning up Everything
[c596n20][INFO ] Running command: yum -y install ceph-osd ceph-mds ceph-mon ceph-radosgw
[c596n20][DEBUG ] Loaded plugins: product-id, security, subscription-manager
[c596n20][WARNIN] This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
[c596n20][WARNIN] Repository ibm-open-platform.ibm.com_repos_Ambari_rhel_6_x86_64_2.1.x_GA_2.1_ is listed more than once in the configuration
[c596n20][DEBUG ] Setting up Install Process
[c596n20][DEBUG ] No package ceph-osd available.
[c596n20][DEBUG ] No package ceph-mds available.
[c596n20][DEBUG ] No package ceph-mon available.
[c596n20][DEBUG ] Package 1:ceph-radosgw-0.94.5-0.el6.x86_64 already installed and latest version
[c596n20][DEBUG ] Nothing to do
[c596n20][INFO ] Running command: ceph --version
[c596n20][DEBUG ] ceph version 0.94.5 (9764da52395923e0b32908d83a9f7304401fee43)
.....
and the repo file is following
[root@c596n20 yum.repos.d]# cat ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-hammer/el6/$basearch
enabled=1
priority=2
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-hammer/el6/noarch
enabled=1
priority=2
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-hammer/el6/SRPMS
enabled=0
priority=2
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[root@c596n20 yum.repos.d]#
os release :
[root@c596n20 yum.repos.d]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@c596n20 yum.repos.d]#
Does that mean i need to back to giant release ?
Thanks
Chengshun
Updated by Ken Dreyer about 8 years ago
- Status changed from In Progress to Resolved
the final patch was merged to master in https://github.com/ceph/ceph/pull/7746
Updated by Ken Dreyer about 8 years ago
Chengshun I don't think ceph-deploy will easily deploy upstream Ceph on RHEL (vs CentOS). You might want to open a separate ceph-deploy package for RHEL support.