Commit Graph

1183 Commits

Author SHA1 Message Date
Nathan Cutler
fe632e2d88 build/ops: make "patch" build dependency explicit
This commit adds "patch" as an explicit build dependency. Before, the RPM
build was installing it in the build environment via some mechanism that I
don't entirely understand.

The "patch" command is used by the BuildBoost cmake module.

Fixes: http://tracker.ceph.com/issues/40175
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-06-10 14:15:00 +02:00
Kefu Chai
177956c9f6
Merge pull request #28352 from smithfarm/wip-rpm-obsolete-python
rpm: have pybind RPMs provide/obsolete their python2 predecessors

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-06-08 23:27:39 +08:00
Kefu Chai
5cc1a62fda
Merge pull request #28428 from tchaikov/wip-package-crimson-osd
rpm,debian,install-deps: package crimson-osd

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
2019-06-08 00:03:22 +08:00
Kefu Chai
f03d8e2548 ceph.spec.in: align "Requires" of ceph-osd
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-07 22:17:19 +08:00
Kefu Chai
34b02f00d0 ceph.spec.in: package crimson-osd
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-07 22:17:19 +08:00
Mike Christie
8815671553 cmake and build: add netlink lib requirement detection
The next patch adds netlink support to rbd-nbd. This patch just adds the
build related changes to bring in the netlink lib and test and build
against it.

Signed-off-by: Mike Christie <mchristi@redhat.com>
2019-06-04 23:56:53 -05:00
Nathan Cutler
55bc3493f0 rpm: have py3 RPMs provide/obsolete py2 predecessors
When upgrading from a Python 2 build to a Python 3 one, we need to make the
python3-* packages replace their Python 2 counterparts.

Fixes: http://tracker.ceph.com/issues/40099
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-06-05 00:15:25 +02:00
Boris Ranto
a30f6eda53
Merge pull request #28228 from jan--f/spec-grafana-dashboards-require-grafana
ceph.spec.in: grafana-dashboards package depends on grafana

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
2019-06-04 22:52:54 +02:00
Jan Fajerski
76204d32fb ceph.spec.in: install grafana dashboards world readable
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2019-06-02 13:31:27 +02:00
Nathan Cutler
34bd11b992
Merge pull request #28170 from marxin/disable-lto-in-spec-file
rpm: Disable LTO in spec when being used.

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2019-05-29 18:21:34 +02:00
Martin Liska
6ab109bb9b rpm: Disable LTO in spec when being used
Fixes: http://tracker.ceph.com/issues/39974
Works around: https://tracker.ceph.com/issues/40060

Signed-off-by: Martin Liška <Martin.Liska@suse.com>
2019-05-29 14:26:42 +02:00
Jan Fajerski
c3ead45d1b ceph.spec.in: package prometheus default alerts for SUSE
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2019-05-10 10:01:18 +02:00
Sage Weil
5ef26e08ca Merge PR #26184 into master
* refs/pull/26184/head:
	mgr/dashboard: Replace IP address validation with Python standard library functions

Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Patrick Nawracay <pnawracay@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2019-04-24 20:38:19 -05:00
Sage Weil
d64d14a577 Merge PR #26730 into master
* refs/pull/26730/head:
	src/test: remove unused objects to calculate accurate dedup ratio.
	src/tools: fix counting total objects
	src/tools: fix printing wrong offset.
	src/tools: fix dedup tool's name
	qa/workunit: add rabin chunk test
	src/tool: add rabin fingerprint option to cephdeduptool
	src/common: add rabin fingerprint class
	Initail work for rabin fingerprint

Reviewed-by: Sage Weil <sage@redhat.com>
2019-04-24 20:38:02 -05:00
Ashish Singh
aeb1c11334 mgr/dashboard: Replace IP address validation with Python standard library functions
Instead of self-written validation methods to validate IPv4 and IPv6 addresses.
Use Python's standard library functions `ipaddress`.

