Commit Graph

242 Commits

Author SHA1 Message Date
Sage Weil
2786f0bf11 Merge remote-tracking branch 'gh/jewel' 2016-03-02 09:22:28 -05:00
Nathan Cutler
b87f4efb56 packaging: lsb_release build and runtime dependency
The lsb_release executable is being run in multiple places, not least in
src/common/util.cc, which calls it via shell in the collect_sys_info() code
path.

This patch addresses this issue on SUSE- and Debian-derivatives, as well
as reinstating the dependency for RHEL/Fedora after it was dropped in
1560057226.

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-01 15:14:46 +01:00
Nathan Cutler
cba211dfa8 packaging: pkg_resources.py runtime dependency
ceph-detect-init uses pkg_resources.py

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Nathan Cutler
1a0bb0f687 packaging: move python-flask runtime dependency to ceph-mon, radosgw
Flask is used by MON (in the Ceph REST API) and by RGW (powerdns).
Therefore, it only needs to be in the ceph-mon and ceph-radosgw packages.

Also, this commit encloses the specification of the python-flask runtime
dependency in distro-conditional blocks to account for a minor difference
in the package name between RHEL and SUSE.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Ali Maredia
d4dd0f495b debian: remove ceph-dbg package and any traces of it
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2016-02-26 13:17:25 -05:00
Ken Dreyer
3fc7fdba91 debian: remove ceph-base's dependency on -mon and -osd
The ceph-base package contains files shared between the -mon, -osd, and
-mds. In other words, the MON, OSD, and MDS servers depend on ceph-base,
but ceph-base should not depend on the leaf packages.

Reported-by: Kefu Chai <kchai@redhat.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-02-26 10:51:39 -07:00
Sage Weil
aa92f9dff0 rgw: link against system openssl (instead of dlopen at runtime)
Signed-off-by: Sage Weil <sage@redhat.com>
2016-02-25 11:44:10 -08:00
Ali Maredia
0cbe3dea69 debian/rpm: split mon/osd/mds server packages
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>
2016-02-24 16:47:34 -05:00
Matt Benjamin
85e4febb17 librgw: fix new Debian control entries
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-02-12 13:07:28 -05:00
Matt Benjamin
de0f86691b librgw: add debian and rpm packaging
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-02-12 13:07:24 -05:00
Sage Weil
e211b5b278 Merge pull request #7533 from Cdiscount/master
debian: include cpio in build-requiers

Reviewed-by: Sage Weil <sage@redhat.com>
2016-02-11 08:45:17 -05:00
Rémi BUISSON
6666300084 debian: fix build-depends
Signed-off-by: Rémi BUISSON <remi.buisson@cdiscount.com>
2016-02-09 14:41:51 +01:00
Josh Durgin
8f0166728b packaging: add an rbd-mirror package
Depend on ceph-common for /etc/ceph. Startup scripts will be added later.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-02-04 00:10:16 -08:00
Marcel Lauhoff
f88fcf032f debian: Add build dep 'libboost-iostreams-dev'
Required by graylog logging backend

Signed-off-by: Marcel Lauhoff <ml@irq0.org>
2016-01-29 15:32:47 +01:00
Kefu Chai
f5da159457 makefile: remove dependency on libedit
turns out we are not using it anymore

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-01-20 00:35:50 +08:00
Jason Dillaman
a290d34ebd Merge remote-tracking branch 'upstream/jewel' 2016-01-14 16:21:05 -05:00
Jason Dillaman
953bdfbccd deb,rpm: add valgrind to build dependencies
Provides necessary support for annotating helgrind
false-positives.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-01-13 09:54:29 -05:00
Josh Durgin
ebdb0a9c30 packaging: add build dependency on python devel package
This is required for building python modules with cython, but for some
reason is not a direct dependency (on debian only a recommends) for
the cython package itself.

Refs: #14059
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-01-12 11:12:30 -08:00
Kefu Chai
0dc0d425ff Revert "Revert "makefiles: remove bz2-dev from dependencies""
This reverts commit 35542eb6ed.
2015-12-23 01:40:54 -08:00
Samuel Just
35542eb6ed Revert "makefiles: remove bz2-dev from dependencies" 2015-12-15 15:12:19 -08:00
Piotr Dałek
a8b5920259 makefiles: remove bz2-dev from dependencies
The only thing that uses bzip2-devel is RocksDB, and it's optional, not
requirement. Drop the bzip2-devel/libbz2-dev dependency entirely, and
let RocksDB use it only if it is already present.

