]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agocephadm: only bootstrap using image that matches cephadm version 40322/head
Sage Weil [Mon, 22 Mar 2021 22:05:16 +0000 (18:05 -0400)]
cephadm: only bootstrap using image that matches cephadm version

Only allow bootstrap to deploy if the cephadm version matches the
ceph version in the container.  Allow the master branch version of cephadm
to deploy the latest stable version as well (at least for now).

Provide a flag to force bootstrap to continue despite the check.

Move the _pull_image call up into bootstrap so that it is easier to see
when it happens.

Fixes: https://tracker.ceph.com/issues/49884
Signed-off-by: Sage Weil <sage@newdream.net>
4 years agoMerge PR #40290 into master
Sage Weil [Mon, 22 Mar 2021 17:26:06 +0000 (13:26 -0400)]
Merge PR #40290 into master

* refs/pull/40290/head:
qa/suites/rados/cephadm/upgrade: wait for rgw servicemap entries to refresh

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge PR #40288 into master
Sage Weil [Mon, 22 Mar 2021 17:25:29 +0000 (13:25 -0400)]
Merge PR #40288 into master

* refs/pull/40288/head:
mon/PGMap: change hard coded 0x10000 to macro CEPH_OSD_IN

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge PR #39191 into master
Patrick Donnelly [Mon, 22 Mar 2021 17:06:08 +0000 (10:06 -0700)]
Merge PR #39191 into master

* refs/pull/39191/head:
pybind/mgr/snap_schedule: use ceph VFS
pybind/mgr/snap_schedule: idempotentize table creation
mgr: add ceph sqlite VFS
doc: add libcephsqlite
ceph.spec,debian: package libcephsqlite
test/libcephsqlite,qa: add tests for libcephsqlite
libcephsqlite: rework architecture and backend
SimpleRADOSStriper: wait for finished aios after write
SimpleRADOSStriper: add new minimal async striper
mon: define simple-rados-client-with-blocklist profile
librados: define must renew lock flag
common: add timeval conversion for durations
Revert "libradosstriper: add function to read into char*"
test_libcephsqlite: test random inserts
cephsqlite: fix compiler errors
cmake: improve build inst for cephsqlite
libcephsqlite: sqlite interface to RADOS
libradosstriper: add function to read into char*

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #40201 from ceph/wip-tracker-48697
Guillaume Abrioux [Mon, 22 Mar 2021 16:09:44 +0000 (17:09 +0100)]
Merge pull request #40201 from ceph/wip-tracker-48697

ceph-volume: show devices with GPT headers as not available

4 years agoMerge pull request #40295 from tchaikov/wip-doc-links
zdover23 [Mon, 22 Mar 2021 15:43:15 +0000 (01:43 +1000)]
Merge pull request #40295 from tchaikov/wip-doc-links

doc: fix broken links

Reviewed-by: Zac Dover <zac.dover@gmail.com>
4 years agoMerge PR #40245 into master
Sage Weil [Mon, 22 Mar 2021 15:11:56 +0000 (11:11 -0400)]
Merge PR #40245 into master

* refs/pull/40245/head:
mgr/cephadm: identify iscsi service by the pool

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
4 years agoMerge pull request #40293 from tchaikov/wip-cmake-cleanup
Kefu Chai [Mon, 22 Mar 2021 14:26:43 +0000 (22:26 +0800)]
Merge pull request #40293 from tchaikov/wip-cmake-cleanup

cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT globaly

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge PR #40301 into master
Sage Weil [Mon, 22 Mar 2021 14:08:05 +0000 (10:08 -0400)]
Merge PR #40301 into master

* refs/pull/40301/head:
qa/distros/podman: install containernetworking-plugins along with podman

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoMerge pull request #40282 from rzarzynski/wip-crimson-doc-waitstates
Kefu Chai [Mon, 22 Mar 2021 10:40:16 +0000 (18:40 +0800)]
Merge pull request #40282 from rzarzynski/wip-crimson-doc-waitstates

doc/crimson: document wait states

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/crimson: document wait states. 40282/head
Radoslaw Zarzynski [Sat, 20 Mar 2021 16:01:01 +0000 (16:01 +0000)]
doc/crimson: document wait states.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agoMerge pull request #40198 from jdurgin/wip-quick-fix-on-mount
Kefu Chai [Mon, 22 Mar 2021 07:23:48 +0000 (15:23 +0800)]
Merge pull request #40198 from jdurgin/wip-quick-fix-on-mount