Signed-off-by: Ashish Singh <assingh@redhat.com>
2019-04-23 17:20:23 +05:30
Sage Weil
2f361a6eee relicense LGPL-2.1 code as LGPL-2.1 or LGPL-3.0
The primary motivation to relicense is a desire to integrate with projects
that are licensed under the Apache License version 2.0.  Although opinions
vary, there are some who argue the the LGPL-2.1 and Apache-2.0 licenses
are not fully compatible.  We would like to avoid the ambiguity and
potential for controversy.

Projects we would like to consume that are Apache-2.0 licensed include
Seastar, OpenSSL (which is in the process of relicensing to Apache-2.0),
and Swagger (swagger.io).  Note that some of these are dynamically linked
or consumed via a high-level language and may or may not require a change
to LGPL-3.0, but providing the option for LGPL-3.0 certainly avoids any
uncertainty.

A few other source files are already incorporated into Ceph that claim an
Apache-2.0 license:

    src/common/deleter.h
    src/common/sstring.h
    src/include/cpp-btree

The Ceph developers would further like to provide a license option that is
more modern than the current LGPL-2.1.  LGPL-3.0 includes updated,
clarified language around several issues and is widely considered
more modern, superior license.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-04-22 11:22:55 -05:00
Kefu Chai
8ae1947728 rpm: add "Provides: python3-*" for python packages
so user can install python3-rados, instead of python36-rados, without
specifying the minor version of python. also, we should not break our
teuthology tests with this naming scheme change. for instance, our
cephfs qa suite installs `python3-cephfs` for testing the `cephfs-shell`

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-10 00:21:02 +08:00
Kefu Chai
11f0b8d5a8 rpm: always use 3 as the default python3_{pkgversion,version}
as we have the rpm macros installed in
https://github.com/ceph/ceph-build/pull/1283 .

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-09 23:15:18 +08:00
myoungwon oh
d72cc5a0ee src/tools: fix dedup tool's name
Signed-off-by: Myoungwon Oh <ommw@sk.com>
2019-04-08 19:19:09 +09:00
Kefu Chai
658ca2b0d7 rpm: use python 3.6 as the default python3
some of our centos7 jenkins builders are failing to build ceph master and
nautilus branches. because EPEL7 recently switched from python3.4 to
python3.6 as the native python3. see
https://lists.fedoraproject.org/archives/list/epel-announce@lists.fedoraproject.org/message/EGUMKAIMPK2UD5VSHXM53BH2MBDGDWMO/

and one of our BuildRequires, cmake3,
was offered by EPEL7. it also followed the python3.6 switch-over to
rebuild against python3.6. as a result, the cmake3-data-3.13.4-2.el7
started to depend on /usr/bin/python3.6, which is in turn offered by
python36 package. after installing python36 as a dependency of the
updated cmake3. but in cmake, we originally checks for the latest
python3 interpreter if WITH_PYTHON3 is enabled, that's why these
builders which happen to install these updated packages started to fail
when detecting the existence of python3.6 related build dependencies.

as a fix, in d1e83082,
python%{python3_pkgversion}-{devel,setuptools,Cython} are listed as
BuildRequires to reflect this change in EPEL7. before d1e83082, we
hardwired them to python34-*.

but as following analysis puts, there are cases where `yum-builddep`
is inconsistent with `rpmbuild`. as `yum-builddep` changes the how
`python3_pkgversion` and `python3_version` macros are expanded:

- none of the packages installed by `yum-builddep` installs the python3
  related rpm macros, so the system stays with whatever python3 it was
  using. in this case, `rpmbuild` won't complain, as the
  `python3_pkgversion` and `python_version` are consistent before and
  after `yum-builddep`.
- system has python3.4 installed before `yum-builddep`. but
  `yum-builddep` installed python3.6 and also the updated
  `python-rpm-macros` packages, which points `python3_version` and
  `python3_pkgversion` to 3.6 and 36 respectively. in this case,
  `rpmbuild` will complain, because when we run `yum-builddep`,
  `python3_version` was still "3.4".
- system does not have python3 installed before `yum-builddep`. so
  it was using python34 for preparing the "BuildRequires". but some
  of the packages installed by `yum-builddep` installs python36, and
  also the updated `python-rpm-macros` packages, which points
  `python3_version` and `python3_pkgversion` to 3.6 and 36 respectively.
  in this case, `rpmbuild` will complain, because the python36 related
  dependencies are missing. what the system has is python34
  dependencies.
