This script is pointless. It is equivalent to the built-in default
behavior, which makes it only useful as a sample for what a location
hook's output should be. The documentation has been updated to provide
that.
Signed-off-by: Sage Weil <sage@redhat.com>
this is the rpm's counterpart of debian/control changes related to the
ceph-{osdomap,kvstore,monstore}-tool feature move. see #19328 and #19356.
the commit introducing this move is 6dba25e. and
$ git describe 6dba25e
v12.2.2-8-g6dba25e39d
so the first release that have this change is 12.2.2-8. in other words,
ceph-{base,osd,mon} >= 12.2.2.8 cannot co-exist with ceph-test < 12.2.2-8
in the same system. so we let ceph-test Requires ceph-common with the
same version. and since ceph-{osd,mon} Requires ceph-base with the same
version, and ceph-base Requires ceph-common with the same version, so by
tiering ceph-test with ceph-common with the same version, we enforce
this restriction.
Fixes: http://tracker.ceph.com/issues/22558
Signed-off-by: Kefu Chai <kchai@redhat.com>
adds a more specific option for this boost::context dependency, which was
previously only used by the radosgw beast frontend. see
http://tracker.ceph.com/issues/20048 for more background
Signed-off-by: Casey Bodley <cbodley@redhat.com>
We were getting this via python-flask, when mgr was
installed on nodes with ceph-mon, but for correctness
in general we should depend on it from ceph-mgr (it
is imported by the dashboard module).
Fixes: http://tracker.ceph.com/issues/22457
Signed-off-by: John Spray <john.spray@redhat.com>
* cmake/modules/BuildSPDK.cmake: add lvol
* cmake/modules/BuildDPDK.cmake: add pci and bus_pci
* ceph.spec.in, cmake/modules/BuildSPDK.cmake, debian/control:
re-introduce libuuid dependency, as 17.07 added lvol. and the latter
depends on uuid.
* cmake/modules/BuildSPDK.cmake: avoid introducing local variable of
`iface_libs`.
* cmake/modules/patch-dpdk-conf.sh: disable
CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES, this option introduces the
balanced allocation of memory. but it also requires libnuma-dev.
let's disable it for now.
Signed-off-by: Kefu Chai <kchai@redhat.com>
rpm: build-depends on "cunit-devel" for suse
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
Requiring the file /usr/share/selinux/devel/policyhelp breaks fc27 and
Rawhide builds as they do not have that file. This exposed the fact this
code had not worked in some time due to changes in selinux policy
modules packaging. See
https://bugzilla.redhat.com/show_bug.cgi?id=999584
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
The influxdb module won't run if python-influxdb is not present (but it will be
graceful about not running). That means python-influxdb is a dependency of
that module, not mgr itself. However, we are not (yet) packaging the modules
separately. (When we do, this could become a Requires: of the module.)
RPM itself does not support "Recommends", and ignores this line. Higher-level
tools may or may not support it, so put this line in a SUSE-only conditional
since we know that zypper supports it.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Tim Serong <tserong@suse.com>
when osd is more than 14 in one host,it report error that aio is not enough.
As the default aio-max-nr is 65536, one OSD needs 4096 aios and other programs may use aios.
This patch change aio-max-nr to 1048576 when install ceph-osd rpm package and debian package
Signed-off-by: chenliuzhong <liuzhong.chen@easystack.cn>
os/bluestore: allow reconstruction of osd data dir from bluestore bdev label
Reviewed-By: Alfredo Deza <adeza@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
ceph-osdomap-tool into ceph-osd subpackage
ceph-monstore-tool into ceph-mon subpackage
ceph-kvstore-tool into the ceph-base subpackage
Fixes: http://tracker.ceph.com/issues/21762
Signed-off-by: Nathan Cutler <ncutler@suse.com>
As reported by Ademar de Souza Reis Jr <areis@redhat.com>:
This symlink should not be necessary anymore. QEMU is properly linked to
ceph/librbd these days (look at the qemu-block-rbd sub-package in Fedora and
the respective package in RHEL).
The symlink was a hack from a time when librbd was distributed and supported by
ceph and the rbd driver would be enabled at runtime only when/if the symlink
was present.
So the right fix is to actually get rid of the symlink altogether and never
touch (much less own) /usr/lib64/qemu.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
The ceph-fuse(8) man page describes using the "fusermount" tool to mount
CephFS. This utility is in the "fuse" package. Prior to this change, the
ceph-fuse RPM only depends on "fuse-libs", not "fuse".
The Debian packaging has always depended on the full "fuse" (previously
"fuse-utils") package, so we should make the RPM packaging do the same.
Fixes: http://tracker.ceph.com/issues/21057
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
rpm expands all macros in a .spec file, even those in comments. Drop the
percent signs so rpm will not expand these.
This change silences rpmlint's warning about macros in comments.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Header files are currently installed under a hardcoded "include" path.
Use CMAKE_INSTALL_INCLUDEDIR instead, which defaults to "include" but
allows for customisation alongside other (already used) CMAKE_INSTALL_X
paths.
Signed-off-by: David Disseldorp <ddiss@suse.de>
Add a set of new tests for the case when public_addr and public_bind_addr
are different for a mon. In order to test this properly I had to employ
port forwarding with socat. This helps simulate what would happen in a
environment like Kubernetes. socat is now a build dependency.
Also, moved jq_success to ceph-helpers.sh and refactored run_mon to enable
creating the mons without creating the rbd pool immediately.
Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
If FIRST_ARG is undefined, the rpms will show an error on upgrade
because the condition in the postun script gets broken.
This was a regression introduced by commit for issue 20077 that moved
ceph-disk unit files to ceph-base.
Fixes: http://tracker.ceph.com/issues/20077
Signed-off-by: Boris Ranto <branto@redhat.com>
RHEL's ceph-common package is "1". Move our upstream packages' epoch
ahead of that, so that upstream will always override whatever is in
RHEL, even if it happens to have a higher NVR one day.
Fixes: http://tracker.ceph.com/issues/20508
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Although under normal packaging circumstances this would probably not be done,
in Ceph there is no reasonable deployment scenario where multiple major
versions of libcephfs would need to be present at the same time.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
All options to en/disable inclusion of libraries or other software
are of the format WITH_ so that the Cmake commaind like ahs all
WITH_* options. The WITH_=ON option will result in a HAVE_ setting
in CMAKE so that tests can use that variable.
Last "abusers" to actually follow this format.
- HAVE_BABELTRACE
- HAVE_ZFSLIB is fixed in #15907
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
9164804416 introduced a build error:
ceph-common-12.1.0+git.1498286248.2fcedc7b3d-1.1.x86_64.rpm: directories not
owned by a package:
- /usr/share/doc/packages/ceph
The %docdir directive is a way of flagging anything in that directory as being
documentation. It does not actually package the directory. And we don't need
it because we're not dumping a large number of files into this directory.
For more information, see the "Directory-related Directives" section of
http://ftp.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This implements a create-self-signed-cert command for the ceph-mgr
restful interface.
It is designed so that it will try to restart the module once the cert
is created.
Signed-off-by: Boris Ranto <branto@redhat.com>
The SUSE and Fedora packaging guidelines specify that subpackages _may_ have
their own License line if it is necessary. (Hopefully it's not, because
maintaining one License line is much easier.)
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Although "which" is only used in the tests, we need the dependency
to be picked up by install-deps.sh.
This is a stopgap measure until we can get rid of the dependency entirely by
replacing "which" with "type -P" in the tests.
Fixes: http://tracker.ceph.com/issues/20127
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Modify cmake files to take advantage or re-organization of dmclock's
cmake set-up, specifically not having dmclock's cmake files call
add_test. Remove dmclock tests from being dependencies on ceph's
"test" target. Make change so dmclock tests are not built unless
WITH_TESTS and WITH_DMCLOCK_TESTS are both set. This is so openSUSE
Leap will build correctly.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
We need to have ceph-base installed before ceph-selinux to use ceph-disk
in %post script. The default ordering is random and so the installation
randomly failed to relabel the files.
Fixes: http://tracker.ceph.com/issues/20184
Signed-off-by: Boris Ranto <branto@redhat.com>
The SELinux package now requires the ceph-disk binary but that one was
part of the ceph-osd package. The ceph-disk python library is already
packaged in ceph-base so moving ceph-disk to ceph-base seems like a
reasonable next step.
Signed-off-by: Boris Ranto <branto@redhat.com>
We can take advantage of ceph-disk fix subcommand when doing a package
install. We will keep using the differential fixfiles command otherwise.
We also need to add relabel for /usr/bin/ daemons so that we could use
this.
Fixes: http://tracker.ceph.com/issues/20077
Signed-off-by: Boris Ranto <branto@redhat.com>
Since the Beast frontend uses boost::context which is not supported on
s390x.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
This is the simplest way to generate the keys and probably the least
likely to cause trouble in the future.
Signed-off-by: Boris Ranto <branto@redhat.com>
This allows users to create their own certificates that are signed by a
CA. If the keys are not present then a self-signed certificate will be
created and distributed amongst all the mgr nodes.
It also allows us to get rid of the pyOpenSSL dependency.
Signed-off-by: Boris Ranto <branto@redhat.com>
The new rest API uses pecan for the restful functionality and simplifies
the code significantly. It should be mostly equivalent in functionality
to the django-based rest API. The api is self-documenting via /doc
endpoint.
Signed-off-by: Boris Ranto <branto@redhat.com>
This commit moves "BuildRequires: python-sphinx" down to the RH/CentOS/Fedora
distro conditional and adds a "BuildRequires: python-Sphinx" to the SUSE
conditional.
Signed-off-by: Jan Matejek <jmatejek@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This commit moves the radosgw-admin command from
the radosgw package to ceph-common.
This allows for a better user expierence since the
radosgw-admin command can be run on any node.
Fixes: http://tracker.ceph.com/issues/19577
Signed-off-by: Ali Maredia <amaredia@redhat.com>
mgr/pybind/fsstatus already required this, but ceph.in does now.
Add as a build dependency as well to handle tests.
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Creates an installable version of "src/include/rados/objclass.h" that allows
object classes to be built outside of the Ceph tree. cls_sdk is an example
of such an object class.
Signed-off-by: Neha Ojha <nojha@redhat.com>
ca40e12845 added the following lines to the spec
file:
%dir %{_libdir}/ceph/crypto
%{_libdir}/ceph/crypto/libceph_*.so*
and 350932979b made it so those build artifacts
are generated on x86_64 only.
The result is a build failure on non-x86_64 architectures:
error: Directory not found: /home/abuild/rpmbuild/BUILDROOT/ceph-12.0.2+git.1493119152.181baf6-1.1.ppc64le/usr/lib64/ceph/crypto
error: File not found by glob: /home/abuild/rpmbuild/BUILDROOT/ceph-12.0.2+git.1493119152.181baf6-1.1.ppc64le/usr/lib64/ceph/crypto/libceph_*.so*
Signed-off-by: Nathan Cutler <ncutler@suse.com>
ceph-create-keys unit file was removed here:
* 8bcb4646b6
* dc5fe8d415
As a consequence the systemctl preset command now fails to run since the
unit does not exist anymore. Due to the redirection in /dev/null we
don't know what's happening.
Ultimately the mon unit doesn't get enabled and the mon service won't
start after reboot.
Removing the old/non-existent unit makes the command succeed now.
Signed-off-by: Sébastien Han <seb@redhat.com>
instead, it "Recommends" python-rados. as "Recommends:" is not supported on
older distros, only enable this on SuSE.
because python-cephfs *can* be used without python-rados. the
constructor of LibCephFS accepts a ceph.conf *or* a rados.Rados
instance.
Signed-off-by: Kefu Chai <kchai@redhat.com>
when packaging debian packages, dpkg-shlibdeps analyzes the linked
shared libraries of the binaries in given package by looking at their
names. but if the name does not include any useful versioning
information, it complains. we have no intention of versioning
libceph-common, as it is merely an internal shared library used by ceph
packages only. but there is no simple way to disable dpkg-shlibdeps'
warning of
dpkg-shlibdeps: warning: can't extract name and version from library
name 'libceph-common.so'
other than skipping the dpkg-shlibdeps for the whole package. so let's
just version it anyway.
Signed-off-by: Kefu Chai <kchai@redhat.com>
prior to this change, libcommon is a convenient library which gets
linked into librados, librbd and libcephfs and all ceph executables.
this incurs some problems:
- double dose of libcommon in memory space and HDD: waste of memory
and disk space.
- if an application links to two libraries including libcommon at the
same time. take librados and libcephfs as an example, they could
interfere with each other by changing the other guy's status.
after this change, libcommon is tuned into a shared library and
renamed to libceph-common. it will be installed into $prefix/lib/ceph,
and packaged in librados2.
ceph.spec.in,debian/librados2.install: package libceph-common in
librados2.
CMakeLists.txt:
- do not link against libboost-* if not necessary.
- s/common/ceph-common/g
- install libceph-common into $prefix/lib/ceph
- set rpath to $prefix/lib/ceph
- link against ceph-common if an executable needs access to non public
symbols in ceph.
Signed-off-by: Kefu Chai <kchai@redhat.com>
libcephd is a library that contains ceph daemon code
that can be statically linked in other applications.
Added MergeStaticLibraries.cmake that can merge static libraries
to form a bigger one. This approach avoids the need to mess with
STATIC libraries all over the code base.
Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
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>