common/options: turn off bluestore_fsck_quick_fix_on_mount by default

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #40239 from tchaikov/wip-osd-silence-warning
Kefu Chai [Mon, 22 Mar 2021 07:22:16 +0000 (15:22 +0800)]
Merge pull request #40239 from tchaikov/wip-osd-silence-warning

osd/PeeringState: remove unused variable

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #40143 from neha-ojha/wip-objectstore-debug
Kefu Chai [Mon, 22 Mar 2021 07:21:20 +0000 (15:21 +0800)]
Merge pull request #40143 from neha-ojha/wip-objectstore-debug

qa/suites/rados/objectstore/backends: use default level for filestore

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #40243 from liewegas/fix-pg-health-messages
Kefu Chai [Mon, 22 Mar 2021 07:20:21 +0000 (15:20 +0800)]
Merge pull request #40243 from liewegas/fix-pg-health-messages

mon/PGMap: nicely format pg acting in health messages

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #40238 from ygtzf/wip-blob-info
Kefu Chai [Mon, 22 Mar 2021 07:19:12 +0000 (15:19 +0800)]
Merge pull request #40238 from ygtzf/wip-blob-info

src/os: Remove redundant hexadecimal symbols from the log output

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40112 from lxbsz/lockdep2
Kefu Chai [Mon, 22 Mar 2021 07:15:42 +0000 (15:15 +0800)]
Merge pull request #40112 from lxbsz/lockdep2

BackTrace: reduce the array max number to 32

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #39412 from tchaikov/wip-rocksdb
Kefu Chai [Mon, 22 Mar 2021 07:12:14 +0000 (15:12 +0800)]
Merge pull request #39412 from tchaikov/wip-rocksdb

bluestore: use string_view and bump rocksdb to v6.15.5

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 years agoMerge pull request #40033 from tchaikov/wip-47380
Kefu Chai [Mon, 22 Mar 2021 07:11:23 +0000 (15:11 +0800)]
Merge pull request #40033 from tchaikov/wip-47380

mon/OSDMonitor: drop stale failure_info after a grace period

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoqa/distros/podman: install containernetworking-plugins along with podman 40301/head
Kefu Chai [Mon, 22 Mar 2021 06:49:13 +0000 (14:49 +0800)]
qa/distros/podman: install containernetworking-plugins along with podman

/etc/cni/net.d/87-podman-bridge.conflist tries to load "bridge",
"firewall", "tuning" and "portmap" plugins, which are provided by
containernetworking-plugins package.

Fixes: https://tracker.ceph.com/issues/49909
Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/cephfs: fix broken links 40295/head
Kefu Chai [Sun, 21 Mar 2021 17:02:07 +0000 (01:02 +0800)]
doc/cephfs: fix broken links

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc: use :ref: instead relative path for links
Kefu Chai [Sun, 21 Mar 2021 17:01:07 +0000 (01:01 +0800)]
doc: use :ref: instead relative path for links

path is fragile when we move the file around, but link is more stable.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/man: replace http://ceph.com/docs with https://docs.ceph.com
Kefu Chai [Sun, 21 Mar 2021 16:17:21 +0000 (00:17 +0800)]
doc/man: replace http://ceph.com/docs with https://docs.ceph.com

the former brings us to a 404 page

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoqa/suites/rados/cephadm/upgrade: wait for rgw servicemap entries to refresh 40290/head
Sage Weil [Sun, 21 Mar 2021 14:07:49 +0000 (09:07 -0500)]
qa/suites/rados/cephadm/upgrade: wait for rgw servicemap entries to refresh

rgw changed the way it registered in the service map.  Wait a bit for
the old entries to be flushed out.

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agocmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT globaly 40293/head
Kefu Chai [Sun, 21 Mar 2021 15:06:00 +0000 (23:06 +0800)]
cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT globaly

turns out we also need it for compiling librados tests with libboost
1.75, so just define it globally

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocmake: use list(APPEND..) when appropriate
Kefu Chai [Sun, 21 Mar 2021 15:06:43 +0000 (23:06 +0800)]
cmake: use list(APPEND..) when appropriate

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40102 from tchaikov/wip-doc-fixes
Kefu Chai [Sun, 21 Mar 2021 14:04:02 +0000 (22:04 +0800)]
Merge pull request #40102 from tchaikov/wip-doc-fixes

doc: theme, cmake and formatting related fixes