- system does not have python3 installed before `yum-builddep`. so
  it was using python34 for preparing the "BuildRequires". but some
  of the packages installed by `yum-builddep` installs python34, and
  also the updated `python-rpm-macros` packages, which points
  `python3_version` and `python3_pkgversion` to 3.4 and 34 respectively.
  in this case, `rpmbuild` won't complain, as the
  `python3_pkgversion` and `python_version` are also consistent before and
  after `yum-builddep`.

as we cannot tell if the system has python3 or what the python3 version
the system has before `yum-builddep`, so what we can do is to ensure
`rpmbuild` has what it needs to build Ceph. so let's just stick with
python3.6.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-08 10:12:32 +08:00
Kefu Chai
cea9d18ced rpm: use python3.4 on RHEL7 by default
python3.4 is the native python3 before 7.6

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-06 00:28:39 +08:00
Kefu Chai
d1e83082b4 rpm: install python%{python3_pkgversion}-devel on el7
as RHEL 7.7 support a native python3.6, we cannot hardwire to python3.4
on RHEL7/CentOS7 anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-05 10:16:25 +08:00
Kefu Chai
8bd69f29af
Merge pull request #27358 from tchaikov/wip-multi-python3
rpm,cmake: use specified python3 version if any 

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
2019-04-04 23:50:32 +08:00
Kefu Chai
7681a38ce5 rpm: pass %{python3_version} to cmake
to force cmake to use the python3 and python3 modules for building
python3 bindings

on the debian side, it's okay to continue using "-DWITH_PYTHON3=ON", as

- cmake does normalize "ON" to 3
- debian's cmake extension lives on /usr/lib/python3/dist-packages/
  not in a specific /usr/lib/python3.x/dist-packages directory

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-04 13:30:48 +08:00
Kefu Chai
00f19923b4 install-deps,rpm: enable devtoolset-8 on aarch64 also
in 5ae3b06e, we left aarch64 with devtoolset-7, but aarch64 builders are
also suffering from http://tracker.ceph.com/issues/38892. so i installed
devtoolset-8 on all aarch64 builders manually from the rpm packages
downloaded from koji builder:

- https://cbs.centos.org/koji/buildinfo?buildID=24923
- https://cbs.centos.org/koji/buildinfo?buildID=24931

libasan5, libubsan1 are not installed.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-03 11:40:59 +08:00
Kefu Chai
9694a72dae rpm: s/devtoolset-7/devtoolset-8/
should activate devtoolset-8 not devtoolset-7 for enabling GCC-8.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-03-26 15:20:00 +08:00
Kefu Chai
128ce1199f
Merge pull request #27134 from tchaikov/wip-devtools-8
install-dep,rpm: use devtools-8 on amd64

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
2019-03-26 09:45:55 +08:00
Kefu Chai
1fdd8ed552
Merge pull request #27150 from tchaikov/wip-ceph.spec.in/immutable-object-cache
rpm: immutable-object-cache related changes

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-03-25 23:38:50 +08:00
Kefu Chai
253385d4cc rpm,deb: let immutable-object-cache depend on librados2
ceph-common depends on librados2, but ceph-immutable-object-cache only
uses librados2's C++ API, so librados2 would suffice.

rpmbuild is able to figure out the .so dependencies, and let
ceph-immutable-object-cache depend on the package which offers
librados2, but we'd better make sure immutable-object-cache is linked
against the librados2 of the same version, to ensure that librados2
offers the correct C++ symbols. as we only version the C++ API in the
librados2 after nautilus.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-03-25 13:56:52 +08:00
Kefu Chai
c80d5aa693 rpm: remove libradospp1 from immutable-object-cache's Requires
* remove "libradospp1" from immutable-object-cache's runtime
  dependencies. this package was removed in 65c8733b

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-03-25 12:47:34 +08:00
Kefu Chai
1cd1967013 rpm: do not use "-n" for immutable-object-cache
as immutable-object-cache has the prefix of "ceph", no need to use "-n"
option. so this change is but a cleanup.

