This patch creates rbdmap shell script that is called from init-rbdmap
init script. The patch also renames src/rbdmap configuration file to
src/etc-rbdmap so that rbdmap shell script can be installed via build
system directly. Finally, the patch accomodates these changes in spec
file and build system.
Fixes: #13374
Signed-off-by: Boris Ranto <branto@redhat.com>
Drop the redhat-lsb-core dependency as it is no longer necessary on
fedora/rhel.
The other two init scripts do not use redhat-lsb-core either. The
init-ceph.in conditionally requires /lib/lsb/init-functions and does not
use any of the functions defined in that file (at least not directly).
The init-radosgw file includes /etc/rc.d/init.d/functions on non-debian
platforms instead of /lib/lsb/init-functions file so it does not require
redhat-lsb-core either.
Signed-off-by: Boris Ranto <branto@redhat.com>
There is a kmod bug that affects RHEL7 derivatives which will
result in device permissions being reset back to defaults.
Fixes: #13305
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Since the main package and all the subpackages are built in the
same environment, concentrate all the BuildRequires in the main
package.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
It is possible that the ceph user/group will not have fixed UID/GID in SUSE.
Instead, it is possible that the ceph package will depend on a separate package
whose sole purpose will be to create the ceph user/group if they do not exist.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
The openSUSE Build Service runs a number of "post-build checks" after the RPMs
have been generated. One of these tests the RPM scriptlets for idempotence.
Without this line in the specfile, the check fails on SLE_12 because it cannot
find the systemd-tmpfiles binary.
http://tracker.ceph.com/issues/13375Fixes: #13375
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Currently, the main ceph package and the ceph-radosgw behave
differently on upgrade. This commit unifies their behavior
to the following:
On package removal, disable and stop all related systemd units.
On package upgrade, do nothing unless there is a file /etc/sysconfig/ceph
containing a parameter CEPH_AUTO_RESTART_ON_UPGRADE. If parameter is set
to "yes", restart the systemd units iff they are running.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Add "--param ggc-min-expand=20 --param ggc-min-heapsize=32768"
to RPM_OPT_FLAGS, ensuring gcc does not add debug symbols and is
more aggressive about garbage collection.
Thanks to Berthold Gunreben for debugging this issue.
http://tracker.ceph.com/issues/13352Fixes: #13352
Signed-off-by: Nathan Cutler <ncutler@suse.com>
The -o option to groupadd/useradd is not recognized in SLE12. For
SLE/openSUSE, follow the openSUSE packaging guidelines.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Since the ceph user and group are created in the ceph-common
%pre scriptlet, the systemd-tmpfiles --create command needs
to run in that package.
tracker.ceph.com/issues/13346 Fixes: #13346
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Over in the SUSE sector, we are trying to enable the SLE_12 and openSUSE_13.2
build targets. The lttng/babeltrace stuff is currently available only in
SLE_12.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
In Fedora, RHEL and CentOS there is a package called boost-random.
In SLE/openSUSE, there is no such package.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
There is no need to restart the daemons when removing ceph-selinux
package if SELinux is not enabled.
Fixes: #13061
Signed-off-by: Boris Ranto <branto@redhat.com>
This patch minimizes the amount of daemon stop/start procedures when
upgrading ceph-selinux package. With this patch, the daemons get
restarted only if SELinux is enabled and the SELinux policy version
changed in the meantime.
Fixes: #13061
Signed-off-by: Boris Ranto <branto@redhat.com>
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/12994Fixes: #12994
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
This allows members of the ceph group to make librados clients (like the
ceph cli and qemu) create sockets in the default /var/run/ceph/* location.
Signed-off-by: Sage Weil <sage@redhat.com>
The current SELinux policy does not cover radosgw daemon. This patch
introduces the SELinux support for radosgw daemon (civetweb only).
Signed-off-by: Boris Ranto <branto@redhat.com>
On systemd, systemd/ceph is installed to /usr/sbin/rcceph.
On non-systemd, src/init-ceph is installed to /etc/init.d/ceph and
/usr/sbin/rcceph is created as a symlink to the latter.
In the %files section, we mention %{_sbindir}/rcceph twice: once
in a non-systemd conditional and once outside of any conditional.
Drop the former.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Neither RHEL and Fedora require a Group: line, so retain
only for SLE/openSUSE (and set the right value for these distros)
Signed-off-by: Nathan Cutler <ncutler@suse.com>
lttng and babeltrace are build dependencies for rbd-replay-prep. Make
sure the right package names are used. Enable for SLE12, as well as
for openSUSE 13.1 and higher.
Move the BuildRequires out of the ceph-test subpackage and into the
distro-conditional dependencies section.
Make ordering of BuildRequires a little more alphabetical.
http://tracker.ceph.com/issues/12360Fixes: #12360
Signed-off-by: Nathan Cutler <ncutler@suse.com>
sqme
Since the %{rhel} macro is guaranteed to be defined on all CentOS
installations, the %{centos} macro is superfluous.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
It was there as an equivalent of redhat-lsb-core, but the redhat-lsb-core bits
that ceph-common relies on are included in insserv-compat on SUSE, and
insserv-compat is in base.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
The package ceph-common uses ceph user and group but they are both created in
ceph package %pre phase. We need to move the script to ceph-common %pre phase.
Signed-off-by: Boris Ranto <branto@redhat.com>
We need to set the variables in the %pre phase, otherwise they are not properly
evaluated. Also use /sbin/nolongin instead of /bin/false and set the default
uid/gid pair for fedora and rhel (these were already allocated). We can also
use them for older fedora releases as they are guaranteed to be free.
Signed-off-by: Boris Ranto <branto@redhat.com>
limits.d expect the file to end with *.conf. Add the
installed file to package list of the ceph package.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Specify the nofile ulimit in one standard place, where everyone expects it
to be. Drop it from the ceph-osd unit file.
Leave upstart and sysvinit untouched for the time being to avoid compat
issues.
Signed-off-by: Sage Weil <sage@redhat.com>
usage: ceph_objectstore_bench [flags]
--size
total size in bytes
--block-size
block size in bytes for each write
--repeats
number of times to repeat the write cycle
--threads
number of threads to carry out this workload
--multi-object
have each thread write to a separate object
Signed-off-by: Casey Bodley <cbodley@redhat.com>
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>
Currently, the ceph files are being relabelled every time the package is
rebuilt. Fix this by checking the policy versions and relabel the files
only if the policy actually changed (different policy version was
detected).
Signed-off-by: Boris Ranto <branto@redhat.com>
If we are using systemd, ceph target should be used.
Also fail to restart service should not stop policy to load.
Signed-off-by: Milan Broz <mbroz@redhat.com>
The %preun section now contains logic for disabling and stopping all the
Ceph systemd units when the ceph package is removed. However, there is no
conditional around it, so the units are disabled and stopped on RPM upgrade
as well as removal.
http://tracker.ceph.com/issues/12685Fixes: #12685
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Tim Serong <tserong@suse.com>
We should enable SELinux support by default on rpm-based systems that
build with SELinux support to get better QE coverage in future runs.
Signed-off-by: Boris Ranto <branto@redhat.com>
This patch modifies the build system and spec file to provide a support
for SELinux enforcing in an opt-in matter via ceph-selinux package.
Signed-off-by: Boris Ranto <branto@redhat.com>