Commit Graph

653 Commits

Author SHA1 Message Date
Kefu Chai
dbd9bb1174 Merge pull request #7857 from tchaikov/wip-14844
ceph.spec.in: enable lttng and babeltrace explicitly

thanks to ktdreyer, we have lttng and babel in EPEL-7 now.

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2016-03-30 14:47:34 +08:00
Loic Dachary
0ab4813092 script: subscription-manager support (part 2)
Strip the .py suffix so that no pyc / pyo files are generated.
Do not install on CentOS.

http://tracker.ceph.com/issues/14972 Fixes: #14972

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-26 19:20:57 +01:00
Josh Durgin
20c86506ae Merge pull request #8224 from SUSE/wip-15212
rbdmap: add manpage

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-03-24 09:19:48 -07:00
Sage Weil
f9b079e0af Merge pull request #7907 from dachary/wip-subman-facts
script: subscription-manager support

Reviewed-by: Boris Ranto <branto@redhat.com>
2016-03-23 17:05:47 -04:00
Nathan Cutler
d01d983ad4 packaging: rbdmap manpage
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-23 15:05:16 +01:00
Nathan Cutler
c2909465f8 RPM: prefer UID/GID 167 when creating ceph user/group
This change affects openSUSE/SLE only.

http://tracker.ceph.com/issues/15246 Fixes: #15246

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-23 14:38:14 +01:00
Yehuda Sadeh
5df0653723 Merge pull request #8225 from SUSE/wip-radosgw-description
packaging: align radosgw package description

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2016-03-21 13:41:28 -07:00
Josh Durgin
227b943d38 Merge pull request #8217 from ceph/wip-rbd-mirror-init
rbd-mirror: systemd and upstart init scripts

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-03-21 13:35:31 -07:00
Sage Weil
19aabf4a30 Merge pull request #8016 from ErwanAliasr1/evelu-15042
rpm,deb: remove conditional BuildRequires for btrfs-progs

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2016-03-21 07:41:55 -04:00
Nathan Cutler
c4364b13b7 packaging: align radosgw package description
First, make the Debian package description mention that RGW aims to
implement the Swift API.

Second, replace the RPM package description with the Debian one, both for
consistency and because the Debian one is better.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-19 22:43:53 +01:00
Jason Dillaman
f5375dcd1f packaging: added rbd-mirror startup scripts
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-18 17:53:06 -04:00
branto1
97b709c1b4 Merge pull request #8137 from ceph/wip-15146-ceph-dep
rpm: remove sub-package dependencies on "ceph"

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Jun Huang <hjwsm1989@gmail.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ali Maredia <amaredia@redhat.com>
2016-03-18 10:10:35 +01:00
Loic Dachary
1b0e6397a7 script: subscription-manager support
The script is designed to create a fact file for subscription-manager to
consume. It is run hourly from /etc/cron.hourly on RHEL.

http://tracker.ceph.com/issues/14972 Fixes: #14972

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-17 11:07:34 +01:00
branto1
8be0a35c67 Merge pull request #8133 from ceph/wip-15145-cephfs-tools
packaging: move cephfs repair tools to ceph-common

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2016-03-16 16:52:01 +01:00
Loic Dachary
6364e5ff0a Merge pull request #7894 from SUSE/wip-14828
ceph.spec.in: do not install Ceph RA on systemd platforms

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2016-03-16 14:10:15 +01:00
Boris Ranto
ff3f0f868d ceph.spec.in: Make ceph-common require libcephfs1
We recently moved fsck/repair tools to ceph-common package. We should
also make the version/release requirements tight.