Reviewed-by: Zac Dover <zac.dover@gmail.com>
4 years agomon/PGMap: change hard coded 0x10000 to macro CEPH_OSD_IN 40288/head
haoyixing [Sun, 21 Mar 2021 07:39:29 +0000 (07:39 +0000)]
mon/PGMap: change hard coded 0x10000 to macro CEPH_OSD_IN

0x10000 is same with CEPH_OSD_IN for osd weight, so change them to
that macro, more meaningful.

Signed-off-by: haoyixing <haoyixing@kuaishou.com>
4 years agoMerge pull request #40272 from tchaikov/wip-install-dep-remove-existing-boost
Kefu Chai [Sun, 21 Mar 2021 05:43:24 +0000 (13:43 +0800)]
Merge pull request #40272 from tchaikov/wip-install-dep-remove-existing-boost

install-deps.sh: remove existing ceph-libboost of different version

Reviewed-by: David Galloway <dgallowa@redhat.com>
4 years agoMerge PR #40147 into master
Sage Weil [Sat, 20 Mar 2021 23:57:23 +0000 (19:57 -0400)]
Merge PR #40147 into master

* refs/pull/40147/head:
python-common: Validate characters in service_id for container names

Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge PR #40244 into master
Sage Weil [Sat, 20 Mar 2021 23:56:58 +0000 (19:56 -0400)]
Merge PR #40244 into master

* refs/pull/40244/head:
qa/suites/rados/cephadm/smoke-roleless: deploy additional daemon types

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #40266 from jdurgin/wip-release-notes-retry
David Galloway [Sat, 20 Mar 2021 18:58:42 +0000 (14:58 -0400)]
Merge pull request #40266 from jdurgin/wip-release-notes-retry

script/ceph-release-notes: add retries to pull request fetching

4 years agoMerge pull request #40271 from liu-chunmei/seastore_fix_segment_cleaner
Kefu Chai [Sat, 20 Mar 2021 14:34:53 +0000 (22:34 +0800)]
Merge pull request #40271 from liu-chunmei/seastore_fix_segment_cleaner

crimson/seastore: fix segment_cleaner bugs

Reviewed-by: Samuel Just <sjust@redhat.com>
4 years agoMerge PR #40219 into master
Sage Weil [Sat, 20 Mar 2021 13:17:26 +0000 (09:17 -0400)]
Merge PR #40219 into master

* refs/pull/40219/head:
mon/MgrStatMonitor: ignore MMgrReport from non-active mgr
mgr: tell monc when we get new servicemap, fsmap

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge PR #40117 into master
Sage Weil [Sat, 20 Mar 2021 13:16:41 +0000 (09:16 -0400)]
Merge PR #40117 into master

* refs/pull/40117/head:
mgr/orchestrator: DG loads properly the unmanaged attribute

Reviewed-by: Sebastian Wagner <swagner@suse.com>
4 years agoMerge PR #40103 into master
Sage Weil [Sat, 20 Mar 2021 13:16:14 +0000 (09:16 -0400)]
Merge PR #40103 into master

* refs/pull/40103/head:
cephadm: fix a minor typo in logging message

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
4 years agoMerge PR #40220 into master
Sage Weil [Sat, 20 Mar 2021 13:15:58 +0000 (09:15 -0400)]
Merge PR #40220 into master

* refs/pull/40220/head:
mgr/cephadm: identify rgw, cepfs-mirror in servicemap
mgr/ServiceMap: adjust 'ceph -s' summary
rgw: register daemons in servicemap by gid; include id
cephadm: fix rbd-mirror auth name

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge PR #40222 into master
Sage Weil [Sat, 20 Mar 2021 13:14:31 +0000 (09:14 -0400)]
Merge PR #40222 into master

* refs/pull/40222/head:
mgr/orchestrator: remove image name field from 'orch ps' and 'orch ls'

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoMerge PR #40224 into master
Sage Weil [Sat, 20 Mar 2021 13:14:21 +0000 (09:14 -0400)]
Merge PR #40224 into master

* refs/pull/40224/head:
qa/suites/rados/cephadm/dashboard: test on centos

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge PR #40241 into master
Sage Weil [Sat, 20 Mar 2021 13:14:10 +0000 (09:14 -0400)]
Merge PR #40241 into master

* refs/pull/40241/head:
cephadm: use debug verbosity during container exec

Reviewed-by: Adam King <adking@redhat.com>
4 years agoinstall-deps.sh: remove existing ceph-libboost of different version 40272/head
Kefu Chai [Sat, 20 Mar 2021 05:00:01 +0000 (13:00 +0800)]
install-deps.sh: remove existing ceph-libboost of different version