* use "%package immutable-object-cache" not "%package
  ceph-immutable-object-cache" for naming subpackage of
  "ceph-immutable-object-cache". this would result in package name of
  "ceph-immutable-object-cache". see
  http://ftp.rpm.org/max-rpm/s1-rpm-subpack-spec-file-changes.html
* the same applies to other directives with "-n" options, see
  http://ftp.rpm.org/max-rpm/s1-rpm-inside-package-directive.html

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-03-25 12:47:34 +08:00
Kefu Chai
f904ba5574
Merge pull request #26819 from tchaikov/wip-rpm-more-recommends
rpm: use Recommends on fedora also

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2019-03-23 01:47:00 +08:00
Kefu Chai
5ae3b06e63 install-dep,rpm: use devtools-8 on amd64
seems devtools-8 is not packaged on aarch64. and we are suffering from
ICE on centos7 when building with GCC-7.3. so let's try GCC-8.2!

Fixes: http://tracker.ceph.com/issues/38892
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-03-23 01:37:00 +08:00
Yuan Zhou
9466d70985 build/ops: adding build spec for immutable object cache daemon
Signed-off-by: Yuan Zhou <yuan.zhou@intel.com>
2019-03-22 00:16:26 +08:00
Nathan Cutler
b0700f2b3f
Merge pull request #27046 from smithfarm/wip-38812
rpm: refrain from building ceph-resource-agents on SLE

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
2019-03-20 17:12:58 +01:00
Nathan Cutler
282a6b0675 rpm: refrain from building ceph-resource-agents on SLE
Fixes: https://tracker.ceph.com/issues/38812
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-03-19 12:22:32 +01:00
Nathan Cutler
b0da2371c1 rpm: fix "rhel <= 7" conditional
We do not build for RHEL 6 and below, so "rhel == 7" is just as good, while
also avoiding the bug.

In addition, "rhel == 7" is the conditional we are using everywhere else in the
spec file for this purpose.

Fixes: https://tracker.ceph.com/issues/38810
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-03-19 12:11:56 +01:00
Boris Ranto
4b3db559e7
Merge pull request #26756 from badone/wip-f28-broken-Cython-dep
rpm: Install python2-Cython on f28

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
2019-03-13 13:31:15 +01:00
Brad Hubbard
6de7111e73 rpm: Install python2-Cython in python2 environment
do_cmake.sh tests for Cython module version in python2

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2019-03-13 12:22:31 +10:00
Sébastien Han
7c4f29bf4a ceph.spec.in: add libstoragemgmt to mgr package
The libstoragemgmt package is needed so we can activate the drive
blink-led feature so we should pull that package.

Signed-off-by: Sébastien Han <seb@redhat.com>
2019-03-12 15:56:12 +01:00
Kefu Chai
147531515b rpm: use Recommends on fedora also
"Recommends" and other weak dependencies were introduced in rpm 4.12. it
is included by quite a few distros, including fedora 21 and up, and
recent SUSE distros. but RHEL7 still ships rpm 4.11. see
https://fedoraproject.org/wiki/Changes/RPM-4.12 and
https://software.opensuse.org/package/rpm . so we enable Recommends on
fedora and SUSE distros.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-03-07 22:42:36 +08:00
Sage Weil
6c723b927d Merge PR #26718 into master
* refs/pull/26718/head:
	rpm: put numpy and scipy deps in distro conditionals

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-03-07 06:30:46 -06:00
Nathan Cutler
5a0846631c rpm: put numpy and scipy deps in distro conditionals
Without this patch, attempts to install the ceph-mgr-diskprediction-local RPM
fail on SUSE platforms with the following error:

can't install ceph-mgr-diskprediction-local-14.1.0.402+ga396e8bf3b-3742.1.noarch:
  nothing provides numpy needed by ceph-mgr-diskprediction-local-14.1.0.402+ga396e8bf3b-3742.1.noarch
  nothing provides scipy needed by ceph-mgr-diskprediction-local-14.1.0.402+ga396e8bf3b-3742.1.noarch

