Commit Graph

354 Commits

Author SHA1 Message Date
Loic Dachary
e33951342d Merge pull request #4068 from dachary/wip-opensuse
tests: add OpenSUSE 13.2 dockerfile

Reviewed-by: Owen Synge <osynge@suse.com>
2015-04-02 11:32:09 +02:00
Ken Dreyer
c5cf81dd91 ceph.spec.in: fix _with_systemd conditional
The RPM conditional needs a "?" in the event that it is not defined.
2015-03-25 12:16:03 -06:00
Danny Al-Gaaf
24aeb78bb0 Merge pull request #3916 from ceph/wip-rpm-no-ghost-socket-dir
ceph.spec.in: fix handling of /var/run/ceph

Reviewed-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2015-03-25 17:27:14 +01:00
Loic Dachary
bdac3dc3fb ceph.spec: update OpenSUSE BuildRequires
OpenSUSE 13.2 needs libsnappy-devel but not bzip2-devel.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-24 14:11:43 +01:00
Ken Dreyer
71a5090bca ceph.spec.in: fix handling of /var/run/ceph
Prior to this commit, we didn't install /var/run/ceph as a normal
directory. We used the %ghost directive and created the directory with
a "mkdir" command in %post.

This was lacking in several ways:

  1) Simplicy: there is no need to use %ghost; other packages (eg.
     mariadb) simply use a normal %dir for their socket directory.

  2) RPM does not have control over the permissions of the /var/run/ceph
     directory. This does not interact well with "rpm -V". Moreover,
     once Ceph itself gets unprivileged user support, RPM itself won't
     be able to set the permissions of the directory for a (future)
     unprivileged UID.

  3) On distributions that use systemd as an init system, /var/run is a
     symlink to /run, which is tmpfs. This means that /var/run/ceph does
     not persist across reboots on those systems.

Remove the %ghost directive; it makes more sense for RPM to simply
install this directory like the rest of the %files.

Add a "_with_systemd" conditional so we know which distros use systemd
as their init system.  Add the /etc/tmpfiles.d/ceph.conf file on those
distros. See
http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-03-17 12:28:28 -06:00
Ken Dreyer
338b44bc74 packaging: include ceph_perf_objectstore
The /usr/bin/ceph_perf_objectstore file is installed by default. Prior
to this commit it was missing from the packaging. This caused the RPM to
fail to build in mock.

Add ceph_perf_objectstore to the "ceph-test" RPM and Debian package.

If we end up developing further ceph_perf_* utilities, it would make
sense to glob them all with a wildcard, similar to what we are doing
with all the ceph_test_* utilities in ceph-test.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-03-13 16:14:51 -06:00
John Spray
c3ef6409b2 ceph.in: add 'daemonperf' command
This is inspired by dstat and scripts/perf-watch.py, to
give a convenient live view of an interesting subset
of the performance counters from a Ceph daemon.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-03-05 20:17:35 +00:00
Ken Dreyer
924f85f157 ceph.spec.in: loosen ceph-test's dependencies
In Debian, the ceph-test package can be installed with any version of
ceph-common.

Prior to this commit, in RHEL, we're much more strict about which
version of the dependencies we require. We depend directly on
librados2/librbd1/libcephfs1 instead of ceph-common, and we also require
the specific versions of these libraries to match the version of
ceph-test.

For testing Ceph, it is nice to have the ability to upgrade the
librados2/librbd1/libcephfs1 libraries on a host without having to also
upgrade the ceph-test package as well.

Remove the version number requirements, and change the dependencies from
librados2/librbd1/libcephfs1 to simply "ceph-common". That will make
/etc/ceph/ and /var/log/ceph present for the tests.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-03-04 15:18:13 -07:00
Ken Dreyer
f3ad61a674 packaging: move rbd udev rules to ceph-common
We should ship the RBD udev rules in the same package that ships
/usr/bin/rbd.  This package happens to be ceph-common, so move the udev
rules there.