we install different versions of precompiled ceph-libboost packages
for different branches when building and testing them on ubuntu test
nodes. for instance,

- nautilus: v1.72
- octopus, pacific: v1.73

they share the same set of test nodes. and these ceph-libboost packages
conflict with each other, because they install files to the same places.

in order to avoid the confliction, we should uninstall existing packages
before installing a different version of ceph-libboost packages.

ceph-libboost${version}-dev is a package providing the shared headers of
boost library, so, in this change we check if it is installed before
returning or removing the existing packages.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/seastore: fix segment_cleaner bugs 40271/head
chunmei-liu [Sat, 20 Mar 2021 04:16:44 +0000 (21:16 -0700)]
crimson/seastore: fix segment_cleaner bugs

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
4 years agoMerge PR #40214 into master
Patrick Donnelly [Sat, 20 Mar 2021 03:11:47 +0000 (20:11 -0700)]
Merge PR #40214 into master

* refs/pull/40214/head:
mgr/volumes: Retain suid/guid bits in subvolume clone
pybind/cephfs: Add lchmod python binding
client/libcephfs: Add lchmod

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoscript/ceph-release-notes: add retries to pull request fetching 40266/head
Josh Durgin [Sat, 20 Mar 2021 01:11:29 +0000 (21:11 -0400)]
script/ceph-release-notes: add retries to pull request fetching

API rate limits are easily hit without this for major releases.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge PR #40242 into master
Sage Weil [Fri, 19 Mar 2021 20:42:14 +0000 (16:42 -0400)]
Merge PR #40242 into master

* refs/pull/40242/head:
mgr/cephadm/upgrade: do not repeat crash message
mgr/cephadm/upgrade: a little less verbose
mgr/cephadm: don't log not-ok-to-stop at ERR level
mgr/cephadm: is presumed -> appears
mgr/cephadm: don't double-log ok-to-stop results
mgr/cephadm/upgrade: include upgrade progress in ceph -s

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agomgr/cephadm: identify rgw, cepfs-mirror in servicemap 40220/head
Sage Weil [Thu, 18 Mar 2021 21:27:08 +0000 (17:27 -0400)]
mgr/cephadm: identify rgw, cepfs-mirror in servicemap

Like rbd-mirror, cephfs-mirror and rgw daemons register under their gid.

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agomgr/ServiceMap: adjust 'ceph -s' summary
Sage Weil [Fri, 19 Mar 2021 12:21:18 +0000 (08:21 -0400)]
mgr/ServiceMap: adjust 'ceph -s' summary

- Do not list individual daemon ids as this won't scale for larger
  clusters
- Do not contemplate multile daemons of the same type that register with
  different "daemon_type" -- not until we actually have any that do that.
- Present counts by various groupings: distinct hosts and rgw zones to
  start.

  services:
    mon:           1 daemons, quorum a (age 4m)
    mgr:           x(active, since 3m)
    osd:           1 osds: 1 up (since 3m), 1 in (since 3m)
    cephfs-mirror: 1 daemon active (1 hosts)
    rbd-mirror:    2 daemons active (1 hosts)
    rgw:           2 daemons active (1 hosts, 1 zones)

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agosrc/os: Remove redundant hexadecimal symbols from the log output 40238/head
Yao guotao [Fri, 19 Mar 2021 12:01:31 +0000 (12:01 +0000)]
src/os: Remove redundant hexadecimal symbols from the log output
 because they are already printed in the region_t struct.

Signed-off-by: Yao guotao <yaoguo_tao@163.com>
4 years agoMerge pull request #40230 from tchaikov/wip-rgw-test-boost-asio
Kefu Chai [Fri, 19 Mar 2021 16:13:16 +0000 (00:13 +0800)]
Merge pull request #40230 from tchaikov/wip-rgw-test-boost-asio

cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for rgw tests

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoqa/suites/rados/cephadm/smoke-roleless: deploy additional daemon types 40244/head
Sage Weil [Fri, 19 Mar 2021 15:57:58 +0000 (10:57 -0500)]
qa/suites/rados/cephadm/smoke-roleless: deploy additional daemon types

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agoosd: drop entry in failure_pending when resetting stale peer 40033/head
Kefu Chai [Sun, 14 Mar 2021 03:56:59 +0000 (11:56 +0800)]
osd: drop entry in failure_pending when resetting stale peer