Fixes: #13981
Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
2015-12-15 14:01:51 +01:00
Josh Durgin
701a6626a2 Merge pull request #6768 from marcan/cython
pybind: port the rbd bindings to Cython

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Alfredo Deza <adeza@redhat.com>
2015-12-09 15:45:17 -08:00
Hector Martin
8655cca10b debian/control: make python-rbd depend on minimum librbd version
As the Cython bindings build to a binary module, backwards compatibility with
older librbd ABIs at runtime is not possible, so depend on at least the same
version (or newer).

Signed-off-by: Hector Martin <marcan@marcan.st>
2015-12-02 00:29:55 +09:00
Hector Martin
5113c962ee configure/packaging: introduce Cython dependency
To prepare for the migration of rbd.py to Cython, add Cython as a package
dependency and have the configure script look for it.

Also adds Cython as a dependency for admin/build-doc, and changes the
virtualenv to allow usage of system packages (to avoid having to compile
Cython inside the virtualenv).

With contributions by Josh Durgin <jdurgin@redhat.com>

Signed-off-by: Hector Martin <marcan@marcan.st>
2015-12-02 00:29:54 +09:00
Yunchuan Wen
7bbd54a1e6 add rbd-nbd package
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
2015-11-21 23:26:44 +08:00
Loic Dachary
a0204dc47a build/ops: rbd-replay moved from ceph-test-dbg to ceph-common-dbg
http://tracker.ceph.com/issues/13785 Fixes: #13785

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-13 19:11:48 +01:00
Yehuda Sadeh
a5651b867a Revert 0374bb4a2f 2015-11-09 15:24:29 -08:00
Sage Weil
173bfd03c4 rgw: link against system openssl (instead of dlopen at runtime)
Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-29 01:06:36 -04:00
Sage Weil
036d36f4ff debian/control: python-setuptools is a build dependency
cd ./ceph-detect-init ; python setup.py build
Traceback (most recent call last):
  File "setup.py", line 23, in <module>
    from setuptools import setup
ImportError: No module named setuptools

Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-13 08:37:40 -04:00
Ken Dreyer
96486fd6f2 packaging: move rbd-replay* to ceph-common
The rbd-replay* utilities are useful for Ceph users with RBD clients.
Currently the rbd-replay* utilities ship in the "ceph-test" package, and
we intend this ceph-test package for Ceph developers and contributors,
not normal users.

Move the rbd-replay* utilities to "ceph-common".

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-09-15 14:01:18 -06:00
Sage Weil
322ad808cd debian/control: build requires cmake
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-03 15:01:34 -04:00
Sage Weil
f69498f320 debian/control: build-requires libboost-regex-dev
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-03 14:59:37 -04:00
Sage Weil
dbcaa54485 uuid: use boost::random:random_device
The boost mt code uses uninitialized memory for extra randomness,
which is a bad idea in general but more importantly makes valgrind
unhappy.  Use /dev/urandom instead.

Unfortunately this introduces a link time dependency.. meh!

Fixes: #12736
Signed-off-by: Sage Weil <sage@redhat.com>
2015-08-24 14:51:47 -04:00
Loic Dachary
d2d540c165 build/ops: add uuid-runtime to debian/control
uuid-runtime was incorrectly removed by
62bfc7a1ab, restore it.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-08-20 16:19:00 +02:00
Rohan Mars
62bfc7a1ab moved to use boost uuid implementation, based on commit 4fe89a7b14
Signed-off-by: Rohan Mars <code@rohanmars.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2015-08-19 06:46:17 -04:00
Ken Dreyer
af336313fe Merge pull request #5344 from trhoden/update_debain_maintainer
debian: Update maintainers and uploaders

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-08-10 17:02:03 -06:00
Sage Weil
bbe84578bf remove rest-bench
This is a weak tool; users should look to cosbench or others instead.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-07-30 13:21:36 -04:00
Travis Rhoden
6f54c61bcf debian: Update maintainers and uploaders
Signed-off-by: Travis Rhoden <trhoden@redhat.com>
2015-07-24 14:00:50 -07:00
Ken Dreyer
c74a2f86a1 packaging: RGW depends on /etc/mime.types
If the mimecap RPM or mime-support DEB is not installed, then the
/etc/mime.types file is not present on the system. RGW attempts to read
this file during startup, and if the file is not present, RGW logs an
error:

  ext_mime_map_init(): failed to open file=/etc/mime.types ret=-2