Also take into account package naming differences between Fedora and
RHEL/CentOS.

Signed-off-by: Kefu Chai <kchai@redhat.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-03-06 15:13:23 +01:00
Sage Weil
e030ba465d Merge PR #26740 into master
* refs/pull/26740/head:
	rpm: advance spec file copyright date

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2019-03-05 14:05:54 -06:00
Sage Weil
11f986830e Merge PR #26719 into master
* refs/pull/26719/head:
	rpm: re-add pyOpenSSL as ceph-mgr runtime dependency

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-03-05 09:12:43 -06:00
Sage Weil
5c6d9d556f Merge PR #26694 into master
* refs/pull/26694/head:
	rpm: drop use of $FIRST_ARG

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2019-03-04 16:25:18 -06:00
Nathan Cutler
166ae7847c rpm: advance spec file copyright date
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-03-04 15:50:24 +01:00
Nathan Cutler
aa690517fb rpm: re-add pyOpenSSL as ceph-mgr runtime dependency
The "restful" MGR module is part of ceph-mgr, and is active by default when
deploying a Ceph cluster from scratch.

Without this patch, the cluster never reaches HEALTH_OK due to the following
health warning: "Module 'restful' has failed dependency: No module named
'OpenSSL'"

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-03-01 15:25:22 +01:00
Sage Weil
649ea55d8a Merge PR #26453 into master
* refs/pull/26453/head:
	rpm: build with lttng on ppc64le (SUSE)
	rpm: no lttng build on openSUSE s390x

Reviewed-by: Tim Serong <tserong@suse.com>
2019-02-28 18:07:59 -06:00
Franck Bui
926433f5d4 rpm: drop use of $FIRST_ARG
The use of $FIRST_ARG was probably required because the SUSE-specific
%service_* rpm macros were playing tricks on the shell positional parameters.
This is bad practice and error-prone, so let's assume that no macros should do
that anymore and hence it's safe to assume that positional parameters remain
unchanged after any rpm macro call.

Thanks to Franck Bui for providing this patch.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-02-28 14:03:30 +01:00
Nathan Cutler
4004f55905 rpm: use %_python_buildid to specify python-remoto dep
Without this patch, the Python 2 version of python-remoto is always installed,
even on Python 3 systems.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-02-26 10:25:56 +01:00
Sage Weil
d2a3168bf3 Merge PR #26617 into master
* refs/pull/26617/head:
	rpm: Fix pyOpenSSL dependency

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2019-02-25 16:41:40 -06:00
Sage Weil
4059cbd756 Merge PR #26543 into master
* refs/pull/26543/head:
	Revert "ceph.spec.in: python-kubernetes broken on rhel"

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2019-02-25 16:40:46 -06:00
Tim Serong
be98097979 rpm,cmake: additional fixes to make amqp support optional
Signed-off-by: Tim Serong <tserong@suse.com>
2019-02-25 19:49:20 +11:00
Brad Hubbard
ff324f450c rpm: Fix pyOpenSSL dependency
Fedora29 does not have pyOpenSSL but it does have python-pyOpenSSL

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2019-02-25 13:37:23 +10:00
Nathan Cutler
aac0e6751f rpm: build with lttng on ppc64le (SUSE)
In very recent SUSEs (e.g. Leap 15.1), the build dependencies needed for the
lttng build are satisfied for this architecture.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-02-22 18:36:12 +01:00
Nathan Cutler
79d3d48a5b rpm: no lttng build on openSUSE s390x
Since the lttng-ust-devel and babeltrace-devel RPMs are not maintained for s390x
in openSUSE, we have to exclude the lttng build on this architecture.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-02-22 18:36:12 +01:00
Jeff Layton
196e8151b5 Revert "ceph.spec.in: python-kubernetes broken on rhel"
This reverts commit c32c4874e1.

An updated python2-kubernetes package that does not depend on
python-adal has made it into the epel7 repos. With that change,
we can now revert this patch.