The udev rules rely on the ceph-rbdnamer utility, so move that utility
and its man page as well.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-02-25 17:43:01 -08:00
Boris Ranto
d1c82ea9f4 ceph.spec: specify version
Signed-off-by: Boris Ranto <branto@redhat.com>
2015-02-24 18:30:18 -08:00
Boris Ranto
39982b10ad Split python-ceph to appropriate python-* packages
python-ceph contains various header files/bindings for serveral
libraries, this patch creates *-devel packages for all the
libraries separately and provides the compatibility layer for
the split.

Signed-off-by: Boris Ranto <branto@redhat.com>
2015-02-24 12:50:27 -08:00
Boris Ranto
c341c52984 ceph.spec: split ceph-devel to appropriate *-devel packages
ceph-devel contains various header files/bindings for several
libraries, this patch creates *-devel packages for all the libraries
separately and provides the compatibility layer for the split.

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

Signed-off-by: Boris Ranto <branto@redhat.com>

Amended by Ken Dreyer <kdreyer@redhat.com> to add version numbers to the
Obsoletes, add Obsoletes to the libradosstriper1-devel and
libcephfs_jni1-devel subpackages, adjust the librados documentation, and
add the Redmine issue number to this commit log.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-02-16 16:21:42 -07:00
Loic Dachary
3c05c9c829 tests: no need for python-flask at build time
http://tracker.ceph.com/issues/10845 Refs: #10845

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-12 00:55:49 +01:00
Sage Weil
f65cb09e17 Merge pull request #3092 from abartlet/ceph-dmcrypt-plain
Ceph dmcrypt with LUKS (split into 4 patches)

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-02-11 09:21:53 -08:00
Loic Dachary
4f36eaee9e ceph.spec.in: junit always except for EPEL 6
The package was renamed a long time ago (around the Fedora 15
timeframe). The "junit4" name is only relevant for EPEL 6. For EPEL 7
and Fedora 20, the "junit" package has "Provides: junit4". And most
recently, in the junit package that ships in Fedora 21 and 22, the
package maintainer dropped the old Provides: line.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-11 00:02:28 +01:00
Yehuda Sadeh
e6c2c82306 Merge pull request #3476 from ktdreyer/wip-rpm-radosgw-logrotate
ceph.spec.in: move rgw logrotate to rgw subpackage

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-01-30 09:11:36 -08:00
Andrew Bartlett
2113524b9d Add tests for ceph dmcrypt encryption
Signed-off-by: Andrew Bartlett <abartlet@catalyst.net.nz>
2015-01-30 14:34:42 +13:00
Andrew Bartlett
6a45b8ed04 add all possible ceph-disk run-time requirements to build time deps
There really should be a better way than this to ensure the right things are installed for make check.

The existing list in ceph.spec.in has been re-sorted, just as the debian/control is

Andrew Bartlett
2015-01-30 14:34:09 +13:00
Ken Dreyer
9b220bddea ceph.spec.in: use wildcards to capture man pages
Use wildcard to capture gzipped man pages for ceph-clsinfo(8) and
librados-config(8). In addition to future-proofing us against
possible compression type changes down the road, this also aligns us
with the existing convention that's used to capture the rest of the man
page files.
2015-01-23 15:08:34 -07:00
Ken Dreyer
9edd0a5334 ceph.spec.in: move rgw logrotate to rgw subpackage
Prior to this commit, the radosgw logrotate config was in the main
"ceph" package. This meant that if a user had installed "ceph", but not
"ceph-radosgw", they would end up with a logrotate configuration that
was unnecessary.

Only install the logrotate configuration file if the user has installed
ceph-radosgw.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-01-23 09:37:56 -07:00
Ken Dreyer
fff3cf91de ceph.spec.in: capitalization and punctuation
Ensure that each sub-package's %description starts with a capital letter
and ends with a dot.