no need to keep it in the pending list anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoosd: mark HeartbeatInfo::is_stale() and friends "const"
Kefu Chai [Sun, 14 Mar 2021 03:56:06 +0000 (11:56 +0800)]
osd: mark HeartbeatInfo::is_stale() and friends "const"

just for more const correctness.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomon/OSDMonitor: drop stale failure_info
Kefu Chai [Thu, 11 Mar 2021 13:13:13 +0000 (21:13 +0800)]
mon/OSDMonitor: drop stale failure_info

failure_info keeps strong references of the MOSDFailure messages
sent by osd or peon monitors, whenever monitor starts to handle
an MOSDFailure message, it registers it in its OpTracker. and
the failure report messageis unregistered when monitor acks them
by either canceling them or replying the reporters with a new
osdmap marking the target osd down. but if this does not happen,
the failure reports just pile up in OpTracker. and monitor considers
them as slow ops. and they are reported as SLOW_OPS health warning.

in theory, it does not take long to mark an unresponsive osd down if
we have enough reporters. but there is chance, that a reporter fails
to cancel its report before it reboots, and the monitor also fails
to collect enough reports and mark the target osd down. so the
target osd never gets an osdmap marking it down, so it won't send
an alive message to monitor to fix this.

in this change, we check for the stale failure info in tick(), and
simply drop the stale reports. so the messages can released and
marked "done".

Fixes: https://tracker.ceph.com/issues/47380
Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomon/OSDMonitor: restructure OSDMonitor::check_failures() loop
Kefu Chai [Thu, 11 Mar 2021 10:28:18 +0000 (18:28 +0800)]
mon/OSDMonitor: restructure OSDMonitor::check_failures() loop

will add a trim failures call in the loop, which mutates failure_info,
while we are still iterating this map. so have to restructure the loop
a little bit.

Fixes: https://tracker.ceph.com/issues/47380
Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomon/OSDMonitor: extract get_grace_time()
Kefu Chai [Thu, 11 Mar 2021 11:49:36 +0000 (19:49 +0800)]
mon/OSDMonitor: extract get_grace_time()

for better readability

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomon/OSDMonitor: do not return old failure report when updating it
Kefu Chai [Thu, 11 Mar 2021 09:47:50 +0000 (17:47 +0800)]
mon/OSDMonitor: do not return old failure report when updating it

there is no need to return stale report, as the caller is not interested
in it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomon/OSDMonitor: do not return no_reply() again
Kefu Chai [Thu, 11 Mar 2021 09:45:49 +0000 (17:45 +0800)]
mon/OSDMonitor: do not return no_reply() again

we always return "no_op" message to proxy monitor in
`OSDMonitor::prepare_failure()` at the very beginning of this method. so
no need to reply the peon again when discarding the failure report.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomon/Monitor: early return if routed request is not found
Kefu Chai [Thu, 11 Mar 2021 09:09:57 +0000 (17:09 +0800)]
mon/Monitor: early return if routed request is not found

* early return if routed request is not found in routed_requests.
  reduce the indent level, for better readability.
* do not look up the request twice. for better performance.
* use unique_ptr<> for holding the request, for better readability

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/cephadm: identify iscsi service by the pool 40245/head
Sage Weil [Fri, 19 Mar 2021 15:59:46 +0000 (10:59 -0500)]
mgr/cephadm: identify iscsi service by the pool

Since we deploy one of these per pool, name the service by the pool.

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agopybind/mgr/snap_schedule: use ceph VFS 39191/head
Patrick Donnelly [Thu, 28 Jan 2021 23:13:51 +0000 (15:13 -0800)]
pybind/mgr/snap_schedule: use ceph VFS

Rather than storing the ASCII dump of the sqlite database in a single
object, use the shiny new "ceph" VFS!

Hurray, I'm useful!

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agopybind/mgr/snap_schedule: idempotentize table creation
Patrick Donnelly [Thu, 28 Jan 2021 23:12:53 +0000 (15:12 -0800)]
pybind/mgr/snap_schedule: idempotentize table creation

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agomgr: add ceph sqlite VFS
Patrick Donnelly [Thu, 28 Jan 2021 23:02:33 +0000 (15:02 -0800)]
mgr: add ceph sqlite VFS