Signed-off-by: Boris Ranto <branto@redhat.com>
2016-03-16 12:15:33 +01:00
Ken Dreyer
fe6dc35af5 packaging: remove sub-package dependencies on "ceph"
One side effect of the recent package split (in #10587) is that "ceph"
is now an empty meta-package.

We should not have any packages that depend on "ceph" any more. Change
the various sub-packages to either drop the dependency altogether, or
just Require: ceph-base instead.

Fixes: #15146
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-03-15 12:56:54 -06:00
Ken Dreyer
5f3f37f9c0 packaging: move cephfs repair tools to ceph-common
The CephFS repair tools are generally useful to run on any node, not
just the MDS nodes themselves.

Move the utilities from the ceph-mds package to the ceph-common package.

Fixes: #15145
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-03-15 11:13:39 -06:00
Nathan Cutler
3214ae99f7 RPM: fix openldap and openssl build dependencies for SUSE
http://tracker.ceph.com/issues/15138 Fixes: #15138

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-15 14:46:54 +01:00
Matt Benjamin
de8367bc27 rgw: require openldap library client headers
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-03-12 13:02:58 -08:00
Kefu Chai
f1a44907a2 ceph.spec.in: disable lttng and babeltrace explicitly
before this change, we do not pacakge tracepoint probe shared libraries
on rhel7. but "configure" script enables them if lttng is detected. and
rpm complains at seeing installed but not pacakged files. as EPEL-7 now
includes lttng-ust-devel and libbabeltrace-devel, we'd better
BuildRequire them, and build with them unless disabled otherwise. so in
this change
* make "lttng" an rpm build option enabled by default
* BuildRequire lttng-ust-devel and libbabeltrace-devel if the "lttng"
 "lttng" option is enabled
* --without-lttng --without-babeltrace if the "lttng" option is disabled

Fixes: #14844
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-03-12 11:07:09 +08:00
Erwan Velu
2294c73d39 Packaging: Removing conditional BuildRequires for btrfs-progs
By pull request 7742, the btrfs-progs package was considered as a BuildRequires
only when --with tests was engaged like :

    if %{with tests}
    BuildRequires: btrfsprogs
    %endif

That's perfectly valid for a spec file.

The issue we have is the following :
- yum-builddep called by install-deps.sh is used to prepare the build env by
installing the needed BuildRequires.
- %{with test} is defined by using a %bcond_with
- yum-builddep doesn't consider %{with test} as valid
- yum-builddep doesn't install the btrfs package

As per discussions with the yum team, there is no way to engage conditional flags with
yum-builddep.

So this patch, as per discussions with Nathan Cutler & Loic Dachary, is removing
the condition arond the BuildRequires.

Note that all BuildRequires defined with a %bcond_with would be affected by this
issue. The current specfile only have %bcond_without conditional BuildRequires
which is fine.

Fixes: #15042
Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-03-10 09:15:14 +01:00
Matt Benjamin
2bb6ef9d84 rgw: ldap token glue
Based on feedback from upstream RGW, introduce a new json-format
token structure representing credentials for pass-through authentication
(e.g., LDAP without Keystone's digest authentication).

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-03-09 10:54:35 -05:00
Erwan Velu
754d2103e1 packaging: Moving Cython into distro specific area
To get the spec file into a consistent state, let's move Cython into the distro
specific are of the spec file.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-03-07 20:27:07 +01:00
Erwan Velu
019d9e17a7 packaging: Adding redhat-rpm-config
Some part of the rados compilation process is expecting redhat-hardened-cc1.
That's surely because of the FORTIFY compilation flag.

redhat-hardened-cc1 is part of the redhat-rpm-config so let's put it as a build
dependency.

The typical output when this issue is occuring :

cd ./pybind/rados; CPPFLAGS="-iquote \/ceph/src/include -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/local/lib\" -DCEPH_PKGLIBDIR=\"/usr/local/lib/ceph\" -DGTEST_USE_OWN_TR1_TUPLE=0 -D_REENTRANT    " CFLAGS="-iquote \/ceph/src/include -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith  -fno-strict-aliasing -fsigned-char -rdynamic -O2 -g -pipe -Wall -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fPIE -fstack-protector-strong  -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free  -g -O2" LDFLAGS="-L\/ceph/src/.libs -Wl,--as-needed  -Wl,-z,relro -Wl,-z,now  -latomic_ops " CYTHON_BUILD_DIR="/ceph/src/build" /bin/python ./setup.py build \
--build-base /ceph/src/build \
--verbose
Compiling rados.pyx because it changed.
Cythonizing rados.pyx
  CXXLD    libradosstriper.la
  CXXLD    librbd.la
  CXXLD    librgw.la
running build
running build_ext
building 'rados' extension
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -iquote /ceph/src/include -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -fno-strict-aliasing -fsigned-char -rdynamic -O2 -g -pipe -Wall -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fPIE -fstack-protector-strong -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -g -O2 -iquote /ceph/src/include -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=/usr/local/lib -DCEPH_PKGLIBDIR=/usr/local/lib/ceph -DGTEST_USE_OWN_TR1_TUPLE=0 -D_REENTRANT -fPIC -I/usr/include/python2.7 -c /ceph/src/build/rados.c -o /ceph/src/build/temp.linux-x86_64-2.7/ceph/src/build/rados.o
gcc: erreur: /usr/lib/rpm/redhat/redhat-hardened-cc1: Aucun fichier ou dossier de ce type
error: command 'gcc' failed with exit status 1

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-03-07 20:27:07 +01:00
Erwan Velu
7d48d21a53 packaging: Adding btrfs build require
When doing a 'make check', 'qa/workunits/ceph-helpers.sh' does expect the 'btrfs'
command to be available. If not, that make many tests failing.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-03-07 20:27:06 +01:00
Sage Weil
be3544f162 Merge remote-tracking branch 'gh/jewel' 2016-03-03 13:35:13 -05:00
Nathan Cutler
9acb00ec55 ceph.spec.in: do not install Ceph RA on systemd platforms
The Ceph Resource Agent (RA) wraps the Ceph init script and is incompatible
with systemd.

http://tracker.ceph.com/issues/14828 Fixes: #14828

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-03 04:46:07 +01:00
Nathan Cutler
acfc06d949 ceph.spec.in: use %{_prefix} for ocf instead of hardcoding /usr
This patch aligns the spec file with src/ocf/Makefile.am, which
installs the resource agents in $(prefix)/lib/ocf.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-03 04:46:07 +01:00
Sage Weil
2786f0bf11 Merge remote-tracking branch 'gh/jewel' 2016-03-02 09:22:28 -05:00
Nathan Cutler
13a5aac669 RPM: move scriptlets from ceph to ceph-base
This addresses the following RPMLINT error:

ceph-base.x86_64: E: library-without-ldconfig-postun (Badness:
300) /usr/lib64/libosd_tp.so.1.0.0
ceph-base.x86_64: E: library-without-ldconfig-postun (Badness:
300) /usr/lib64/libos_tp.so.1.0.0
This package contains a library and provides no %postun scriptlet
containing a call to ldconfig.

ceph-base.x86_64: E: library-without-ldconfig-postin (Badness:
300) /usr/lib64/libosd_tp.so.1.0.0
ceph-base.x86_64: E: library-without-ldconfig-postin (Badness:
300) /usr/lib64/libos_tp.so.1.0.0
This package contains a library and provides no %post scriptlet
containing a call to ldconfig.

http://tracker.ceph.com/issues/14940 Fixes: #14940

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-01 22:27:47 +01:00
Nathan Cutler
b87f4efb56 packaging: lsb_release build and runtime dependency
The lsb_release executable is being run in multiple places, not least in
src/common/util.cc, which calls it via shell in the collect_sys_info() code
path.

This patch addresses this issue on SUSE- and Debian-derivatives, as well
as reinstating the dependency for RHEL/Fedora after it was dropped in
1560057226.

http://tracker.ceph.com/issues/14906 Fixes: #14906

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-01 15:14:46 +01:00
Nathan Cutler
4de86bf373 RPM: drop duplicate /var/lib/ceph/* directories
As of a recent commit, we had /var/lib/ceph/{mds,mon,osd} directories
packaged twice, once with %attr and once without. Drop the latter.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-29 17:36:57 +01:00
Nathan Cutler
275b5f28ad RPM: drop duplicate udev rules from ceph-base
The udev rules should be packaged in ceph-osd only.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-29 17:36:57 +01:00
Nathan Cutler
5083980f46 packaging: rados-classes libraries in ceph-base
Drop duplicate rados-classes libraries from ceph-osd and align the RPM
packaging with Debian by using a wildcard to package everything that
autotools puts in the rados-classes directory.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-29 17:36:39 +01:00
Mehdi Abaakouk
10f125f765 pybind: move cephfs to Cython
This change moves cephfs binding to Cython.

Closes-bug: #14818
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-29 10:58:52 +01:00
Nathan Cutler
cba211dfa8 packaging: pkg_resources.py runtime dependency
ceph-detect-init uses pkg_resources.py

http://tracker.ceph.com/issues/14864 Fixes: #14864

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Nathan Cutler
45ede095e2 ceph.spec.in: move ceph-disk runtime dependency to ceph-osd
ceph-disk uses sgdisk, which resides in the gdisk and gptfdisk packages on
RHEL and SUSE derivatives, respectively.

ceph-disk is included in the ceph-osd package, so the sgdisk dependency
belongs there.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Nathan Cutler
8b04c2b4e6 ceph.spec.in: drop support for ancient SUSE versions
In Jewel, there is no reason to support anything less than openSUSE 13.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Nathan Cutler
1a0bb0f687 packaging: move python-flask runtime dependency to ceph-mon, radosgw
Flask is used by MON (in the Ceph REST API) and by RGW (powerdns).
Therefore, it only needs to be in the ceph-mon and ceph-radosgw packages.

Also, this commit encloses the specification of the python-flask runtime
dependency in distro-conditional blocks to account for a minor difference
in the package name between RHEL and SUSE.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Nathan Cutler
608dd28713 RPM: align runtime dependencies with Debian packaging
The ceph package is now a metapackage, so move all its runtime dependencies
to ceph-base as we already have done in the Debian packaging.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Sage Weil
aa92f9dff0 rgw: link against system openssl (instead of dlopen at runtime)
Signed-off-by: Sage Weil <sage@redhat.com>
2016-02-25 11:44:10 -08:00
Loic Dachary
fe5aff3bfd Merge pull request #7637 from SUSE/wip-14756
Refrain from versioning and packaging EC testing plugins

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2016-02-25 12:41:19 +07:00
Ali Maredia
0cbe3dea69 debian/rpm: split mon/osd/mds server packages
Split up the "ceph" package into four new packages:

  1. ceph-mon
  2. ceph-osd
  3. ceph-mds (already done on Debian)
  4. ceph-base (files shared among multiple servers)

and then:

  5. Make "ceph" into a metapackage that depends on both -mon and -osd
    (and -mds, for RPMs).

To describe the outcome of this change another way:

  For RPMs:
  - "ceph-{mon,osd,mds}" Require: ceph-base.
  - "ceph" will become a metapackage that Requires: ceph-{mon,osd,mds}.

  For DEBs:
  - "ceph-{mon,osd,mds}" will Depends: ceph-base.
  - "ceph" will become a metapackage that Depends: ceph-{mon,osd}.
  - "ceph" will continue to Recommends: ceph-mds

New users should "yum install ceph-mon" or "yum install ceph-osd" (or
"apt-get install ceph-mon", etc) in order to install the exact daemons
that they need.

http://tracker.ceph.com/issues/10587 Fixes: #10587

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-02-24 16:47:34 -05:00
Nathan Cutler
b2ae384e80 RPM: refrain from packaging EC testing plugins
Since these plugins are only used in "make check", there is no
reason to package them and doing so causes RPMLINT to complain.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-20 09:42:32 +01:00
Nathan Cutler
69291f872e packaging: move ceph_common.sh and ceph-osd-prestart.sh to /usr/lib/ceph
First, it makes sense for both ceph_common.sh and ceph-osd-prestart.sh to
reside in the same directory: make it so.

Second, /usr/lib exists on both RHEL/Fedora and SLE/openSUSE, whereas
the later lacks /usr/libexec. To make this less painful, package
ceph_common.sh and ceph-osd-prestart.sh in /usr/lib/ceph.

Third, allow e.g. FreeBSD to do its own thing by using the $(libexecdir)
Autoconf variable (but set it to /usr/lib in the spec file).

http://tracker.ceph.com/issues/14687 Fixes: #14687

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-18 12:19:14 +01:00
Mehdi Abaakouk
82869f004e Fix rpm/deb packaging
Signed-off-by: Mehdi Abaakouk <sileht@redhat.com>
2016-02-17 12:32:38 +01:00
Nathan Cutler
fe14a267c8 ceph.spec.in: declare /usr/share/ceph properly
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-15 23:48:38 +01:00
Nathan Cutler
a6cc8ea5d9 rpm: drop systemd_libexec_dir template variable
General cleanup. Actual use of the template variable was discontinued in
7c9fdf44f2.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-15 19:54:14 +01:00
Nathan Cutler
5c09a3e4e4 rpm: drop user_rgw and group_rgw template variables
These were originally used to template RGW tmpfiles.d, which was eliminated
by 8e13d89f0f

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-15 19:44:07 +01:00