When we readd it back though, add in %{_python_buildid} so that
this works correctly on python3-based distros as well.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
2019-02-22 08:56:12 -05:00
Kefu Chai
ae786b93c8
Merge pull request #26520 from ktdreyer/rpm-rhel8
rpm: RHEL 8 fixes

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-02-22 15:44:52 +08:00
Kefu Chai
66fb02dcfe
Merge pull request #26555 from tchaikov/wip-install-build-deps
cmake,rgw: make amqp support optional

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2019-02-22 15:39:55 +08:00
Kefu Chai
dd5bc2ff21 rpm: disable amqp endpoint on SLE/OpenSUSE
as librabbitmq-devel is not packaged on them yet.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-22 10:30:25 +08:00
Ken Dreyer
f74c76c2da rpm: build __pycache__ directories on RHEL 8
In RHEL 8, rpmbuild does not automatically generate __pycache__
directories. Generate them explicitly with the %py_byte_compile macro.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2019-02-21 15:03:51 -07:00
Ken Dreyer
217c3f4ce5 rpm: fix pyOpenSSL requirement for RHEL 8
On RHEL 7, this package is named "pyOpenSSL", but on RHEL 8, Fedora, and
SUSE, it is named "python3-pyOpenSSL".

Prior to this change, the RHEL conditional was applying to both RHEL 7
and 8, so we would fail to resolve the "pyOpenSSL" package dependency on
RHEL 8.

Update the RPM conditionals to use "pyOpenSSL" on RHEL 7 and
"python3-pyOpenSSL" on all other distributions.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2019-02-21 15:03:51 -07:00
Ken Dreyer
2273bfce42 rpm: fix python dependencies on RHEL 8
On RHEL 8, the python34-* and Cython packages are named identically to
Fedora (eg "python3-Cython"). Move the Python 2 "Cython" and python34-*
BuildRequires lines inside a RHEL 7 conditional, so RHEL 8 falls through
to the Fedora package names.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2019-02-21 15:03:05 -07:00
Sage Weil
0a7077a855 Merge PR #26237 into master
* refs/pull/26237/head:
	Revert "qa: update test_envlibrados_for_rocksdb.sh for libradospp split"
	doc/librados: explicitly mention that the C++ API is not stable
	ceph.spec: force use of upgrade devtoolset-gcc under RHEL 7
	librados: add symbol versioning to the C++ API
	librados: add symbol versioning to the C API
	librados: revert librados3/libradoscc back to librados2

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-02-21 11:18:46 -06:00
Jason Dillaman
a7ce5fb07a ceph.spec: force use of upgrade devtoolset-gcc under RHEL 7
There is a known crash under C++17 mode that requires an updated
devtoolset to address.

See https://bugzilla.redhat.com/show_bug.cgi?id=1616223

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-21 08:28:43 -05:00
Jason Dillaman
d2b1ab49f5 librados: add symbol versioning to the C++ API
The future goal would be to change the version for each Ceph major
release to ensure C++ applications will need to be recompiled against
the librados C++ API since we don't guarentee ABI stability.

Fixes: https://tracker.ceph.com/issues/38177
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-21 08:27:38 -05:00
Kefu Chai
6ca980beff
Merge pull request #26402 from tchaikov/wip-install-deps
install-deps.sh: selectively install dependencies

Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2019-02-21 11:59:10 +08:00
Sage Weil
e784b697b4 Merge PR #26526 into master
* refs/pull/26526/head:
	rpm,deb: remove btrfs-tools as a build-dependency
	rpm,deb: remove bc as a build-dependency

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2019-02-20 21:36:13 -06:00
Jason Dillaman
65c8733b56 librados: revert librados3/libradoscc back to librados2
For backwards compatibility and upgrade reasons, the librados2
API needs to be preserved and it needs to continue to be compatible
with dependent libraries like librbd1.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-20 14:59:26 -05:00
Sage Weil
d198831c44 Merge PR #26262 into master
* refs/pull/26262/head:
	mgr/orch/ssh: add qa test
	qa: install/exclude ceph-mgr-ssh package
	debian: package ssh orchestrator
	spec.ceph: package ssh orchestrator
	ssh/orch: add ssh orchestrator