Configure to use g_ceph_context and obtain the RADOS entity address for
blocklisting.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agodoc: add libcephsqlite
Patrick Donnelly [Thu, 28 Jan 2021 23:03:33 +0000 (15:03 -0800)]
doc: add libcephsqlite

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoceph.spec,debian: package libcephsqlite
Patrick Donnelly [Sat, 30 Jan 2021 19:45:42 +0000 (11:45 -0800)]
ceph.spec,debian: package libcephsqlite

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agotest/libcephsqlite,qa: add tests for libcephsqlite
Patrick Donnelly [Thu, 28 Jan 2021 23:12:19 +0000 (15:12 -0800)]
test/libcephsqlite,qa: add tests for libcephsqlite

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agolibcephsqlite: rework architecture and backend
Patrick Donnelly [Thu, 28 Jan 2021 23:11:50 +0000 (15:11 -0800)]
libcephsqlite: rework architecture and backend

This is a complete rewrite on top of SimpleRADOSStriper as well as the
API. The VFS is now a loadable extension as well.

Fixes: https://tracker.ceph.com/issues/40609
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoSimpleRADOSStriper: wait for finished aios after write
Patrick Donnelly [Sat, 13 Mar 2021 21:39:50 +0000 (13:39 -0800)]
SimpleRADOSStriper: wait for finished aios after write

So the "aios" (better named) vector doesn't grow infinitely.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoSimpleRADOSStriper: add new minimal async striper
Patrick Donnelly [Thu, 28 Jan 2021 23:04:01 +0000 (15:04 -0800)]
SimpleRADOSStriper: add new minimal async striper

This was developed because the two other striper implementations were
unsuitable for libcephsqlite:

- libradosstriper: while the async APIs exist, its current protocol
  requires synchronously locking an object for every write/read whether
  that operation is async or not. For this reason, it's too far too slow
  for latency sensitive applications.

- osdc/Filer: this requires the object name to be an inode number. It
  also comes with other overhead burden which is not necessary for
  libcephsqlite including caching/buffering.

SimpleRADOSStriper aims to be a minimalistic heavily asynchronous
striper. One way it achieves this is through the use of exclusive locks
to protect access to the striped objects. Most metadata updates are
deferred until the striped file is unlocked, flushed, (or closed). All
reads/writes are asynchronous (but a read implicitly gathers async
striped reads for each op).  Writes are not buffered. Reads are not
cached. There is no readahead.

SimpleRADOSStriper aims to be compatible with the rados binary --striper
option for extracting files out of RADOS but it should not be used
otherwise.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agomon: define simple-rados-client-with-blocklist profile
Patrick Donnelly [Sat, 13 Mar 2021 17:41:34 +0000 (09:41 -0800)]
mon: define simple-rados-client-with-blocklist profile

A mon profile that grants the ability for rados clients to blocklist
others (similar to rbd).

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agolibrados: define must renew lock flag
Patrick Donnelly [Mon, 22 Feb 2021 03:19:25 +0000 (19:19 -0800)]
librados: define must renew lock flag

This flag already exists in cls_lock but was not made externally
available via librados. Additionally, internally cls_lock refers to the
_RENEW flag as _MAY_RENEW, add an alias for librados to match.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agocommon: add timeval conversion for durations
Patrick Donnelly [Sat, 20 Feb 2021 03:18:25 +0000 (19:18 -0800)]
common: add timeval conversion for durations

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoRevert "libradosstriper: add function to read into char*"
Patrick Donnelly [Sat, 13 Mar 2021 20:53:50 +0000 (12:53 -0800)]
Revert "libradosstriper: add function to read into char*"

This reverts commit f7494cc1288dd4ba075975c110170e485c3e211b.

This change is no longer needed.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agotest_libcephsqlite: test random inserts
Patrick Donnelly [Tue, 23 Jul 2019 21:46:03 +0000 (14:46 -0700)]
test_libcephsqlite: test random inserts

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agocephsqlite: fix compiler errors
Patrick Donnelly [Tue, 23 Jul 2019 21:45:07 +0000 (14:45 -0700)]
cephsqlite: fix compiler errors

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agocmake: improve build inst for cephsqlite
Patrick Donnelly [Tue, 23 Jul 2019 21:43:50 +0000 (14:43 -0700)]
cmake: improve build inst for cephsqlite

Notably, find SQLite and build the test code.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agolibcephsqlite: sqlite interface to RADOS
Milind Changire [Tue, 16 Jul 2019 06:11:25 +0000 (11:41 +0530)]
libcephsqlite: sqlite interface to RADOS