rpmlint has a rule that checks the Summary field, but not %description
(yet).

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-01-22 16:45:28 -07:00
Gregory Farnum
2a4cbfcca6 Merge pull request #3335 from ceph/wip-cephfs-tabletool
Create cephfs-table-tool

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-01-15 21:58:17 -08:00
John Spray
2f3160636b tools: create cephfs-table-tool
It was unnatural to shoehorn resetting tables
into the journaltool.  This new tool initially
can simply dump or reset the session/snap/ino
tables, and would also be a place for any
more complex operations in future.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-16 00:45:25 +00:00
Sage Weil
f4ff12aebc drop ceph_mon_store_converter
This was needed for upgrades in the cuttlefish era; no longer useful.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-01-12 09:37:08 -08:00
Loic Dachary
bb921a8014 packages: add python-virtualenv and xmlstarlet
python-virtualenv is required to run make check and xmlstarlet is useful
to develop shell base tests using ceph --format xml osd dump.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-12-22 00:22:44 +01:00
Loic Dachary
8547d9baae Merge pull request #3207 from ceph/wip-cot-rename
ceph_objectstore_tool: Rename generated binary to ceph-objectstore-tool

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2014-12-19 01:12:10 +01:00
Nilamdyuti Goswami
2b577cef00 packaging: package ceph-deploy(8)
Fixes merge conflict.

Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
2014-12-18 14:32:05 +05:30
David Zafman
4f72ba545e ceph_objectstore_tool: Rename generated binary to ceph-objectstore-tool
Signed-off-by: David Zafman <dzafman@redhat.com>
2014-12-17 17:09:09 -08:00
Ken Dreyer
69fa5329ce ceph.spec.in: quote %files macro in comment
Prior to this commit, RPM would expand the %files macro that was present
in the comment.

Use a double percent sign to quote the macro so that RPM will not expand
it.

This fixes an rpmlint warning, "W: macro-in-comment %files"

More information from rpmlint's "-I" (help) command:

  $ rpmlint -I macro-in-comment
  macro-in-comment:
  There is a unescaped macro after a shell style comment in the
  specfile.  Macros are expanded everywhere, so check if it can cause a
  problem in this case and escape the macro with another leading % if
  appropriate.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2014-12-17 13:06:58 -07:00
Ken Dreyer
b743a95111 packaging: package ceph-disk(8)
The ceph-disk man page was added in
a450cab2b8, but this was not added to the
RPM or DEB packaging. Add it here.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2014-12-02 16:13:19 -07:00
Ken Dreyer
6a98dacde1 rpm: unconditionally package rbd-replay-prep(8)
The build system will conditionally build and install the
rbd-replay-prep utility based on the presence of lttng.

Commit 230c5b8e7f adjusted the RPM
packaging so that we only package and ship the rbd-replay-prep utility
and its man page when we're on a platform that has lttng.

The problem is that this is only half-correct. The build system
unconditionally installs the man page for rbd-replay-prep, regardless of
whether lttng was present or absent, and (by extension,) without regard
for whether we've built and installed the rbd-replay-prep binary or not.

We have two options: either the build system should be adjusted to
conditionally skip installing rbd-replay-prep(8), or else we should just
adjust the RPM packaging to always ship the man page. This commit does
the latter.

Backport: firefly
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2014-11-26 17:01:17 -07:00
Sage Weil
b889b6b5bf remove ceph_dupstore
This is broken and useless.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-10-27 16:58:00 -07:00
Loic Dachary
5ff4a850a0 rpm: 95-ceph-osd-alt.rules is not needed for centos7 / rhel7
The || instead of && had it always installed. That was fixed in EPEL
already.

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-10-11 18:20:36 +02:00
Sage Weil
1036e9827c Merge remote-tracking branch 'gh/giant'
Conflicts:
	src/osdc/Objecter.cc
