Compare commits

...

30 Commits

Author SHA1 Message Date
Kaleb S. KEITHLEY 78d3818e79 Merge remote-tracking branch 'origin/f32' into f31 2020-11-06 16:02:45 -05:00
Kaleb S. KEITHLEY 7309fa29a1 ceph 14.2.13 python-enum34
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-11-06 12:54:10 -05:00
Kaleb S. KEITHLEY 120e8c9568 ceph 14.2.13 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-11-02 15:56:36 -05:00
Kaleb S. KEITHLEY 8165314d16 ceph 14.2.13 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-11-02 15:56:22 -05:00
Kaleb S. KEITHLEY 08e16ad920 ceph 14.2.13 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-11-02 15:31:54 -05:00
Kaleb S. KEITHLEY 8aa81040cf ceph 14.2.12 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-10-20 22:37:52 -04:00
Kaleb S. KEITHLEY 4f48590d7c ceph 14.2.12 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-10-20 22:06:32 -04:00
Kaleb S. KEITHLEY eb7606c26e ceph 14.2.11 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-08-12 19:43:30 -04:00
Kaleb S. KEITHLEY 8908414dbb ceph 14.2.11 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-08-12 10:43:23 -04:00
Kaleb S. KEITHLEY e7adab6740 Merge remote-tracking branch 'origin/f32' into f31 2020-06-29 11:55:19 -04:00
Kaleb S. KEITHLEY 893fb25915 delete dead patch 2020-06-29 11:54:35 -04:00
Kaleb S. KEITHLEY 124b7ed13d ceph 14.2.10 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-06-26 16:56:10 -04:00
Kaleb S. KEITHLEY ba66bd31da ceph 14.2.10 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-06-26 13:36:16 -04:00
Kaleb S. KEITHLEY d8c1a1fc2d ceph 14.2.9, /w system gtest, gmock, or would be if it was new enough
thus disabling as the bundled gtest, etc. result in a build that doesn't
  install.

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-05-27 08:59:09 -04:00
Kaleb S. KEITHLEY 750cbd5432 ceph 14.2.9, /w system gtest, gmock, or would be if it was new enough
thus disabling as the bundled gtest, etc. result in a build that doesn't
  install.

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-05-26 12:40:22 -04:00
Kaleb S. KEITHLEY 5a7a3a3ba2 ceph 14.2.9, /w system gtest, gmock, or would be if it was new enough
thus disabling as the bundled gtest, etc. result in a build that doesn't
  install.

Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-05-26 12:01:21 -04:00
Kaleb S. KEITHLEY 1e1ba2ab5a ceph 14.2.9, /w system gtest, gmock
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-05-26 11:30:03 -04:00
Kaleb S. KEITHLEY 7b2d02d80f Merge remote-tracking branch 'origin/f32' into f31 2020-04-21 14:59:05 -04:00
Kaleb S. KEITHLEY f19e5cedd6 ceph 14.2.9 GA, resync w/ upstream ceph.spec(.in)
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-04-21 14:51:14 -04:00
Kaleb S. KEITHLEY c6a56250f6 ceph 14.2.8 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-03-05 08:33:25 -05:00
Kaleb S. KEITHLEY afd1749306 Merge remote-tracking branch 'origin/f32' into f31 2020-03-04 16:20:05 -05:00
Kaleb S. KEITHLEY f30bd24a7b ceph 14.2.8 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-03-04 10:31:51 -05:00
Kaleb S. KEITHLEY de4da99414 ceph 14.2.8 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-03-03 09:38:35 -05:00
Kaleb S. KEITHLEY 8fba3c4047 Merge remote-tracking branch 'origin' into f31 2020-02-03 00:35:00 -05:00
Kaleb S. KEITHLEY 384d883beb ceph 14.2.7 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-02-01 04:10:32 -05:00
Kaleb S. KEITHLEY ed755c5530 ceph 14.2.6, https://tracker.ceph.com/issues/43649
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2020-01-30 13:33:29 -05:00
Kaleb S. KEITHLEY 9ddd84af30 Merge remote-tracking branch 'origin' into f31 2020-01-30 13:30:10 -05:00
Kaleb S. KEITHLEY 15e2388df3 Merge remote-tracking branch 'origin' into f31 2020-01-12 07:23:43 -05:00
Kaleb S. KEITHLEY 8f6e84efec Merge remote-tracking branch 'origin' into f31 2020-01-09 09:37:47 -05:00
Kaleb S. KEITHLEY 3343bdbb01 ceph 14.2.5 GA 2019-12-10 15:12:49 -05:00
5 changed files with 175 additions and 221 deletions
+19 -6
View File
@@ -1,13 +1,26 @@
<<<<<<< HEAD
--- ceph-15.1.0/src/common/bit_str.h.orig 2020-02-03 09:47:20.047149798 -0500
+++ ceph-15.1.0/src/common/bit_str.h 2020-02-03 09:47:50.213149798 -0500
=======
--- ceph-14.2.6/src/common/bit_str.h.orig 2020-01-24 11:37:20.547679336 -0500
+++ ceph-14.2.6/src/common/bit_str.h 2020-01-24 11:37:55.351904895 -0500
@@ -14,7 +14,10 @@
#ifndef CEPH_COMMON_BIT_STR_H
#define CEPH_COMMON_BIT_STR_H
+#include <cstdint>
+#include <iosfwd>
>>>>>>> origin/f32
@@ -17,6 +17,7 @@
#include <cstdint>
#include <iosfwd>
#include <functional>
+#include <ostream>
namespace ceph {
class Formatter;
--- ceph-15.2.4/src/global/signal_handler.h.orig 2020-07-17 12:57:54.763628429 -0400
+++ ceph-15.2.4/src/global/signal_handler.h 2020-07-17 12:58:10.610628429 -0400
@@ -16,6 +16,8 @@
#define CEPH_GLOBAL_SIGNAL_HANDLER_H
#include <signal.h>
+#include <string>
+
#include "acconfig.h"
typedef void (*signal_handler_t)(int);
-10
View File
@@ -1,10 +0,0 @@
--- ceph-14.2.6/src/librbd/api/PoolMetadata.h.orig 2020-01-24 12:39:23.738816885 -0500
+++ ceph-14.2.6/src/librbd/api/PoolMetadata.h 2020-01-24 12:39:36.522902386 -0500
@@ -8,6 +8,7 @@
#include "include/rados/librados_fwd.hpp"
#include <map>
+#include <string>
namespace librbd {
@@ -1,135 +0,0 @@
From 8db2a44c9438749be98d41fb309f10d5084805df Mon Sep 17 00:00:00 2001
From: Jeff Layton <jlayton@redhat.com>
Date: Fri, 17 Jan 2020 07:48:12 -0500
Subject: [PATCH] mount.ceph: remove arbitrary limit on size of name= option
Aaron was getting back -ERANGE errors when trying to mount using
a long name= option. The issue is that the destination buffer for the
"key=" string is not big enough to hold long names.
When I overhauled the mount.ceph code recently, I made this buffer much
smaller than before figuring that it didn't need to be any larger than
the length of "secret=<base64 encoded key>".
In the case where the secret is set in the keyring though, this buffer
needs to be able to hold a string like "key=client.<cephx name>". The
cephx name can be of arbitrary length, however.
Rework the code to just safe_cat the strings directly into the options
buffer, eliminating an extra copy and the need for an arbitrary limit.
This also allows us to remove get_secret_option() from the the common
code as well.
Fixes: https://tracker.ceph.com/issues/43649
Reported-by: Aaron <aarongmldt@gmail.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
---
src/common/secret.h | 7 ------
src/mount/mount.ceph.c | 45 ++++++++++++++++++++++++-------------
src/mount/mount.ceph.h | 3 ---
4 files changed, 30 insertions(+), 75 deletions(-)
diff --git a/src/common/secret.h b/src/common/secret.h
index b681fa1ec7..5d2ad179dd 100644
--- a/src/common/secret.h
+++ b/src/common/secret.h
@@ -7,13 +7,6 @@ extern "C" {
int read_secret_from_file(const char *filename, char *secret, size_t max_len);
-/*
- * Attempts to add the secret to the kernel, but falls back to
- * the old secret= option if the kernel is too old.
- */
-int get_secret_option(const char *secret, const char *key_name,
- char *secret_option, size_t secret_option_len);
-
int set_kernel_secret(const char *secret, const char *key_name);
int is_kernel_secret(const char *key_name);
diff --git a/src/mount/mount.ceph.c b/src/mount/mount.ceph.c
index e970648c59..133bc554f5 100644
--- a/src/mount/mount.ceph.c
+++ b/src/mount/mount.ceph.c
@@ -425,24 +425,39 @@ static void ceph_mount_info_free(struct ceph_mount_info *cmi)
free(cmi->cmi_conf);
}
-static int finalize_options(struct ceph_mount_info *cmi)
+static int append_key_or_secret_option(struct ceph_mount_info *cmi)
{
- int pos;
+ int pos = strlen(cmi->cmi_opts);
- if (cmi->cmi_secret[0] || is_kernel_secret(cmi->cmi_name)) {
- int ret;
- char secret_option[SECRET_OPTION_BUFSIZE];
+ if (!cmi->cmi_secret[0] && !is_kernel_secret(cmi->cmi_name))
+ return 0;
- ret = get_secret_option(cmi->cmi_secret, cmi->cmi_name,
- secret_option, sizeof(secret_option));
- if (ret < 0)
+ if (pos)
+ pos = safe_cat(&cmi->cmi_opts, &cmi->cmi_opts_len, pos, ",");
+
+ /* when parsing kernel options (-o remount) we get '<hidden>' as the secret */
+ if (cmi->cmi_secret[0] && (strcmp(cmi->cmi_secret, "<hidden>") != 0)) {
+ int ret = set_kernel_secret(cmi->cmi_secret, cmi->cmi_name);
+ if (ret < 0) {
+ if (ret == -ENODEV || ret == -ENOSYS) {
+ /* old kernel; fall back to secret= in options */
+ pos = safe_cat(&cmi->cmi_opts,
+ &cmi->cmi_opts_len, pos,
+ "secret=");
+ pos = safe_cat(&cmi->cmi_opts,
+ &cmi->cmi_opts_len, pos,
+ cmi->cmi_secret);
+ return 0;
+ }
+ fprintf(stderr, "adding ceph secret key to kernel failed: %s\n",
+ strerror(-ret));
return ret;
-
- pos = strlen(cmi->cmi_opts);
- if (pos)
- pos = safe_cat(&cmi->cmi_opts, &cmi->cmi_opts_len, pos, ",");
- pos = safe_cat(&cmi->cmi_opts, &cmi->cmi_opts_len, pos, secret_option);
+ }
}
+
+ pos = safe_cat(&cmi->cmi_opts, &cmi->cmi_opts_len, pos, "key=");
+ pos = safe_cat(&cmi->cmi_opts, &cmi->cmi_opts_len, pos, cmi->cmi_name);
+
return 0;
}
@@ -493,9 +508,9 @@ int main(int argc, char *argv[])
/* Ensure the ceph key_type is available */
modprobe();
- retval = finalize_options(&cmi);
+ retval = append_key_or_secret_option(&cmi);
if (retval) {
- fprintf(stderr, "couldn't finalize options: %d\n", retval);
+ fprintf(stderr, "couldn't append secret option: %d\n", retval);
retval = EX_USAGE;
goto out;
}
diff --git a/src/mount/mount.ceph.h b/src/mount/mount.ceph.h
index c563597c43..b61176923d 100644
--- a/src/mount/mount.ceph.h
+++ b/src/mount/mount.ceph.h
@@ -21,9 +21,6 @@ extern "C" {
/* Max Including null terminator */
#define SECRET_BUFSIZE (MAX_SECRET_LEN + 1)
-/* Buffer size for secret= option */
-#define SECRET_OPTION_BUFSIZE (sizeof("secret=") + MAX_SECRET_LEN + 1)
-
/* 2k should be enough for anyone? */
#define MON_LIST_BUFSIZE 2048
--
2.24.1
+155 -69
View File
@@ -2,7 +2,7 @@
#
# spec file for package ceph
#
# Copyright (C) 2004-2017 The Ceph Project Developers. See COPYING file
# Copyright (C) 2004-2019 The Ceph Project Developers. See COPYING file
# at the top-level directory of this distribution and at
# https://github.com/ceph/ceph/blob/master/COPYING
#
@@ -14,6 +14,7 @@
#
# Please submit bugfixes or comments via http://tracker.ceph.com/
#
#################################################################################
# conditional build section
#
@@ -27,7 +28,7 @@
%bcond_without ocf
%bcond_with make_check
%bcond_without ceph_test_package
%bcond_with ceph_test_package
%ifarch s390 s390x
%bcond_with tcmalloc
%else
@@ -35,36 +36,36 @@
%endif
%if 0%{?fedora} || 0%{?rhel}
%bcond_without selinux
%bcond_without ceph_test_package
%bcond_without cephfs_java
%bcond_without amqp_endpoint
%bcond_without lttng
%bcond_without libradosstriper
%bcond_without ocf
%bcond_without amqp_endpoint
%bcond_without kafka_endpoint
%global _remote_tarball_prefix https://download.ceph.com/tarballs/
%endif
%if 0%{?suse_version}
%bcond_with selinux
%bcond_with cephfs_java
%bcond_with amqp_endpoint
%bcond_with kafka_endpoint
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%global _fillupdir /var/adm/fillup-templates
%endif
%if 0%{?is_opensuse}
%bcond_without lttng
%bcond_without libradosstriper
%bcond_without ocf
%else
%bcond_with libradosstriper
%bcond_with ocf
%ifarch x86_64 aarch64
%endif
%ifarch x86_64 aarch64 ppc64le
%bcond_without lttng
%else
%bcond_with lttng
%endif
%endif
%endif
%bcond_with seastar
%if 0%{?fedora} >= 29 || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8
# distros that need a py3 Ceph build
@@ -83,7 +84,9 @@
%if 0%{without python2}
%global _defined_if_python2_absent 1
%endif
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8
%global weak_deps 1
%endif
%if %{with selinux}
# get selinux policy version
%{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
@@ -108,7 +111,7 @@
# main package definition
#################################################################################
Name: ceph
Version: 14.2.7
Version: 14.2.13
Release: 2%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@@ -127,10 +130,12 @@ URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-%{version}.tar.gz
Patch002: 0002-src-common-CMakeLists.txt.patch
Patch003: 0003-src-common-bitstr.h.patch
Patch004: 0004-src-librbd-api-PoolMetadata.h.patch
Patch005: 0005-mount.ceph-remove-arbitrary-limit-on-size-of-name-op.patch
# ceph ≥ 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787
ExcludeArch: i686 armv7hl
%if 0%{?suse_version}
# _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x
%endif
#################################################################################
# dependencies that apply across all distro families
#################################################################################
@@ -139,6 +144,7 @@ Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release}
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release}
Requires(post): binutils
%if 0%{with cephfs_java}
BuildRequires: java-devel
BuildRequires: sharutils
@@ -158,14 +164,14 @@ BuildRequires: fuse-devel
%if 0%{?rhel} == 7
# devtoolset offers newer make and valgrind-devel, but the old ones are good
# enough.
%ifarch x86_64
BuildRequires: devtoolset-8-gcc-c++ >= 8.2.1
%else
BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13
%endif
BuildRequires: devtoolset-8-gcc-c++ >= 8.2.1
%else
BuildRequires: gcc-c++
%endif
%ifarch s390 s390x
# unlike with gcc-10, installing gcc-9 does not include gcc/libatomic
BuildRequires: libatomic
%endif
BuildRequires: gdbm
%if 0%{with tcmalloc}
%if 0%{?fedora} || 0%{?rhel}
@@ -204,19 +210,22 @@ BuildRequires: xfsprogs
BuildRequires: xfsprogs-devel
BuildRequires: xmlstarlet
BuildRequires: yasm
%if 0%{with amqp_endpoint}
BuildRequires: librabbitmq-devel
%endif
%if 0%{with kafka_endpoint}
BuildRequires: librdkafka-devel
%endif
%if 0%{with make_check}
BuildRequires: jq
BuildRequires: libuuid-devel
BuildRequires: libuuid-devel
BuildRequires: python%{_python_buildid}-bcrypt
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-nose
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-requests
BuildRequires: python%{_python_buildid}-six
BuildRequires: python%{_python_buildid}-tox
BuildRequires: python%{_python_buildid}-virtualenv
BuildRequires: python%{_python_buildid}-pyOpenSSL
BuildRequires: socat
%endif
%if 0%{with seastar}
@@ -270,9 +279,12 @@ BuildRequires: openldap-devel
BuildRequires: openssl-devel
BuildRequires: CUnit-devel
BuildRequires: redhat-lsb-core
%if 0%{with python2}
BuildRequires: python2-Cython
%endif
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
%if 0%{?rhel}
%if 0%{?rhel} == 7
BuildRequires: python%{python3_version_nodots}-Cython
%else
BuildRequires: python%{python3_pkgversion}-Cython
@@ -284,9 +296,19 @@ BuildRequires: lz4-devel >= 1.7
# distro-conditional make check dependencies
%if 0%{with make_check}
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-tox
BuildRequires: xmlsec1
%if 0%{?rhel} == 7
BuildRequires: pyOpenSSL%{_python_buildid}
%else
BuildRequires: python%{_python_buildid}-pyOpenSSL
%endif
BuildRequires: python%{_python_buildid}-cherrypy
BuildRequires: python%{_python_buildid}-jwt
BuildRequires: python%{_python_buildid}-routes
BuildRequires: python%{_python_buildid}-scipy
BuildRequires: python%{_python_buildid}-werkzeug
BuildRequires: xmlsec1
%endif
@@ -295,7 +317,12 @@ BuildRequires: python%{_python_buildid}-CherryPy
BuildRequires: python%{_python_buildid}-PyJWT
BuildRequires: python%{_python_buildid}-Routes
BuildRequires: python%{_python_buildid}-Werkzeug
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-numpy-devel
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-pyOpenSSL
BuildRequires: python%{_python_buildid}-tox
BuildRequires: rpm-build
BuildRequires: xmlsec1-devel
%endif
%endif
@@ -331,6 +358,9 @@ BuildRequires: libcryptopp-devel
BuildRequires: libnuma-devel
%endif
%endif
%if 0%{?rhel} >= 8
BuildRequires: /usr/bin/pathfix.py
%endif
%description
Ceph is a massively scalable, open-source, distributed storage system that runs
@@ -361,7 +391,6 @@ Requires: grep
Requires: logrotate
Requires: parted
Requires: psmisc
Requires: python%{_python_buildid}-requests
Requires: python%{_python_buildid}-setuptools
Requires: util-linux
Requires: xfsprogs
@@ -373,7 +402,7 @@ Requires: which
Requires: gperftools-libs >= 2.6.1
%endif
%endif
%if 0%{?suse_version}
%if 0%{?weak_deps}
Recommends: chrony
%endif
%description base
@@ -392,7 +421,6 @@ Requires: python%{_python_buildid}-rbd = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-cephfs = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-rgw = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-requests
%if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-prettytable
%endif
@@ -442,23 +470,30 @@ Group: System/Filesystems
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-bcrypt
Requires: python%{_python_buildid}-pecan
Requires: python%{_python_buildid}-requests
Requires: python%{_python_buildid}-six
%if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-cherrypy
Requires: python%{_python_buildid}-werkzeug
Requires: python%{_python_buildid}-grpcio
Requires: python%{_python_buildid}-protobuf
%endif
%if 0%{?suse_version}
Requires: python%{_python_buildid}-CherryPy
Requires: python%{_python_buildid}-Werkzeug
Recommends: python%{_python_buildid}-influxdb
%endif
%if 0%{?weak_deps}
Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-diskprediction-cloud = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-rook = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-k8sevents = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-ssh = %{_epoch_prefix}%{version}-%{release}
Recommends: python%{_python_buildid}-influxdb
%endif
%if 0%{?rhel} == 7
Requires: pyOpenSSL
BuildRequires: python-enum34
%else
Requires: python%{_python_buildid}-pyOpenSSL
%endif
%description mgr
ceph-mgr enables python modules that provide services (such as the REST
@@ -479,6 +514,9 @@ Requires: python%{_python_buildid}-cherrypy
Requires: python%{_python_buildid}-jwt
Requires: python%{_python_buildid}-routes
Requires: python%{_python_buildid}-werkzeug
%if 0%{?weak_deps}
Recommends: python%{_python_buildid}-saml
%endif
%endif
%if 0%{?suse_version}
Requires: python%{_python_buildid}-CherryPy
@@ -504,8 +542,18 @@ BuildArch: noarch
Group: System/Filesystems
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel} > 7 || 0%{?suse_version}
Requires: python%{_python_buildid}-numpy
Requires: python%{_python_buildid}-scipy
%if 0%{without python2}
Requires: python3-scipy
%else
Requires: python2-scipy
%endif
%endif
%if 0%{?rhel} == 7
Requires: numpy
Requires: scipy
%endif
%description mgr-diskprediction-local
ceph-mgr-diskprediction-local is a ceph-mgr plugin that tries to predict
disk failures using local algorithms and machine-learning databases.
@@ -528,18 +576,19 @@ Summary: ceph-mgr rook plugin
Group: System/Filesystems
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-kubernetes
%description mgr-rook
ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using
a Rook backend.
%package mgr-k8sevents
BuildArch: noarch
Summary: Ceph Manager plugin to orchestrate ceph-events to kubernetes' events API
BuildArch: noarch
Summary: Ceph Manager plugin to orchestrate ceph-events to kubernetes' events API
%if 0%{?suse_version}
Group: System/Filesystems
Group: System/Filesystems
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-kubernetes
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-kubernetes
%description mgr-k8sevents
ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events
to kubernetes' events API
@@ -551,7 +600,7 @@ BuildArch: noarch
Group: System/Filesystems
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python3-remoto
Requires: python%{_python_buildid}-remoto
%description mgr-ssh
ceph-mgr-ssh is a ceph-mgr module for orchestration functions using
direct SSH connections for management operations.
@@ -641,7 +690,11 @@ Provides: ceph-test:/usr/bin/ceph-osdomap-tool
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: lvm2
Requires: sudo
Requires: libstoragemgmt
Requires: libstoragemgmt
%if 0%{?weak_deps}
Recommends: nvme-cli
Recommends: smartmontools
%endif
%description osd
ceph-osd is the object storage daemon for the Ceph distributed file
system. It is responsible for storing objects on a local file system
@@ -718,11 +771,6 @@ Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python-rgw}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
Provides: python3-rgw = %{_epoch_prefix}%{version}-%{release}
%if 0%{without python2}
Provides: python-rgw = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rgw < %{_epoch_prefix}%{version}-%{release}
%endif
%description -n python-rgw
This package contains Python 2 libraries for interacting with Cephs RADOS
gateway.
@@ -768,7 +816,7 @@ Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python%{python3_pkgversion}-rados}
%if 0%{without python2}
Provides: python-rados = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release}
%endif
%description -n python%{python3_pkgversion}-rados
This package contains Python 3 libraries for interacting with Cephs RADOS
@@ -858,6 +906,7 @@ Group: Development/Libraries/Python
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python%{python3_pkgversion}-rbd}
Provides: python3-rbd = %{_epoch_prefix}%{version}-%{release}
%if 0%{without python2}
Provides: python-rbd = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rbd < %{_epoch_prefix}%{version}-%{release}
@@ -871,10 +920,10 @@ Summary: Ceph distributed file system client library
%if 0%{?suse_version}
Group: System/Libraries
%endif
Obsoletes: libcephfs1 < %{_epoch_prefix}14.0.0-1
Obsoletes: libcephfs1 < %{_epoch_prefix}%{version}-%{release}
%if 0%{?rhel} || 0%{?fedora}
Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release}
Obsoletes: ceph-libcephfs < %{_epoch_prefix}14.0.0-1
Obsoletes: ceph-libcephfs < %{_epoch_prefix}%{version}-%{release}
%endif
%description -n libcephfs2
Ceph is a distributed network file system designed to provide excellent
@@ -976,6 +1025,8 @@ Requires: ceph-common = %{_epoch_prefix}%{version}-%{release}
Requires: xmlstarlet
Requires: jq
Requires: socat
BuildRequires: gtest-devel
BuildRequires: gmock-devel
%description -n ceph-test
This package contains Ceph benchmarks and test tools.
%endif
@@ -1155,11 +1206,14 @@ cd build
%{cmake} .. \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DBUILD_CONFIG=rpmbuild \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DCMAKE_INSTALL_LIBEXECDIR=%{_libexecdir} \
-DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} \
-DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \
-DCMAKE_INSTALL_MANDIR=%{_mandir} \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
-DWITH_MANPAGE=ON \
-DWITH_PYTHON3=%{python3_version} \
-DWITH_MGR_DASHBOARD_FRONTEND=OFF \
@@ -1169,9 +1223,6 @@ cd build
-DWITH_PYTHON2=OFF \
-DMGR_PYTHON_VERSION=3 \
%endif
%if 0%{?rhel} && ! 0%{?centos}
-DWITH_SUBMAN=ON \
%endif
%if 0%{without ceph_test_package}
-DWITH_TESTS=OFF \
%endif
@@ -1209,8 +1260,16 @@ cd build
-DWITH_RADOSGW_AMQP_ENDPOINT=ON \
%else
-DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
%endif
%if 0%{with kafka_endpoint}
-DWITH_RADOSGW_KAFKA_ENDPOINT=ON \
%else
-DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \
%endif
-DBOOST_J=$CEPH_SMP_NCPUS \
%if 0%{with ceph_test_package}
-DWITH_SYSTEM_GTEST=ON \
%endif
-DWITH_GRAFANA=ON
export VERBOSE=1
@@ -1221,8 +1280,8 @@ make "$CEPH_MFLAGS_JOBS"
%if 0%{with make_check}
%check
# run in-tree unittests
# cd build
# ctest "$CEPH_MFLAGS_JOBS"
cd build
ctest "$CEPH_MFLAGS_JOBS"
%endif
@@ -1259,6 +1318,11 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules
# sudoers.d
install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl
%if 0%{?rhel} >= 8
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/*
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/*
%endif
#set up placeholder directories
mkdir -p %{buildroot}%{_sysconfdir}/ceph
mkdir -p %{buildroot}%{_localstatedir}/run/ceph
@@ -1286,6 +1350,7 @@ install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildro
# hardlink duplicate files under /usr to save space
%fdupes %{buildroot}%{_prefix}
%endif
%if 0%{?rhel} == 8
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
%endif
@@ -1380,7 +1445,6 @@ fi
%postun base
/sbin/ldconfig
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph.target
@@ -1388,7 +1452,7 @@ DISABLE_RESTART_ON_UPDATE="yes"
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
@@ -1428,6 +1492,7 @@ fi
%{_mandir}/man8/ceph-authtool.8*
%{_mandir}/man8/ceph-conf.8*
%{_mandir}/man8/ceph-dencoder.8*
%{_mandir}/man8/ceph-diff-sorted.8*
%{_mandir}/man8/ceph-rbdnamer.8*
%{_mandir}/man8/ceph-syn.8*
%{_mandir}/man8/ceph-post-file.8*
@@ -1440,6 +1505,7 @@ fi
%{_mandir}/man8/rbd-replay.8*
%{_mandir}/man8/rbd-replay-many.8*
%{_mandir}/man8/rbd-replay-prep.8*
%{_mandir}/man8/rgw-orphan-list.8*
%dir %{_datadir}/ceph/
%{_datadir}/ceph/known_hosts_drop.ceph.com
%{_datadir}/ceph/id_rsa_drop.ceph.com
@@ -1521,7 +1587,6 @@ fi
%endif
%postun mds
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-mds@\*.service ceph-mds.target
@@ -1529,7 +1594,7 @@ DISABLE_RESTART_ON_UPDATE="yes"
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-mds@\*.service ceph-mds.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
@@ -1544,6 +1609,7 @@ fi
%files mgr
%{_bindir}/ceph-mgr
%dir %{_datadir}/ceph/mgr
%{_datadir}/ceph/mgr/alerts
%{_datadir}/ceph/mgr/ansible
%{_datadir}/ceph/mgr/balancer
%{_datadir}/ceph/mgr/crash
@@ -1596,7 +1662,6 @@ fi
%endif
%postun mgr
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-mgr@\*.service ceph-mgr.target
@@ -1604,7 +1669,7 @@ DISABLE_RESTART_ON_UPDATE="yes"
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-mgr@\*.service ceph-mgr.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
@@ -1724,7 +1789,6 @@ fi
%endif
%postun mon
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-mon@\*.service ceph-mon.target
@@ -1732,7 +1796,7 @@ DISABLE_RESTART_ON_UPDATE="yes"
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-mon@\*.service ceph-mon.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
@@ -1783,7 +1847,6 @@ fi
%endif
%postun -n rbd-mirror
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target
@@ -1791,7 +1854,7 @@ DISABLE_RESTART_ON_UPDATE="yes"
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
@@ -1808,10 +1871,12 @@ fi
%{_mandir}/man8/rbd-nbd.8*
%files radosgw
%{_bindir}/ceph-diff-sorted
%{_bindir}/radosgw
%{_bindir}/radosgw-token
%{_bindir}/radosgw-es
%{_bindir}/radosgw-object-expirer
%{_bindir}/rgw-orphan-list
%{_mandir}/man8/radosgw.8*
%dir %{_localstatedir}/lib/ceph/radosgw
%{_unitdir}/ceph-radosgw@.service
@@ -1839,7 +1904,6 @@ fi
%endif
%postun radosgw
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-radosgw@\*.service ceph-radosgw.target
@@ -1847,7 +1911,7 @@ DISABLE_RESTART_ON_UPDATE="yes"
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-radosgw@\*.service ceph-radosgw.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
@@ -1907,7 +1971,6 @@ fi
%endif
%postun osd
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
@@ -1915,7 +1978,7 @@ DISABLE_RESTART_ON_UPDATE="yes"
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
@@ -2072,7 +2135,7 @@ fi
%files -n libcephfs-devel
%dir %{_includedir}/cephfs
%{_includedir}/cephfs/libcephfs.h
%{_includedir}/cephfs/ceph_statx.h
%{_includedir}/cephfs/ceph_ll_client.h
%{_libdir}/libcephfs.so
%if 0%{with python2}
@@ -2250,9 +2313,9 @@ exit 0
%files grafana-dashboards
%if 0%{?suse_version}
%attr(0750,root,root) %dir %{_sysconfdir}/grafana
%attr(0750,root,root) %dir %{_sysconfdir}/grafana/dashboards
%attr(0750,root,root) %dir %{_sysconfdir}/grafana/dashboards/ceph-dashboard
%attr(0755,root,root) %dir %{_sysconfdir}/grafana
%attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards
%attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards/ceph-dashboard
%else
%attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards/ceph-dashboard
%endif
@@ -2268,18 +2331,41 @@ exit 0
%endif
%changelog
* Fri Nov 6 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.13-2
- ceph 14.2.13 python-enum34
* Mon Nov 2 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.13-1
- ceph 14.2.13 GA
* Tue Oct 20 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.12-1
- ceph 14.2.12 GA
* Tue Aug 11 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.11-1
- ceph 14.2.11 GA
* Fri Jun 26 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.10-1
- ceph 14.2.10 GA
* Tue May 26 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.9-2
- ceph 14.2.9, /w system gtest, gmock, or would be if it was new enough
thus disabling as the bundled gtest, etc. result in a build that doesn't
install.
* Tue Apr 21 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.9-1
- ceph 14.2.9 GA, resync w/ upstream ceph.spec(.in)
* Tue Mar 3 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.8-1
- ceph 14.2.8 GA
* Mon Feb 3 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.7-2
- ceph 14.2.7 python3-remoto #1784216
* Sat Feb 1 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.7-1
- ceph 14.2.7 GA
* Wed Jan 29 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.6-4
* Thu Jan 30 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.6-3
- ceph 14.2.6, https://tracker.ceph.com/issues/43649
* Mon Jan 27 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 2:14.2.6-3
- ceph 14.2.6, (temporarily) disable unit tests
* Fri Jan 24 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com>
- ceph 14.2.6, gcc-10, missing includes
+1 -1
View File
@@ -1 +1 @@
SHA512 (ceph-14.2.7.tar.gz) = 59f475e56053ba5e7e3a482a3a91b4d44272e6ec8051b92783de76c09c0d967a7ef76676db998968a709e48f08e90828dd8f86bd96a7c3fd111d48bfb7fd93b1
SHA512 (ceph-14.2.13.tar.gz) = 3d51b729ccf26aa9a40c1320f4051755ec405abc714ae5257ec5433a13549e34fed0945f3091525fd8118d00c36fe4ae793125728d9e17f4221cdd1ee7de5b12