This library provides a SQLite front-end to the RADOS objects.
This effort will help alleviate the restriction on number of key-value pairs
that can be stored in an object.
This interface is a generic one without any constraint on the database
schema either. Library clients can enforce any schema and use SQLite API
to store data in the database backed by RADOS Objects.

Signed-off-by: Milind Changire <mchangir@redhat.com>
4 years agolibradosstriper: add function to read into char*
Milind Changire [Thu, 27 Jun 2019 13:35:26 +0000 (19:05 +0530)]
libradosstriper: add function to read into char*

Signed-off-by: Milind Changire <mchangir@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agomon/PGMap: nicely format pg acting in health messages 40243/head
Sage Weil [Fri, 19 Mar 2021 15:11:45 +0000 (10:11 -0500)]
mon/PGMap: nicely format pg acting in health messages

For 'pg ls' we show CRUSH_ITEM_NONE as "NONE" and not "2147483647". Do
the same for the health messages.

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agomgr/cephadm/upgrade: do not repeat crash message 40242/head
Sage Weil [Fri, 19 Mar 2021 14:46:09 +0000 (10:46 -0400)]
mgr/cephadm/upgrade: do not repeat crash message

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agomgr/cephadm/upgrade: a little less verbose
Sage Weil [Fri, 19 Mar 2021 14:44:19 +0000 (10:44 -0400)]
mgr/cephadm/upgrade: a little less verbose

The _do_upgrade() method runs a zillion times; try to report fewer
repetitive messages on every iteration.

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agocmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for rgw tests 40230/head
Kefu Chai [Fri, 19 Mar 2021 04:46:17 +0000 (12:46 +0800)]
cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for rgw tests

otherwise unittest_rgw_iam_policy does not compile with boost v1.75

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/cephadm: don't log not-ok-to-stop at ERR level
Sage Weil [Fri, 19 Mar 2021 14:38:06 +0000 (10:38 -0400)]
mgr/cephadm: don't log not-ok-to-stop at ERR level

This is normal during the upgrade; INF is fine.

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agomgr/cephadm: is presumed -> appears
Sage Weil [Fri, 19 Mar 2021 14:37:37 +0000 (10:37 -0400)]
mgr/cephadm: is presumed -> appears

The old wording was weird.

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agomgr/cephadm: don't double-log ok-to-stop results
Sage Weil [Fri, 19 Mar 2021 14:37:16 +0000 (10:37 -0400)]
mgr/cephadm: don't double-log ok-to-stop results

The calling upgrade code also reports this.

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agomgr/cephadm/upgrade: include upgrade progress in ceph -s
Sage Weil [Fri, 19 Mar 2021 14:31:24 +0000 (10:31 -0400)]
mgr/cephadm/upgrade: include upgrade progress in ceph -s

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agoMerge PR #40218 into master
Sage Weil [Fri, 19 Mar 2021 14:21:20 +0000 (10:21 -0400)]
Merge PR #40218 into master

* refs/pull/40218/head:
cephadm: make default image the daily master build

Reviewed-by: Michael Fritch <mfritch@suse.com>
4 years agocephadm: use debug verbosity during container exec 40241/head
Michael Fritch [Thu, 18 Mar 2021 21:41:06 +0000 (15:41 -0600)]
cephadm: use debug verbosity during container exec

avoid failures from appearing on the consle when exec'ing within the
container during the `ls` command

Signed-off-by: Michael Fritch <mfritch@suse.com>
4 years agoMerge pull request #40232 from tchaikov/wip-rgw-drop-unused-var
Kefu Chai [Fri, 19 Mar 2021 14:05:55 +0000 (22:05 +0800)]
Merge pull request #40232 from tchaikov/wip-rgw-drop-unused-var

rgw/rgw_zone: drop unused variable

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
4 years agoMerge pull request #40205 from tchaikov/wip-promtool-podman-docker
Kefu Chai [Fri, 19 Mar 2021 14:03:50 +0000 (22:03 +0800)]
Merge pull request #40205 from tchaikov/wip-promtool-podman-docker

test: run promtool test without docker on focal

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
4 years agoqa/suites/rados/cephadm/dashboard: test on centos 40224/head
Sage Weil [Fri, 19 Mar 2021 13:16:55 +0000 (08:16 -0500)]
qa/suites/rados/cephadm/dashboard: test on centos

Fixes: https://tracker.ceph.com/issues/49638
Signed-off-by: Sage Weil <sage@newdream.net>
4 years agorgw: register daemons in servicemap by gid; include id
Sage Weil [Fri, 19 Mar 2021 12:25:23 +0000 (08:25 -0400)]
rgw: register daemons in servicemap by gid; include id

