Commit Graph

436 Commits

Author SHA1 Message Date
wangyunqing
1340e37e8c debian: update cmake version to meet cmake_minimum_required
Signed-off-by: wangyunqing <wangyunqing@inspur.com>
2020-06-19 17:34:43 +08:00
Neal Gompa
79d4bf5b2f debian: Use /usr/libexec for libexecdir
Debian has adopted FHS 3.0 with Debian Policy Standard version 4.4.0,
and now defaults to /usr/libexec for libexecdir as well. This is
present in Ubuntu 20.04 LTS, for example.

Signed-off-by: Neal Gompa <ngompa13@gmail.com>
2020-06-08 13:15:04 -04:00
Kiefer Chang
64bb27f2f6 mgr/cephadm: add template engine Jinja2
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
2020-06-04 16:23:39 +08:00
Sage Weil
01015f8ca3 debian: add ceph-grafana-dashboards package
Signed-off-by: Sage Weil <sage@redhat.com>
2020-03-23 20:13:19 -05:00
Mykola Golub
62620fc7d3 rpm,deb: fix python dateutil module dependency
(needed for mgr/rbd_support)

Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-02-28 16:29:26 +00:00
Patrick Seidensal
c0c7f7dacc rpm,deb: poke Python OpenSSL dependencies
to ceph-mgr-modules-core package.

Fixes: https://tracker.ceph.com/issues/44306

Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
2020-02-26 15:48:57 +01:00
Kefu Chai
d61c96f4b3 debian: modules-core replaces and breaks older ceph-mgr
in 589626464d, the core modules are moved
into ceph-mgr-modules-core. but the upgrade path from older ceph-mgr was
broken by this change.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-24 12:48:34 +08:00
Kefu Chai
659b09a04d
Merge pull request #33435 from tchaikov/wip-viva-la-module
deb,rpm,doc: s/plugin/module/

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
2020-02-21 19:38:33 +08:00
Kefu Chai
44df72357c rpm,deb: s/plugin/module/
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-20 22:15:54 +08:00
Kefu Chai
589626464d rpm,deb: package always-enabled plugins in a separated package
ceph-mgr depends on it in the sense that these plugins are
a hard dependency of ceph-mgr. like cmake depends on cmake-data,
even if the later cannot function on its own without the former.

the reason why we need a separated package is that mgr modules
are written in python, and should be arch independent. this change
helps the downstream to understand this and help to minimize the
divergence between upstream and downstream, because distros like
debian and its derivatives encourage splitting architecture independent
data into its own package.
see
https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#architecture-independent-data

also, the python related runtime dependencies are also moved into
ceph-mgr-modules-core.

if a python dependency is shared by another ceph-mgr-* package and
ceph-mgr-modules-core. it's only added to ceph-mgr-modules-core for
simplicity and consistency. as the name of dependency might vary
on different distros, so it's tedious and error-prone to repeat
these conditons and checks.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-02-20 22:00:37 +08:00
Sebastian Wagner
80a799a30f debian: add python3-jsonpatch as dependency
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-14 09:43:32 +01:00
Sage Weil
f0c92ab584 debian/control: make cephadm recommend (but not require) docker
Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-11 18:15:36 -06:00
Sebastian Wagner
b2cf2c7a8d spec, debian: cephadm requires lvm2
cephadm mounts `/run/lvm` into OSD containers, which only exists,
if `lvm2` is installed on the container host. Otherwise we cannot
start ceph-volume or osd containers.

