Commit Graph

1027 Commits

Author SHA1 Message Date
Mykola Golub
275bedc8d5
Merge pull request #26133 from dillaman/wip-37913
rbd: implement new 'rbd perf image iostat/iotop' commands

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-01-29 12:41:23 +02:00
Jason Dillaman
df4db9c5cb rbd: new 'perf image iostat/iotop' actions
This provides an 'iostat' and 'top'-like IO monitor for all
RBD images

Fixes: http://tracker.ceph.com/issues/37913
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-01-28 20:52:02 -05:00
Nathan Cutler
e6c257b799 rpm: fix xmlsec1 build dependency for dashboard make check
Fixes: 46d286c7f7
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-01-24 19:31:20 +01:00
Brad Hubbard
885a37ac02 mount.fuse.ceph: Fix ambiguous shebang
The ambiguous shebang now produces an error in rawhide and halts the
build. In f29 this was a warning. Add python3 as a dependency for
ceph-fuse.

Fixes: http://tracker.ceph.com/issues/37787

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2019-01-10 10:32:07 +10:00
Kefu Chai
5d9440b203
Merge pull request #25503 from ceph/rbd-mirror-ceph-base
spec: requires ceph base instead of common

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-12-21 14:04:34 +08:00
Tim Serong
0b29fbcc7b Revert "spec: fix cython package version to less than 0.29"
This reverts commit 088fbff7df.

Signed-off-by: Tim Serong <tserong@suse.com>
2018-12-17 23:56:28 +11:00
Sébastien Han
c0f77bd69e spec: requires ceph base instead of common
Currently rbd-mirror and radosgw packages installation won't create the
Ceph directories in /var/lib/ceph since they depend on ceph-common
only. ceph-base is responsible for creating these directories.

Since ceph-base requires ceph-common then let's use ceph-base as a
dependency.

Fixes: http://tracker.ceph.com/issues/37620
Signed-off-by: Sébastien Han <seb@redhat.com>
2018-12-13 11:09:48 +01:00
Sage Weil
74594b1798 Merge PR #25402 into master
* refs/pull/25402/head:
	pybind/mgr: rename get_option -> get_ceph_option
	pybind/mgr: add get_ceph_option to standby module interface
	ceph.spec.in: add xmlsec1 dependency for dashboard make check
	mgr: rename internal ceph_set_config -> ceph_set_module_option
	pybind/mgr: set_config -> set_module_option
	pybind/mgr: get_config -> get_module_option
	mgr: rename internal get_config -> get_module_option
	pybind/mgr: OPTIONS -> MODULE_OPTIONS

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Tim Serong <tserong@suse.com>
2018-12-12 14:00:52 -06:00
Nathan Cutler
506ba0ea0d build/ops: rpm: fix libradospp-devel runtime dependency
The devel packages don't get the major version in their name.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-12-11 15:06:08 +01:00
Sage Weil
46d286c7f7 ceph.spec.in: add xmlsec1 dependency for dashboard make check
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-11 03:54:52 -06:00
Nathan Cutler
c1083b2f4f build/ops: rpm: make ceph-grafana-dashboards own its directories on SUSE
This is only required to get the spec file to build in the OpenSUSE
Build Service (OBS). Also, this change could potentially make the
package impossible to install together with grafana (if the latter
owns the same directories with different ownership/permissions).
Therefore, make the change specific to SUSE.

Fixes: http://tracker.ceph.com/issues/37485
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Tim Serong <tserong@suse.com>
2018-12-07 16:16:42 +01:00
Sage Weil
59d0844c12 Merge PR #23550 into master
* refs/pull/23550/head:
	auth: Kerberos authentication
2018-12-05 13:42:17 -06:00
oliveiradan
67784065ce auth: Kerberos authentication
Signed-off-by: Daniel Oliveira <doliveira@suse.com> (github: oliveiradan)
2018-12-03 18:55:46 -07:00
Ricardo Dias
088fbff7df
spec: fix cython package version to less than 0.29
Cython version 0.29 removed the support for python subinterpreters,
which completely breaks ceph-mgr funcionality.