Registering by gid allows multiple radosgw instances to share an auth
key/identity.  Including the id in the metadata allows them to still be
identified by name (even if not uniquely).

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agocmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for rgw tests 40205/head
Kefu Chai [Fri, 19 Mar 2021 04:46:17 +0000 (12:46 +0800)]
cmake: define BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT for rgw tests

otherwise unittest_rbd_mirror does not compile with boost v1.75

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agotest: run promtool test without docker on ubuntu/focal
Kefu Chai [Fri, 19 Mar 2021 02:32:16 +0000 (10:32 +0800)]
test: run promtool test without docker on ubuntu/focal

before this change, we use docker for running promtools offered by
a docker image, but this is not efficient, and quite a few developers
do not want to use docker for running "make check". this change was
introduced by #39246, the reason was that, in Ceph's CI process, we
are using Ubuntu/Bionic for running "make check" jobs, but prometheus
packaged by Bionic does not offer the "test rules" command. so, to
address problem, we are using "dnanexus/promtool:2.9.2" docker image
for verifying monitoring/prometheus/alerts/test_alerts.yml.

after this change, we use prometheus packaged by debian derivatives
instead of pulling a docker image.

* debian/control: add prometheus as a "make check" dependency
* install-deps.sh: partially revert
  53a5816deda0874a3a37e131e9bc22d88bb2a588, as we don't need to
  pull docker or start docker service for using promtool anymore.
* cmake: check if promtool is capable of running "test rules"
  command, bail out if it is not.

see also: https://tracker.ceph.com/issues/49653

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoinstall-deps.sh: install boost 1.75 on focal
Kefu Chai [Thu, 18 Mar 2021 11:50:58 +0000 (19:50 +0800)]
install-deps.sh: install boost 1.75 on focal

we bump boost on regular basis. let's take the opportunity of moving to
focal to use boost v1.75.

v1.73 was used before this change. since both boost 1.75 and boost 1.73
install some files at the same places, we need to remove boost 1.73
before installing boost 1.75.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocmake: adapt FindBoost.cmake to our needs
Kefu Chai [Thu, 18 Mar 2021 13:16:34 +0000 (21:16 +0800)]
cmake: adapt FindBoost.cmake to our needs

the vanilla FindBoost.cmake pulled from cmake has couple assumptions
which do not hold in our environment. so address them case by case.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocmake: add 1.75 to known versions
Kefu Chai [Thu, 18 Mar 2021 13:08:08 +0000 (21:08 +0800)]
cmake: add 1.75 to known versions

sync with
https://github.com/Kitware/CMake/blob/507710438d6033011cf980dc8a3c739b8bc1bb1c/Modules/FindBoost.cmake

for v1.75 support

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoinstall-deps.sh: install libzbd on focal
Kefu Chai [Thu, 18 Mar 2021 11:43:06 +0000 (19:43 +0800)]
install-deps.sh: install libzbd on focal

WITH_ZBD is enabled for testing the build of zbd bluestore backend, and
we plan to migrate to Ubuntu/Focal for testing "make check", so need to
install libzbd when the distro version is focal.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge PR #40200 into master
Sage Weil [Fri, 19 Mar 2021 12:31:56 +0000 (08:31 -0400)]
Merge PR #40200 into master

* refs/pull/40200/head:
mgr/cephadm: clean up misc messages
mgr/cephadm/configcheck: do not spam info every minute

Reviewed-by: Adam King <adking@redhat.com>
4 years agoMerge PR #40223 into master
Sage Weil [Fri, 19 Mar 2021 12:31:24 +0000 (08:31 -0400)]
Merge PR #40223 into master

* refs/pull/40223/head:
cephadm: prevent podman from breaking socket.getfqdn()

Reviewed-by: Daniel Pivonka <dpivonka@redhat.com>
4 years agoosd/PeeringState: remove unused variable 40239/head
Kefu Chai [Fri, 19 Mar 2021 12:20:32 +0000 (20:20 +0800)]
osd/PeeringState: remove unused variable

recovery_ec_pool_below_min_size was used to verify if the osd in clsuter
are octopus and up, but since we are now quincy and up, there is no need
to verify this. so drop it for better readability and for silencing
the -Wunused-variable warning in Release build.

Signed-off-by: Kefu Chai <kchai@redhat.com>