Make the radosgw package depend on the mailcap/mime-support packages so
that /etc/mime.types is always available on RGW systems.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-07-15 09:14:15 -06:00
Nathan Cutler
8a56c48259 packaging: add find and which dependencies
The postrotate script in src/logrotate.conf uses the which and find utilities
to do its work. Although logrotate itself is only a Recommends, I think which
and find are so ubiquitous that it makes sense to have them as hard
dependencies.

Also, I checked and the package names which and findutils are the same on all
the RPM distros we are currently targeting in the spec file.

In Debian, find is also in a package called findutils while the package
containing 'which' is called debianutils.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-09 21:59:39 +02:00
Ken Dreyer
6a6d82d92a Merge pull request #5076 from SUSE/wip-logrotate-hard-dependency
packaging: make logrotate a hard dependency across all distros

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>

 Conflicts:
	debian/control
2015-07-09 13:40:23 -06:00
Nathan Cutler
05424a803b logrotate.conf: fixes for systemd
Before this patch, the command 'logrotate -f /etc/logrotate.d/ceph'
was generating an error "Failed to reload ceph.target: Job type reload is not
applicable for unit ceph.target".

Before we issue systemctl reload, check that there is at least
one active ceph-* service. (The hyphen is significant.)

Since we use grep, make the grep package a dependency.

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

Signed-off-by: Tim Serong <tserong@suse.com>
Signed-off-by: Lars Marowsky-Bree <lmb@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-26 19:43:44 +02:00
Nathan Cutler
0734cd1ec3 packaging: make logrotate a hard dependency across all distros
Given ceph's reputation for voluminous logs, it makes sense for
logrotate to be a hard dependency for all distros.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-25 16:55:10 +02:00
Loic Dachary
d2cc2b184b tests: use get_pg from ceph-helpers.sh
The semantic and interface of get_pg are the same, that avoids
duplication and the ceph-helpers.sh version is tested and documented.

Make the ceph-test package dependent on xmlstarlet because it is
needed by ceph-helpers.sh.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-06-01 01:11:28 +02:00
Loic Dachary
6f11fbf41f debian: ceph-dbg steals ceph-objectstore-tool from ceph-test-dbg
When ceph-objectstore-tool was moved from ceph-test to
ceph by 61cf5da0b5, the ceph package in
debian/control was updated accordingly, as recommended by
https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces

The same must be done for the ceph-dbg package because
/usr/lib/debug/usr/bin/ceph-objectstore-too is no longer in
ceph-test-dbg.

Although the change was merged may 6th, 2015
8f23382064, teuthology jobs were not
always failing because packages were not systematically upgraded during
the installation. The missing dependencies that were responsible for
this upgrade problem were fixed by
f898ec1e4e on may 18th, 2015 and all
upgrade tests relying on ceph-*-dbg packages started to fail
systematically after this date.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-28 15:50:02 +02:00
Sage Weil
c6f62f518f Merge remote-tracking branch 'gh/next' 2015-05-27 17:25:28 -04:00
Ken Dreyer
110608e5bd 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",
2a23eac549)

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>
2015-05-20 11:29:04 -06:00
Ken Dreyer
f898ec1e4e debian: set rest-bench-dbg ceph-test-dbg dependencies
Debian's debug packages ought to depend on their respective binary
packages. This was the case for many of our ceph packages, but it was
not the case for ceph-test-dbg or rest-bench-dbg.

Add the dependencies on the relevant binary packages, pinned to
"= ${binary:Version}" per convention.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-05-18 11:03:38 -06:00
Ken Dreyer
61cf5da0b5 packaging: mv ceph-objectstore-tool to main ceph pkg
This change ensures that the ceph-objectstore-tool utility is present on
all OSDs.  This makes it easier for users to run this tool to do manual
debugging/recovery in some scenarios.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-04-30 15:53:22 -06:00
Kefu Chai
301fe6cbf2 doc: generate man pages in man/Makefile
* move rst files from doc/man/8 into man/8
* extract man_pages setting for sphinx from doc/conf.py to man/conf.py
* generate all man pages in `make install`
* add python-sphinx to Build-Depends
* check for sphinx-build in `configure`
* run changed rst files through sphinx-build in `make check`

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-03-24 12:36:41 +08:00