See cython repo commit:
7e27c7cd51

Fixes: http://tracker.ceph.com/issues/37472

Signed-off-by: Ricardo Dias <rdias@suse.com>
2018-11-29 15:31:16 +00:00
Nathan Cutler
7d03d522bc build/ops: rpm: RHEL 8 needs Python 3 build
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-11-22 14:31:54 +01:00
Nathan Cutler
8ea39207bf build/ops: rpm: add link to doc explaining bcond syntax
The %bcond_with and %bcond_without macros are confusing to folks who
don't do a lot of RPM packaging work. Let's try to help these folks out!

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-11-20 15:01:44 +01:00
Nathan Cutler
7d4916618c build/ops: rpm: stop install-deps.sh clobbering spec file Python build setting
Fedora 29 still ships a Python 2 binary, but some of Ceph's build
dependencies are only available in py3 versions there. In other
words, from F29 on, it is no longer possible to do a py2 Ceph build
on Fedora, even if a python2 binary exists on the system.

If that were not enough, the Python 2 that ships with Fedora 29 is
linked against a non-compatible version of OpenSSL.

Before this commit, install-deps.sh was overriding the spec file's
Python build setting based on the presence or absence of a python2
binary. As the bug cited below indicates, this was not a good idea.

It's better for the spec file to be explicit about which OS versions
are py2 and which are py3, and just stick to that.

Fixes: http://tracker.ceph.com/issues/37301
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-11-20 15:00:48 +01:00
Kefu Chai
cac0f5802a rpm,deb: libradospp1-dev should depend on librados-dev
because librados.hpp `#include`s librados.h

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-08 07:00:24 -08:00
Jason Dillaman
bbb0fc0f17
Merge pull request #24856 from leseb/spec-rbd-mirror
spec: add missing rbd mirror bootstrap directory

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-11-05 07:23:42 -05:00
Sébastien Han
8c8d60d3c7 spec: add missing rbd mirror bootstrap directory
Currently /var/lib/ceph/bootstrap-rbd-mirror is absent, which means we
need to create it manually in order to pool the
client.bootstrap-rbd-mirror key.

Signed-off-by: Sébastien Han <seb@redhat.com>
2018-11-05 11:06:07 +01:00
Kefu Chai
38db3ee6c5 rpm,deb: package libceph-common.so.* not libceph-common.so*
be more explicit on what we are packaging. because only
libceph-common.so.${soversion} will be packaged, since libceph-common.so
won't be installed by cmake anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
842a57eb16 rpm: s/librados2/librados3/
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
dd0f43db7c rpm: add libradospp* packages
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
f386db6433
Merge pull request #24735 from b-ranto/wip-rpm-dashboards
build/ops: rpm: Package grafana dashboards

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-10-30 18:57:12 +08:00
Lenz Grimmer
88719afc73
Merge pull request #22833 from rjfd/wip-dashboard-jwt
mgr/dashboard: JWT authentication

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2018-10-30 10:50:20 +01:00
Ricardo Dias
2f5e7c3392
mgr/dashboard: backend: JWT based authentication
Signed-off-by: Ricardo Dias <rdias@suse.com>
2018-10-29 15:47:14 +00:00
Kefu Chai
fd80d4b476 rpm: use %license macro for packaging license file
see https://rpm-guide.readthedocs.io/en/latest/rpm-guide.html#rpm-macros

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-10-26 22:04:38 +08:00
Boris Ranto
5debf36b37 rpm: Create ceph-grafana-dashboards package
Signed-off-by: Boris Ranto <branto@redhat.com>
2018-10-25 19:55:16 +02:00
Nathan Cutler
7349218acb build/ops: drop sgdisk build/runtime dependencies
sgdisk was a dependency of ceph-disk, which has been ripped out.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-10-23 07:56:13 +02:00
Brad Hubbard
24636267f9 rpm: Use updated gperftools-libs at runtime
Due to ABI breakage in libtcmalloc.so.4 we need to specify the minimum
version to be used at runtime to be greater than or equal to the version
used at build time.