Fixes: https://tracker.ceph.com/issues/43368

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-12-18 14:40:17 +01:00
Alfredo Deza
7382221989 packaging: remove python3-ipaddres, as it is part of the stdlib in py3
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2019-12-12 19:16:33 -05:00
Alfredo Deza
68025b6335 debian: remove python >= 2.7 requirement
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2019-12-12 13:06:54 -06:00
Alfredo Deza
5016209146 debian: update control file to use python3 dependency names
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2019-12-12 13:06:54 -06:00
Sage Weil
b733e78f46 debian/control: install scipy for build too
Needed for make check

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-12 16:53:33 +08:00
Sage Weil
cd1c05acbb mgr/ssh -> mgr/cephadm
Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-11 19:14:24 -06:00
Sage Weil
c8750b7066 files,rpm,deb: rename ceph-daemon -> cephadm
This is just renaming the files and adjusting the packages.  Lots of
cleanup to do still.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-11 19:14:09 -06:00
Sebastian Wagner
e6909311bd spec,debian: ceph-mgr-ssh depends on openssh{-client{s}}
Container images don't include ssh by default. Thus we
have to explictly depend on it.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-11-22 10:32:14 +01:00
Yuval Lifshitz
354d775e04 rgw/pubsub: add kafka notification endpoint
Signed-off-by: Yuval Lifshitz <yuvalif@yahoo.com>
2019-11-05 19:25:03 +02:00
Sage Weil
ae4bed49cf debian: ceph-daemon package, required by ceph-mgr-ssh
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 20:33:35 -05:00
Kefu Chai
b43cbefc05
Merge pull request #30420 from runsisi/wip-remove-requests
rpm,deb: python-requests is not needed for ceph-common

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-09-25 16:31:13 +08:00
luo.runbing
998a3025c0
rpm,deb: python-requests is not needed for ceph-common
Signed-off-by: luo.runbing <luo.runbing@zte.com.cn>
2019-09-23 09:56:19 +08:00
Kefu Chai
3d7e5b0e3f
Merge pull request #30410 from tchaikov/wip-debian-g++
debian/control: Build-Depends on g++

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
2019-09-19 10:02:02 +08:00
Kefu Chai
e7287257ef
Merge pull request #30405 from p-se/wip-pna-ubuntu-disco-deps
install-deps.sh: add support for Ubuntu Disco Dingo

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-09-19 10:01:07 +08:00
Patrick Seidensal
95283a60de install-deps.sh: add support for Ubuntu Disco Dingo
Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
2019-09-17 08:35:34 +02:00
Kefu Chai
e630e1523a debian/control: Build-Depends on g++
as a C++ project, we should depends on g++. actually, GCC-7 is able to
support C++17. but we use C++17 features extensively, and have been
running into GCC bugs every now and then. so would be ideal if we can
use newer GCC if possible.

we've dropped the support of ubuntu/xenial. while on ubuntu/bionic, only
GCC-7.4 is available. so let's require g++ (>= 7) then.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2019-09-16 23:50:28 +08:00
Jeff Layton
eae0127513 mount.ceph: fork a child to get info from local configuration
When a secret and/or the mon addrs are not specified by the admin,
then mmap a MAP_SHARED buffer and spawn a child process to get that
info. For safety reasons, the child drops all capabilities other than
CAP_DAC_READ_SEARCH (to ensure that it'll be able to read the keyring,
should one be found). To achieve this, we add a new dependency on
libcap-ng.

Add a new C++ file with a single routine that will create a CephContext,
get a list of monitor addresses and scrape the keyring for a secret for
the specified cephx user.

If that info is found, then it is copied to fixed-length buffers in the
MAP_SHARED area and the child exits successfully.

The parent will then vet the returned info and copy it into the
appropriate fields if they are currently blank.

Fixes: https://tracker.ceph.com/issues/16656
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2019-09-13 08:14:48 -04:00
Sebastian Wagner
199d6418f4
Merge pull request #29520 from pcuzner/add-events-mgr-module
mgr/k8sevents: Add mgr module for kubernetes event integration

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Travis Nielsen <tnielsen@redhat.com>
2019-09-06 17:09:21 +02:00
Paul Cuzner
2166676288 mgr/k8sevents: Initial ceph -> k8s events integration
Adds a mgr module to provide integration between
Ceph and the kubernetes events API within the rook-ceph
namespace. It provides several commands to view event
status including;

ceph k8sevents list .... show all k8s related events
ceph k8sevents ceph .... show events generated from this
                         module
ceph k8sevents status .. show status of the tracker threads
                         and counts of tracked events