2019-02-20 13:05:11 -06:00
Noah Watkins
c9fc8d3a7c spec.ceph: package ssh orchestrator
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2019-02-20 09:45:48 -08:00
Matt Benjamin
fcb8149951
Merge pull request #25866 from yuvalif/add_amqp_push_endpoint_new
rgw/pubsub: add amqp push endpoint
2019-02-20 07:37:34 -05:00
Kefu Chai
01c9e2a632 rpm,deb: remove btrfs-tools as a build-dependency
this change reverts 7d48d21a

we are using bluestore for testing by default on GNU/Linux now. and on
FreeBSD, install-deps.sh does not look at spec.in or d/control.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-20 11:32:11 +08:00
Kefu Chai
8bec5c99f4 rpm,deb: remove bc as a build-dependency
this change reverts 3ff4be6d, because in ce9c0298, we replaced bc
with awk.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-20 11:32:05 +08:00
Sage Weil
a60f332c32 Merge PR #24805 into master
* refs/pull/24805/head:
	qa/suite: add dedup test
	src/tools: fix compile error (master version issue)
	src/tools: add stats (fixed objects,total objects)
	src/tools: make room for cdc
	src/tools: make enhacned stats and interface class
	src/tools: set timelimit and add signal handler to check progress
	src/tools: use the slice thing and make parallel (chunk_scrub)
	src/test: add max-thread test in test_dedup_tool.sh
	src/tools: use the slice thing and make parallel
	src/test: add chunk-scrub test in test_dedup_tool.sh
	src/tools: add chunk-scrub op in dedup tool
	src/cls/cas: add has_chunk op
	src/test: add test_dedup_tool.sh
	src/tools: initial works for dedup tool

Reviewed-by: Sage Weil <sage@redhat.com>
2019-02-17 08:18:06 -06:00
Kefu Chai
d86ef56332 rpm: guard runtime deps with "with make_check"
move jq and xmlstarlet into "with make_check", as they
are only used for running "make check", not for building Ceph.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-17 02:27:07 +08:00
Kefu Chai
2fb4cddd6f rpm,deb: add python-{openssl,requests} as make_check dependencies
Fixes: https://tracker.ceph.com/issues/37584
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-17 02:27:07 +08:00
Kefu Chai
ac1f62b750 rpm,deb: remove btrfs-tools as a build-dependency
this change reverts 7d48d21a

we are using bluestore for testing by default on GNU/Linux now. and on
FreeBSD, install-deps.sh does not look at spec.in or d/control.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-16 21:47:55 +08:00
Kefu Chai
502160594a rpm,deb: remove bc as a build-dependency
this change reverts 3ff4be6d, because in ce9c0298, we replaced bc
with awk.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-16 21:47:55 +08:00
Kefu Chai
c70faf4b13 rpm: mark mgr plugins "noarch"
as they are architecture independent.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-16 17:47:42 +08:00
Kefu Chai
5aab09992a rpm: s|lib/ceph/mgr|share/ceph/mgr|
as the mgr plugins are installed into $prefix/share/ceph/mgr now.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-16 16:38:27 +08:00
Nathan Cutler
d8e52a9e80 rpm: move Python deps out of distro-conditional blocks
The python%{_python_buildid}-bcrypt and python%{_python_buildid}-requests RPMs
are identically named across all the RPM distros, so move them out of the
distro conditional blocks.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-02-14 10:35:26 +01:00
Nathan Cutler
0b79741a77 rpm: make Python build deps somewhat less confusing
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-02-14 10:30:55 +01:00
Kefu Chai
9e561e9fb4
Merge pull request #26380 from tchaikov/wip-split-dashboard-package
deb,rpm,qa: split dashboard package

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2019-02-14 16:59:58 +08:00
Kefu Chai
ce6347d0c0
Merge pull request #26398 from SUSE/wip-fix-spec-badness
ceph.spec.in: Don't use noarch for mgr module subpackages, fix /usr/lib64/ceph/mgr dir ownership

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-02-14 15:53:52 +08:00
Sage Weil
2a1ffd57d7 mgr/smart: remove
This is obsolete and replaced by the devicehealth module.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-13 12:39:22 -06:00
Kefu Chai
937025b4f3 rpm: split ceph-mgr-dashboard plugin into its own package
to make ceph-mgr-dashboard a separated package