Fixes: http://tracker.ceph.com/issues/36508

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2018-10-18 11:22:25 +10:00
Boris Ranto
ea6d7d2c98 rpm: Use hardened LDFLAGS
Currently, we do pass the hardened CFLAGS and CPPFLAGS when building the
code. However, we do not pass the hardened flags to the linker. This
means that the binaries are linked without the options like -Wl,-z,now.
As a result, we do not fully harden the binaries that we build.

This commit fixes this by passing the RPM_LD_FLAGS to the linker so the
builds are linked with the properly hardened flags.

Fixes: http://tracker.ceph.com/issues/36316

Signed-off-by: Boris Ranto <branto@redhat.com>
2018-10-04 14:52:08 +02:00
Kefu Chai
a778cc701f
Merge pull request #24130 from tchaikov/wip-gcc-7.3
rpm: bump up required GCC version to 7.3.1

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-09-20 12:25:57 +08:00
Kefu Chai
5bcc179bc4 rpm: bump up required GCC version to 7.3.1
so we can include the fix of
https://gcc.gnu.org/ml/libstdc++/2017-07/msg00077.html and the fix at
7c78f2e672
. otherwise, if a class offers implicit conversion operator to
std::string and std::string_view, seastar will fail to compile. like

/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:3946:7:
note: candidate: std::basic_string<_CharT, _Traits, _Alloc>&
std::basic_string<_CharT, _Traits, _Alloc>::operator+=(const
std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char;
_Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
       operator+=(const basic_string& __str)
       ^~~~~~~~
/opt/rh/devtoolset-7/root/usr/include/c++/7/bits/basic_string.h:3988:7:
note: candidate: std::basic_string<_CharT, _Traits, _Alloc>&
std::basic_string<_CharT, _Traits,
_Alloc>::operator+=(std::basic_string<_CharT, _Traits,
_Alloc>::__sv_type) [with _CharT = char; _Traits =
std::char_traits<char>; _Alloc = std::allocator<char>;
std::basic_string<_CharT, _Traits, _Alloc>::__sv_type =
std::basic_string_view<char>]
       operator+=(__sv_type __sv)
       ^~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-17 22:51:26 +08:00
Kefu Chai
e69e50a859 rpm: use updated gperftools
make sure we only build with the higher version of gperftools on
distros where both 2.4 and 2.6.1 are packaged. see
https://git.centos.org/summary/rpms!gperftools.git . at the time of
writing, gperftools 2.6.1 is packaged for CentOS/RHEL 7, if gperftools
(>= 2.4) is required by Ceph, and user already has this version
installed, when new Ceph packages are installed, the updated gperftools
2.6.1 version won't be installed as a dependency. when launching
Ceph compiled with tcmalloc enabled, we will have

symbol lookup error: ceph-osd: undefined symbol: _ZdaPvm

so, by bumping up the required version of gperftools, the updated
gperftools will be installed.

see https://software.opensuse.org/package/gperftools, openSUSE/SLE offer
2.5. so they are safe at this moment.

Fixes: http://tracker.ceph.com/issues/35969
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-17 14:20:51 +08:00
Brad Hubbard
fb101163fc rpm: Fix Fedora error "No matching package to install: 'Cython3'"
Fixes: http://tracker.ceph.com/issues/35831

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2018-09-07 13:32:08 +10:00
Patrick Donnelly
4699cec388
Merge PR #23656 into master
* refs/pull/23656/head:
	build/ops: rpm: package cephfs-shell for SUSE as well as Fedora

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-08-25 12:52:09 -07:00
Kefu Chai
b2733c0426
Merge pull request #23648 from sakhinov/sakhinov-fix-bcrypt
change ceph-mgr package depency from py-bcrypt to python2-bcrypt

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-08-23 19:25:32 +08:00
Kefu Chai
2532fb6b2a
Merge pull request #21983 from chardan/jfw-wip-libradosstriper_ultimate-final-battle
libradosstriper: conditional compile

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-08-23 19:20:16 +08:00
Nathan Cutler
e0f79368a4 build/ops: rpm: package cephfs-shell for SUSE as well as Fedora
6dd06b0c34 introduced RPM packaging of cephfs-shell

This initial packaging was Fedora-only, but colorama and cmd2 *are* packaged
for both openSUSE and SLE.

Note: there is no py2-compatible version of cephfs-shell.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-08-21 17:11:52 +02:00
Konstantin Sakhinov
6af10cae66 rpm: change ceph-mgr package depency from py-bcrypt to python2-bcrypt
Signed-off-by: Konstantin Sakhinov <sakhinov@gmail.com>
2018-08-20 16:08:33 +03:00
Jesse Williamson
1a44357f5c package: modify ceph.spec.in to support libradosstriper conditional compilation
Signed-off-by: Jesse Williamson <jwilliamson@suse.de>
2018-08-16 08:21:42 -07:00
Sage Weil
b0b616df7b Merge PR #23240 into master
* refs/pull/23240/head:
	qa/suites/rados, qa/workunits/rados: Add suite/workunit for ceph-crash
	add ceph-crash service
	common/options: enable mgr 'crash' module by default
	global/signal_handler: add 'done' file to signal crashdump is ready

Reviewed-by: Sage Weil <sage@redhat.com>
2018-08-14 20:31:29 -05:00
Kefu Chai
6dd06b0c34 rpm: package cephfs-shell for fedora
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-09 20:19:34 +08:00
Dan Mick
da20184a16 add ceph-crash service
ceph-crash runs from systemd and watches /var/lib/ceph/crash
for crashdumps, posting them to the mgrs using the mgr's
crash plugin

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2018-08-08 18:37:43 -07:00
Kefu Chai
f18ffecca3 rpm: remove fmt-devel from BuildRequires
because RHEL/CentOS 7 only offers fmt-devel 3.0.2, while seastar
requires >= 4.0.0, < 5.0.0, and on openSUSE Leap 15, we have
libfmt-devel 5.x.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 23:16:11 +08:00
Nathan Cutler
f0eed6d00e build/ops: rpm: fix seastar build dependencies
1. cryptopp-devel was moved to the distro-specific section by
aeb974b913, then
96196e9d77 reintroduced it in the
non-distro-specific section, breaking install-deps.sh for SUSE

2. fmt-devel is called libfmt-devel on SUSE

Fixes: install-deps.sh on SUSE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-08-02 12:19:34 +02:00
Kefu Chai
d76fbf67a6
Merge pull request #23043 from tchaikov/wip-python-cephfs-dependencies
deb,rpm: fix python-cephfs dependencies

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-28 09:53:32 +08:00
Kefu Chai
03c7bee4ee deb,rpm: python-cephfs should depend on python-ceph-argparse
python-ceph-argparse is required by ceph_volume_client.py. hence we do
need list it as a dependency of python-cephfs.

Fixes: http://tracker.ceph.com/issues/24919
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-25 20:53:50 +08:00
Kefu Chai
8d8099b73e rpm: Revert "build/ops: rpm: python3-ceph-argparse only if Python 2 available"
This reverts commit c0b7aab381.

python3-ceph-argparse is required by ceph_volume_client.py. hence we do
need it as a dependency of python3-cephfs.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-25 15:22:16 +08:00
Kefu Chai
b35823cbbc deb,rpm: python-cephfs should depend on python-rados
in `cephfs.pyx` we `cimport rados`, and in
LibCephFs.create_with_rados(), Rados.cluster is accesssed without GIL,
so we need to import the rados module for cephfs to ensure that it's
safe to access this attribute without GIL.

dh_python2 and dh_python3 cannot fill ${python:Depends} and
${python3:Depends} with this dependency, so we need to set it
explicitly.

Fixes: http://tracker.ceph.com/issues/24918
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-25 15:22:16 +08:00