Events sent to kubernetes are sourced from the
a) clog: ceph healtchecks and admin commands
b) explicit checks: hosts, pools and OSD states are checked
   every 'n' seconds

Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
2019-09-05 14:45:52 +12:00
Kefu Chai
f6d7fd28af debian/control: fix Build-Depends
it's a regression introduced by 5d6d770e

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-08-27 10:05:17 +08:00
Kefu Chai
5d6d770e2f install-deps.sh,deb,rpm: move python-saml deps into debian/control and ceph.spec.in
these dependencies are only used for building python-saml which is in
turn used for the SAML support. this feature is tested using
`test_sso.py` while performing dashboard tests. we do not package or
ship python-saml along with other Ceph packages. so let's move these
dependencies to the "make check" sections in ceph.spec.in and
debian/control for simplifying install-deps.sh.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-08-24 02:11:51 +08:00
Kefu Chai
3234fb3982 cmake,run-make-check.sh,deb,rpm: disable SPDK by default
but we still enable it in `run-make-check.sh`

* cmake: disable SPDK by default
* run-make-check.sh: enable WITH_SPDK so at least we can ensure it
  builds
* deb,rpm: add uuid-dev / libuuid-devel as a "make check" dependency

Fixes: https://tracker.ceph.com/issues/41330
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-08-20 15:38:33 +08:00
Sebastian Wagner
ea15a67b98 ceph.spec, debian: Add python-common to ceph-common
Co-authored-by: Tim Serong <tserong@suse.com>
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2019-07-26 12:10:52 +02:00
Paul Emmerich
05a59b6d0d debian/control: add python-routes dependency
the dashboard requires python-routes via cherrypy/_cpdispatch.py during runtime
but the cherrypy debian package only recommends it and doesn't depend on it

Fixes: https://tracker.ceph.com/issues/24420
Signed-off-by: Paul Emmerich <paul.emmerich@croit.io>
2019-07-03 17:36:49 +02:00
Kefu Chai
86b62af5de debian/control: remove "libnl-3-dev" from build dependencies
what we need is "libnl-genl-3-dev", libnl-3-dev should be a dependency
of "libnl-genl-3-dev". the only reason we would have added it, is if
the package maintainer of "libnl-genl-3-dev" fails to do so. and
the packages of "libnl-genl-3-dev" on both debian and ubuntu just look
correct in this perspective.

so let's remove this.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-19 21:21:00 +08:00
Kefu Chai
e5f00d2fdc debian/: use ceph-osd for packaging crimson-osd
* debian/: remove ceph-crimson-osd package.
* debian/control: set `CEPH_OSD_BASENAME` env variable, which
  will be consumed by `ceph-osd.install`. alternatively, we could
  rename crimson-osd to ceph-osd in `override_dh_auto_install`,
  but let's go with this way at this moment, unless `mv` in
  `override_dh_auto_install` is proved to be better.
* ceph-osd.install: replace ceph-osd with crimson-osd if
  `CEPH_EXTRA_CMAKE_ARGS` has `WITH_SEASTAR` in it. this only
  happens when we are packaging the "crimson" flavor packages from
  jenkins.
* ceph-osd.install: `chmod +x` this file, as we need to use
  `/usr/bin/dh-exec` as the interpreter of it to perform variable
  substitution and install.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-13 23:06:59 +08:00
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
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
9bdf2dfa0d debian/: add ceph-crimson-osd package
this package is commented out using `# Crimson`. and it will be enabled
only if we are building "crimson" flavor builds.

this package depends on ceph-osd, because it'll basically be a drop-in
replacement of ceph-osd. and it shares all the dependencies of ceph-osd.
so let's just reuse ceph-osd package for now.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-07 22:17:19 +08:00
Kefu Chai
4d363edc59 d/control,install-deps: use d/control for installing seastar deps
prepare for building ceph-crimson-osd deb package

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-06-06 18:06:43 +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
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
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
Yuan Zhou
ebd017e37e building: adding missing ceph-immtable-object-cache-dbg rule
Signed-off-by: Yuan Zhou <yuan.zhou@intel.com>
2019-03-22 00:17:07 +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
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
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