With modern releases we should be able to make do with the call to
os_release_parse only which uses /etc/os-release which should be available on
most (all?) releases we currently support. this then allows us to remove the
runtime dependency which pulls in several other packages and would be nice to
avoid.
Fixes: http://tracker.ceph.com/issues/17425
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
This adds ceph-mgr following the same pattern used for ceph-mon,
ceph-mds, ceph-osd. I've removed the boost-python BuildRequire
for SUSE distros, because we don't ship that (the relevant bits
are already included in boost-devel).
NOTE: This gives an installable ceph-mgr, but not necessarily a
runnable ceph-mgr. This is because ceph-mgr needs the following
python packages:
- CherryPy
- Django
- gevent
- python-dateutil
- djangorestframework
Not all of these are available as distro packages. For example,
on openSUSE Tumbleweed, we don't have djangorestframework available
in the base distro, and our Django version is 1.9, which seems to
be incompatible with ceph-mgr. I'm not sure of the situation on
other distros.
Signed-off-by: Tim Serong <tserong@suse.com>
Prior to this change, the RPM packaging would install /etc/ceph/rbdmap
with exectuable permissions. The execute bit is not necessary and does
not match what the Debian packaging does. Remove the execute bit in this
case.
Fixes: http://tracker.ceph.com/issues/17395
Reported-by: Martin Bukatovic <mbukatov@redhat.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
python3 is not a hard requirement to build ceph, so make it optional.
add an option named "WITH_PYTHON3" which accepts ON, OFF, or CHECK.
Fixes: http://tracker.ceph.com/issues/17103
Signed-off-by: Kefu Chai <kchai@redhat.com>
New interfaces for fetching extended (and selective) stat information.
Additionally, applications can specify AT_NO_ATTR_SYNC in the flags to
indicate that they want to do a "lazy" statx that just hands out the
inode info from the cache, or AT_SYMLINK_NOFOLLOW to avoid following
symlinks when walking the path.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
When building on openSUSE Tumbleweed, nothing seems to create
the various __pycache__ directories (so the build fails because
those files don't exist), and in any case they should be
created automatically at runtime, so shouldn't need to be
packaged. However, the Fedora packaging guidelines suggest
including __pycache__, so I've used a %suse_version guard here.
Fixes: http://tracker.ceph.com/issues/17106
Signed-off-by: Tim Serong <tserong@suse.com>
This allows the make-dist script to create a .spec file that
can actually use the tarball created to build srpms.
Tested on Fedora 24, using mock.
Signed-off-by: Ira Cooper <ira@redhat.com>
We have some %post scriptlets that fire up a shell just to execute a single
command like this:
%postun -n librados2
/sbin/ldconfig
Normally, it would be possible to optimize these as:
%postun -n librados2 -p /sbin/ldconfig
Except that, due to an RPM bug, there must not be *any* content (not even comments)
between the %postun and the next section.
See https://bugzilla.redhat.com/show_bug.cgi?id=1003962#c0 for details.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
DSA keys are being deprecated: http://www.openssh.com/legacy.html
drop.ceph.com will continue to allow the old DSA key but eventually,
users submitting logs using ceph-post-file will run into issues when
OpenSSH completely drops support for the algorithm.
Fixes: http://tracker.ceph.com/issues/14267
Signed-off-by: David Galloway <dgallowa@redhat.com>
Trailing whitespace after the backslash on the -d line of the
usermod command effectively splits it in two, breaking the
rpm %pre script for SUSE builds.
Signed-off-by: Tim Serong <tserong@suse.com>
The issue here is that ceph.spec.in does not package the directories
/usr/lib/udev and /usr/lib/udev/rules.d. The problem was not showing because
hdparm, which is brought in as a build dependency, packages these directories.
However, in SUSE a recent update to hdparm changes that and the problem
manifests.
This PR addresses the issue by adding udev as a build dependency, which should
cover /usr/lib/udev, and by adding explicit "%dir %{_udevrulesdir}" to the
packages that put files in this directory.
Fixes: http://tracker.ceph.com/issues/16949
Signed-off-by: Nathan Cutler <ncutler@suse.com>
for SLES supports only x86_64 and aarch64 targets
for openSUSE (Tumbleweed and Leap) add ppc64/ppc64le targets.
fixes: http://tracker.ceph.com/issues/16936
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
Everyone should upgrade through Firefly -> Hammer -> etc to pick up the newer
package names.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This has been deprecated for quite some time, in favour
of using proper vxattr and libcephfs interfaces.
Fixes: http://tracker.ceph.com/issues/16035
Signed-off-by: John Spray <john.spray@redhat.com>
Ceph clients use mount.ceph to mount CephFS filesystems, and
ceph-base is not expected to be installed on client systems.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
We do not want to start the targets on upgrade, this would override the
user configuration and is a bad practice. This commit fixes the
behaviour.
Signed-off-by: Boris Ranto <branto@redhat.com>
ceph-disk activate-all walks /dev/disk/by-parttypeuuid at boot time. It
is not necessary when udev fires ADD event for each partition and
95-ceph-osd.rules gets a chance to activate a ceph disk or journal.
There are various reasons why udev ADD events may not be fired at
boot (for instance Debian Jessi 8.5 never does it and CentOS 7.2 seems
to be racy in that regard when a LVM root is being used).
Populating /dev/disk/by-parttypeuuid fixes ceph-disk activate-all that
would not work without it. And it guarantees disks are activated at boot
time regardless of wether udev fires ADD events at the right time (or at
all).
The new udev file is a partial resurection of the
60-ceph-partuuid-workaround-rules that was removed by
9f77244b8e. It is given a name that
reflects its new purpose.
Fixes http://tracker.ceph.com/issues/16351
Signed-off-by: Loic Dachary <loic@dachary.org>
Prior to this change, ceph-base required the "parted" package, which
meant that any installation of ceph-osd, ceph-mon, or ceph-mds would
pull in the parted package.
Move the parted dependency to ceph-osd, since ceph-disk is the only
thing that uses parted.
The advantage of this change is that Mon and MDS systems will not need
to install the parted package.
Fixes: http://tracker.ceph.com/issues/16095
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
The PowerDNS integration code itself is not packaged at this point, so
remove the python-flask dependency from the radosgw package.
Maybe the PowerDNS integration bits could live in a separate
sub-package, eventually.
Fixes: http://tracker.ceph.com/issues/16032
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
The fixfiles command won't fix label for /var/run/ceph (/run is probably
excluded from relabel), we need to restore the context manually.
Signed-off-by: Boris Ranto <branto@redhat.com>
Currently, we don't mute the semodule output in postun script. This
results in the following message when removing ceph-selinux package:
libsemanage.semanage_direct_remove_key: Removing last ceph module (no
other ceph module exists at another priority).
The fix is to simply mute the output of the command.
Signed-off-by: Boris Ranto <branto@redhat.com>
This reverts commit a53d932fc4.
If the interpret is passed to postun script, everything until the next
rpm section gets interpreted as the input for the interpret (in this
case ldconfig). This results in warnings like
/sbin/ldconfig: relative path `0' used to build cache
when removing the packages that pass the interpret because we use
several '#' characters to separate the subpackage sections and these get
passed to the ldconfig.
Using the default interpret (bash) fixes the warning. I'm also doing the
same to %post script for consistency.
Signed-off-by: Boris Ranto <branto@redhat.com>
This commit brings the user/group creation into greater semantic alignment
with the Debian packaging.
Fixes: http://tracker.ceph.com/issues/15869
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Older versions of semodule binary that are in Centos/RHEL do not
support priority setting, dropping it.
Fixes: #15822
Signed-off-by: Boris Ranto <branto@redhat.com>
The SELinux userspace utilities stopped providing versions when they
switched to CIL language. We need to use a different technique to
relabel the files.
Fixes: #15725
Signed-off-by: Boris Ranto <branto@redhat.com>
The only place we should write out literal paths is in the RPM scriptlets,
and there only for things that are not installed by this package.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Now that the python-sphinx build dependency is unified, move it
to the proper section of the spec file.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This commit drops conditionals that no longer serve any purpose, since
jewel and above do not support the distro versions they are checking for.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This conditional was required to support older versions of RHEL/CentOS that are
no longer supported in infernalis and above.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This RA wraps the ceph sysvinit script. As of Jewel, none of the supported
distros are using sysvinit anymore. So, drop it.
Incidentally, Pacemaker can control systemd units without any wrappers.
References: http://tracker.ceph.com/issues/14828
Signed-off-by: Nathan Cutler <ncutler@suse.com>
The only place we should write out literal paths is in the RPM scriptlets,
and there only for things that are not installed by this package.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Now that the python-sphinx build dependency is unified, move it
to the proper section of the spec file.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This commit drops conditionals that no longer serve any purpose, since
jewel and above do not support the distro versions they are checking for.
Signed-off-by: Nathan Cutler <ncutler@suse.com>