- helps to reduce the repo size of downstream. because
  ceph-mgr-dashboard is an architecture independent package. by
  making it separated package avoids needless duplication of
  the same data in mutiple .debs.
- gives user a fine grained control of selection.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-13 21:37:30 +08:00
Tim Serong
8933ae438c ceph.spec.in: Make ceph-mgr own /usr/lib64/ceph/mgr directory
Without this, no package actually owns the /usr/lib64/ceph/mgr directory
so the build fails with "directories not owned by a package" errors for
ceph-mgr, ceph-mgr-diskprediction-local, ceph-mgr-diskprediction-cloud
and ceph-mgr-rook.

Signed-off-by: Tim Serong <tserong@suse.com>
2019-02-13 22:13:06 +11:00
Tim Serong
d38312566f ceph.spec.in: Don't use noarch for ceph-mgr module subpackages
Even though ceph-mgr modules are notionally non-architecture-specific,
the files themselves are installed to an architecture-specific path
(/usr/lib64/ceph/mgr/....), which causes the build to fail on SUSE
distros with a huge long list of errors like:

ceph-mgr-diskprediction-cloud.noarch: E: suse-filelist-forbidden-noarch
(Badness: 10000) /usr/lib64/ceph/mgr/diskprediction_cloud is not
allowed in a noarch package
[...]
(none): E: badness 1120287 exceeds threshold 1000, aborting.

Signed-off-by: Tim Serong <tserong@suse.com>
2019-02-13 22:05:30 +11:00
Kefu Chai
729104e5f2
Merge pull request #26379 from tchaikov/wip-remove-jinja2
rpm,deb: remove python-jinja2 dependency

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2019-02-13 17:29:58 +08:00
Yuval Lifshitz
b4c4169821 rgw: pubsub support amqp endpoint - demo
Signed-off-by: Yuval Lifshitz <yuvalif@yahoo.com>
2019-02-13 10:30:15 +02:00
Ken Dreyer
2f88b85e9d Merge pull request #26368 from alfredodeza/wip-rm38261
build: further removal of `subman` configuration

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2019-02-12 12:13:53 -07:00
Kefu Chai
c2def40661 rpm,deb: remove python-jinja2 dependency
python-jinja2 dependency was added for the dashboard v1 in 87399bea. but
dashboard v2, which is now known as "dashboard" has taken the place of
the old dashboard. and dashboard now does not use jinja2, so we should
drop this dependency.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-12 17:16:33 +08:00
Alfredo Deza
3bf76e21c3 rpm: further removal/cleanup of subman calls
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2019-02-11 16:14:43 -05:00
Sage Weil
c32c4874e1 ceph.spec.in: python-kubernetes broken on rhel
Error: Package: python2-kubernetes-8.0.0-6.el7.noarch (epel)
           Requires: python-adal

Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-11 09:54:17 -06:00
Nathan Cutler
8ea24dd9aa
Merge pull request #26268 from smithfarm/wip-opensuse-s390
rpm: do not exclude s390x build on openSUSE

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-02-11 12:53:09 +01:00
Sage Weil
b4fa47390d Merge PR #25977 into master
* refs/pull/25977/head:
	qa/suites: exclude new packages when installing old versions
	rpm: add dependency on python-kubernetes module to ceph-mgr-rook package
	rpm,deb: add rbd_support module to ceph-mgr
	packaging: split ceph-mgr diskprediction and rook plugins into own packages

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2019-02-09 13:46:51 -06:00
Jeff Layton
dc13683c1a rpm: add dependency on python-kubernetes module to ceph-mgr-rook package
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2019-02-08 12:03:15 -05:00
Sage Weil
88b87c042d rpm,deb: add rbd_support module to ceph-mgr
Signed-off-by: Sage Weil <sage@redhat.com>
2019-02-08 08:29:45 -06:00