Commit Graph

927 Commits

Author SHA1 Message Date
Kefu Chai
af20ea9d5a
Merge pull request #20140 from smithfarm/wip-python3-mopup
build/ops: rpm: Python 3-only ceph-disk and ceph-volume

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-02-02 15:35:05 +08:00
Nathan Cutler
f57e00db80 build/ops: rpm: fix _defined_if_python2_absent conditional
The expectation is that _defined_if_python2_absent will be defined
if (and only if) the python2 bcond is not set. Before this patch, if
somebody were to build the package on suse_version 1500 with
--with-python2, the _defined_if_python2_absent would be defined,
which is a bug.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-29 14:17:00 +01:00
Nathan Cutler
3d5dabf811 build/ops: rpm: Python 3-only ceph-disk and ceph-volume
This should have been part of 661ccdbaa1
but was overlooked.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-28 01:03:51 +01:00
Nathan Cutler
ea5ac3cdde build/ops: rpm: correct Group for python libraries
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-26 07:42:18 +01:00
Nathan Cutler
d688b23ff8 build/ops: rpm: introduce _python_buildid macro
This eliminates several ugly conditional blocks. This commit also does some
cleanup like dropping the ceph-base runtime dependency on "python", which is
implicit in "python-requests".

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-26 07:42:18 +01:00
Nathan Cutler
e9e62cbf81 build/ops: rpm: move distro-conditional make check deps
These were in the wrong section.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-26 07:42:18 +01:00
Nathan Cutler
c0b7aab381 build/ops: rpm: python3-ceph-argparse only if Python 2 available
The python3-ceph-argparse package is only necessary in environments where
Python 3 might not be available. For distros where Python 3 has become
standard with Python 2 an optional extension (instead of vice versa as
in the current status quo), the files in this package can (and should)
be included in ceph-common directly.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-26 07:42:18 +01:00
Nathan Cutler
b2d45578e7 build/ops: rpm: package byte-compiled ceph-rest-api
This is only necessary on Python 3-only systems.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-26 07:42:18 +01:00
Nathan Cutler
661ccdbaa1 build/ops: rpm: conditionalize Python 2 availability
Not all build targets have Python 2 available. Allow the build
to succeed on pure Python 3 systems.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-26 07:42:18 +01:00
Nathan Cutler
d048cb2cd8 build/ops: rpm: let ctest benefit from memory calculation
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 23:20:57 +01:00
Nathan Cutler
0cf627b4e3 build/ops: rpm: override %_smp_mflags if not enough memory
Sometimes the build machine has lots of processor cores and not enough
memory to successfully build Ceph on all of them at once. Calculate
how many parallel build processes we can sustain with the memory we
have and set a lower build parallelism if necessary. Never exceed
the value set by %_smp_mflags even if memory is aplenty.

Credits to Tomáš Chvátal for the original idea and implementation.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 23:20:56 +01:00
Nathan Cutler
353ff67780 build/ops: rpm: fix Group for rados-objclass-devel subpackage
Fixes RPMLINT warning "non-standard-group Development/Libraries"

Also, the Group: line is only needed for SUSE so put it in an appropriate
distro conditional.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 23:20:50 +01:00
Nathan Cutler
290d9094d6 build/ops: rpm: introduce _remote_tarball_prefix macro
With this macro, we can use a single Source0 line for all supported distros.
RH/CentOS/Fedora needs the prefix, while SUSE builds in the OBS use a local
tarball.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 17:16:26 +01:00
sysrich
2305bf06f8 build/ops: rpm: use %_fillupdir macro in openSUSE/SLES
Replace references to /var/adm/fillup-templates with new %_fillupdir macro

Fixes: https://bugzilla.opensuse.org/show_bug.cgi?id=1069468
Signed-off-by: Richard Brown <rbrown@suse.com>
2018-01-24 17:16:26 +01:00
Nathan Cutler
dd08d17fdf build/ops: rpm: reconstruct SUSE bconds
Disable java build completely. Enable lttng build on SLES only, and only for
certain architectures.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-24 17:16:26 +01:00
Nathan Cutler
a24afcdcd3 build/ops: rpm: rip out rcceph script
"rcceph" is a SysVinit-style command-line interface for stopping, starting,
enabling, etc. all ceph-osd and ceph-mon systemd units on a machine, in one go.

Since the same functionality is provided by ceph-{osd,mon}.target, the script
is obsolete. It is also unmaintained. Judging from the absence of recent
mentions of the script online, I guess it is no longer used.

Leaving dead code in the tree can cause confusion, especially when the code is
packaged and shipped to customers. Therefore I propose to rip it out.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-01-15 11:22:07 +01:00
Sage Weil
c4a7881876
Merge pull request #19881 from liewegas/wip-kill-crush-location
ceph-crush-location: remove

Reviewed-by: Wido den Hollander <wido@widodh.nl>
2018-01-11 15:48:29 -06:00
Kefu Chai
218df657d4
Merge pull request #19529 from thmour/master
ceph-volume: Require lvm2, move to osd package

Reviewed-by: Alfredo Deza <adeza@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-01-10 23:28:52 +08:00
Sage Weil
fb3220ff3e ceph-crush-location: remove
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>
2018-01-09 16:38:12 -06:00
Kefu Chai
f69516e1dc
Merge pull request #19777 from tchaikov/wip-rpm-fix-upgrade
rpm: adjust ceph-{osdomap,kvstore,monstore}-tool feature move

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-By: Nathan Cutler <ncutler@suse.com>
2018-01-08 19:07:48 +08:00
Kefu Chai
b07aa210aa rpm: adjust ceph-{osdomap,kvstore,monstore}-tool feature move
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>
2018-01-06 20:00:54 +08:00
Casey Bodley
b589b73c70 cmake: add WITH_BOOST_CONTEXT option
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>
2018-01-05 14:55:23 -05:00
Kefu Chai
4fda7cc599
Merge pull request #19598 from jcsp/wip-22457
packaging: explicit jinja2 dependency for dashboard

