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>
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>
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>
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>
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>
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>
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>
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/10728Fixes: #10728
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
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
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.
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>
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>
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>
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>
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>
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>
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>
The || instead of && had it always installed. That was fixed in EPEL
already.
http://tracker.ceph.com/issues/9747Fixes: #9747
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
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>
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>
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/9381Fixes: #9381
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
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>
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>
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>
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>