Commit Graph

368 Commits

Author SHA1 Message Date
Travis Rhoden
bf93128f66 packaging: Add rgw placeholder dirs in proper packages
Automatically create /var/lib/ceph/radosgw with the
ceph-radosgw package, and /var/lib/ceph/bootstrap-rgw
via the ceph package.

Signed-off-by: Travis Rhoden <trhoden@redhat.com>
2015-05-08 14:02:43 -04:00
Loic Dachary
0c715f6971 Merge pull request #4532 from dachary/wip-init-system-detection
ceph-detect-init helper and associated tests

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-07 22:21:26 +02:00
Loic Dachary
8f23382064 Merge pull request #4353 from ceph/wip-11376-packaging-objstore-tool
#11376: packaging: mv ceph-objectstore-tool to main ceph pkg

Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-06 11:04:24 +02:00
Loic Dachary
b4a441a0ed ceph-detect-init: package for rpm and debian
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-06 01:54:36 +02: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
Tim Serong
70292658d5 packaging: move SuSEfirewall2 templates out of src
Better to have static config like this that needs to be installed in
/etc in a separate subdirectory of the project.

Signed-off-by: Tim Serong <tserong@suse.com>
2015-04-30 12:04:14 +10:00
Tim Serong
77685f5b78 packaging: add SuSEfirewall2 service files
This adds SuSEfirewall2 service files for Ceph MON, OSD and MDS, for use
on SLES and openSUSE.  The MON template opens port 6789 and the OSD/MDS
template opens the range 6800-7300 as per
http://ceph.com/docs/master/rados/configuration/network-config-ref/

Signed-off-by: Tim Serong <tserong@suse.com>
2015-04-29 13:21:54 +10:00
Sage Weil
47a11ff6d5 Merge pull request #3481 from ktdreyer/wip-rpm-rm-old-fedoras
ceph.spec.in: remove reference to EOL Fedoras
2015-04-14 13:49:05 -07:00
Ken Dreyer
aa88364f30 ceph.spec.in: set _with_systemd on RHEL 7 and Fedora
Commit 71a5090bca added a "_with_systemd"
conditional to the RPMs, but I erred with the version comparison
operator, so this only applied to RHEL 8+, not RHEL 7+.

Adjust the conditional so that it will really apply to RHEL 7+. While
we're here, add Fedora as well.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Reported-by: Boris Ranto <branto@redhat.com>
2015-04-09 11:15:41 -06:00
Loic Dachary
21b93775d6 spec.in: sphinx -b man needs sphinx > 1.0 (part 2)
Instead of listing the operating system versions that do not require the
python-sphinx10 package, switch to listing the operating system versions that
require the python-sphinx10 package. It's easier to maintain because
there only are a few.

Signed-off-by: Loic Dachary <ldachary@rehdat.com>
2015-04-07 12:09:03 +02:00
Loic Dachary
a8eab36cb0 spec.in: sphinx -b man needs sphinx > 1.0
It is used to build the man pages.

Signed-off-by: Loic Dachary <ldachary@rehdat.com>
2015-04-03 02:59:58 +02:00
Loic Dachary
18c34f2133 Merge pull request #4142 from ceph/wip-no-more-dot-8
doc: generate man pages in man/Makefile

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-04-02 17:42:23 +02:00
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
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
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
353a325896 ceph.spec.in: rm EOL Fedoras; add OBS RHEL5 instead
Fedora 12 has been EOL for a long time. Remove the reference in the
RPM .spec file.

Since RHEL 5 support for Ceph is a work in progress, we won't remove
this entire python_sitelib / python_sitearch conditional for now, since
those are still needed on RHEL 5.

Add the rhel_version macro to make the conditional compatible with
SUSE's OBS.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-03-16 10:02:57 -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