Reviewed-by: Wido den Hollander <wido@42on.com>
2018-01-05 23:15:04 +08:00
Kefu Chai
85a1fa68ab ceph.spec.in: use DTS-7 on aarch64 also
see https://bugs.centos.org/view.php?id=14078

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-30 23:20:07 +08:00
Theofilos Mouratidis
02bc369e05 ceph-volume: Require lvm2, move to osd package
Fixes: http://tracker.ceph.com/issues/22443

Signed-off-by: Theofilos Mouratidis <t.mour@cern.ch>
2017-12-25 16:52:07 +01:00
John Spray
87399bea83 packaging: explicit jinja2 dependency for dashboard
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>
2017-12-19 11:52:29 +00:00
Nathan Cutler
37e4bc3141 build/ops: rpm: set permissions 0755 on rbd resource agent
Fixes: http://tracker.ceph.com/issues/22362
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-12-13 18:15:27 +01:00
Kefu Chai
b38621f302 ceph.spec: use dts-7 on rhel
devtoolset-7 is available for RHEL, but not for centos. only dts-6 is
available for centos.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-09 11:18:27 +08:00
Kefu Chai
4068217579 ceph.spec: use devtoolset-6-gcc-c++ on aarch64
see https://github.com/sclorg/centos-release-scl
see https://buildlogs.centos.org/centos/7/sclo/aarch64/rh/

Fixes: http://tracker.ceph.com/issues/22301
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-05 23:48:15 +08:00
Kefu Chai
246c27a9c5 ceph.spec: use devtoolset-7-gcc-c++ on centos/rhel
for better performance.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-05 10:29:48 +08:00
Kefu Chai
b3ceafe7d8 cmake,rpm,deb: update to accommodate SPDK v17.10
* 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>
2017-11-29 18:03:23 +08:00
Kefu Chai
54b528b802
Merge pull request #19081 from smithfarm/wip-ceph-volume-spec
build/ops: rpm: fix systemd macros for ceph-volume@.service

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
2017-11-24 23:49:56 +08:00
Nathan Cutler
267a14528a
Merge pull request #18997 from tchaikov/wip-rpm-cunit-for-suse
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>
2017-11-24 15:08:13 +01:00
Boris Ranto
c2b98819d9
Merge pull request #19026 from badone/wip-selinux-policy-doc-rawhide-build
build/ops: rpm: selinux-policy fixes

Reviewed - by: branto@redhat.com
2017-11-23 13:54:52 +01:00
Brad Hubbard
ee4f172f98 build/ops: rpm: selinux-policy fixes
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>
2017-11-22 17:02:17 +10:00
Nathan Cutler
d1f2df37dd build/ops: rpm: fix systemd macros for ceph-volume@.service
Fixes: http://tracker.ceph.com/issues/22217
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-11-21 21:41:33 +01:00
Kefu Chai
586da3da4f
Merge pull request #18544 from ddiss/pid_max
sysctl.d: set kernel.pid_max=4194304

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-11-20 14:37:08 +08:00
Kefu Chai
1ac89cb799 rpm: add cunit-devel for 'suse_version'
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-18 14:05:25 +08:00
David Disseldorp
4d0b700688 sysctl: relocate 90-ceph-osd.conf under etc/sysctl/
Signed-off-by: David Disseldorp <ddiss@suse.de>
2017-11-17 14:40:23 +01:00
Kefu Chai
22d8dde1d5 rpm,deb: add cunit1 as build dependency
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-11-17 15:40:00 +08:00
John Spray
1fbd3b7b9f Merge pull request #18511 from smithfarm/wip-rpm-recommend-influxdb
build/ops: rpm: recommend python-influxdb with ceph-mgr

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
2017-10-26 17:23:34 +02:00
Nathan Cutler
ca820fff95 build/ops: rpm: recommend python-influxdb with ceph-mgr
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>
2017-10-25 09:42:47 +02:00
Kefu Chai
e90916dd77 Merge pull request #17894 from chenliuzhong/change-aio-max-nr
ceph.spec.in,debian/rules: change aio-max-nr to 1048576

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-10-25 13:25:24 +08:00
Kefu Chai
e479bd0ac1 rpm,debian: use download.ceph.com/tarballs instead of ceph.com/download
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-10-24 16:00:09 +08:00
chenliuzhong
36326dc710 ceph.spec.in,debian/rules: change aio-max-nr to 1048576
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>
2017-10-24 13:16:36 +08:00
Kefu Chai
21cf1eb4fd Merge pull request #18256 from liewegas/wip-bluestore-superblock
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>
2017-10-19 13:51:18 +08:00
Sage Weil
7b91e50dbd doc/man/8/ceph-bluestore-tool: add man page
Signed-off-by: Sage Weil <sage@redhat.com>
2017-10-16 14:29:10 -05:00
Nathan Cutler
d7b493a710 build/ops: rpm: move ceph-*-tool binaries out of ceph-test subpackage
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>
2017-10-16 09:47:55 +02:00
Nathan Cutler
07159477ee Merge pull request #17366 from smithfarm/wip-21176
build/ops: python-numpy-devel build dependency for SUSE

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-by: Ewaznazari <Nazari@keyinternational.academy>
2017-09-13 09:05:01 +02:00
Nathan Cutler
be4d6b1a74 build/ops: rpm: do not create librbd.so.1 symlink in /usr/lib64/qemu
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>
2017-09-04 15:00:47 +02:00