2014-10-07 12:40:45 -07:00
Sage Weil
6b9e20ac8d ceph.spec: make ceph -> python-ceph dependency specify version
It does this indirectly via ceph -> ceph-common -> python-ceph, but do so
here too for clarity/consistency.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-10-06 09:15:29 -07:00
Sage Weil
38dde3d3e2 Merge remote-tracking branch 'gh/giant' 2014-10-03 17:56:31 -07:00
Sage Weil
da9ae5c92e ceph.spec: fix typo
Signed-off-by: Sage Weil <sage@redhat.com>
2014-10-01 12:33:38 -07:00
Sage Weil
8388836208 ceph.spec.: add epoch
This is done in fedora packaging.  Do it here too so that you can move
between upstream packages (from ceph.com) and fedora and other derivatives
will builds.

Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
2014-10-01 06:02:02 -07:00
Sage Weil
8cda623e0b ceph.spec.in: move ceph_rest_api.py into ceph
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-29 14:24:01 -07:00
Sage Weil
b2416240b8 ceph.spec: fix python-flask dependency
This is needed by ceph-rest-api, which is in ceph.rpm; it's not related to
python-ceph (except that ceph-rest-api happens to require that too).

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-29 13:44:03 -07:00
Adam Crume
675a6a6704 rbd-replay: Add rbd-replay-many
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-09-11 16:48:03 -07:00
Loic Dachary
e9b09e8cc1 packaging: add all erasure code plugins to RPM packages
It means distributing a few plugins that are only used for unit testing
but it does not use much disk space and this is otherwise harmless.

Explicitly listing which plugins are to be installed is problematic
because some of them (isa for now and maybe more later) are not
available for all architectures. Properly maintaining the list of
plugins to install would therefore mean exactly matching which
architecture has which plugins.

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

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-09-09 17:05:56 +02:00
Samuel Just
038992b1da Merge pull request #2332 from ceph/wip-8231-forreview
Wip 8231 forreview

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-08-28 16:37:37 -07:00
David Zafman
83fbc91e5c Complete replacement of ceph_filestore_tool and ceph_filestore_dump
with unified ceph_objectstore_tool

Move list-lost-objects and fix-lost-objects features from
  ceph_filestore_tool to ceph_objectstore_tool as list-lost, fix-lost
Change --type to --op for info, log, export...operations
Add --type for the ObjectStore type (defaults to filestore)
Change --filestore-path to --data-path
Update installation, Makefile.am, and .gitignore
Fix and rename test case to match
  Add some additional invalid option checks

Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-08-28 16:22:15 -07:00
Dan Mick
7474f720c2 ceph.spec.in: tests for rhel or centos need to not include _version
rhel_version and centos_version are apparently the OpenSUSE Build
names; the native macros are just "rhel" and "centos" (and contain
a version number, should it be necessary).

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-08-27 12:56:08 -07:00
Dan Mick
e37b262c79 ceph.spec.in: Add a small comment on the empty %files section
as suggested by Dan Mick.

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
2014-08-27 12:56:08 -07:00
Dan Mick
875a99e25f ceph.spec.in: Obsolete all older versions.
Now this changeset can be used on all current ceph releases that already
have the package split.

Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
2014-08-27 12:56:08 -07:00
Dan Mick
8f95daf66b ceph.spec.in: No version on ceph-libs Obsoletes.
If we are installing with the new package structure we don't ever want the
new package to co-exist with the old one; this includes the mistakenly-
released v0.81 on Fedora, which should be removed in favor of this
version.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2014-08-27 12:56:07 -07:00
Sandon Van Ness
75985024bd ceph.spec.in: Obselete ceph-libcephfs (not libcephfs)
I am guessing that because it was a sub-package libcephfs was mistakenly
used instead of ceph-libcephfs.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-08-27 12:56:07 -07:00
Erik Logtenberg
00877ae502 ceph.spec.in: We need those nice recent changes for rhel7 in Fedora too.
Signed-off-by: Erik Logtenberg <erik@logtenberg.eu>
2014-08-27 12:56:07 -07:00