]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agotest/librbd: resolve compile error on centos 39675/head
YuanXin [Sat, 27 Feb 2021 04:01:40 +0000 (12:01 +0800)]
test/librbd: resolve compile error on centos

Signed-off-by: YuanXin <yuanxin@didiglobal.com>
(cherry picked from commit 49a63a594038f96db235d20e82bcda9963f8ded8)

4 years agorbd: use portable zero-ing memory function
YuanXin [Sat, 27 Feb 2021 03:37:19 +0000 (11:37 +0800)]
rbd: use portable zero-ing memory function

Signed-off-by: YuanXin <yuanxin@didiglobal.com>
(cherry picked from commit 72c04a9d319520c29dfdf952408beb12ed73a88e)

4 years agorbd: fix mingw 5.0.3 compatibility issue
Lucian Petrut [Thu, 25 Feb 2021 20:44:22 +0000 (20:44 +0000)]
rbd: fix mingw 5.0.3 compatibility issue

GetOverlappedResultEx isn't avaialable when using mingw 5.0.3
(default on Ubuntu Bionic).

Since we don't really need the extra parameters, we'll switch
to GetOverlappedResult.

We're doing this mostly for testing purposes as the mingw 5.0.3
runtime is known to be broken.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 7eae54cb4c4ee26fdaff9599a627edd2d281de8a)

4 years agoqa: add tests for persistent writeback cache
lixiaoy1 [Fri, 15 Jan 2021 11:17:04 +0000 (06:17 -0500)]
qa: add tests for persistent writeback cache

Signed-off-by: Li, Xiaoyan <xiaoyan.li@intel.com>
(cherry picked from commit 86ae486cb1654ebbfdb853fe1f9497ac6629d1a8)

4 years agoqa: fix issues in exec_on_cleanup
lisali [Tue, 9 Feb 2021 15:38:16 +0000 (23:38 +0800)]
qa: fix issues in exec_on_cleanup

Signed-off-by: Li, Xiaoyan <xiaoyan.li@intel.com>
(cherry picked from commit 898f9d69793fd0a6a779f2e4a32ad8ce5748951a)

4 years agolibrbd: permit disabling QCOW migration format support
Jason Dillaman [Mon, 22 Feb 2021 15:23:01 +0000 (10:23 -0500)]
librbd: permit disabling QCOW migration format support

Downstream Red Hat products do not support the older QCOW format. This
will allow the support for the legacy QCOW format to be disabled for the
new RBD import-only migration support.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit bc0b9f52ad71ae0e2dbc9a6e3e884a8a7cd02e9b)

4 years agotest/librbd: TestLibRBD.RenameViaLockOwner doesn't require journaling now 39641/head
Mykola Golub [Tue, 23 Feb 2021 04:46:00 +0000 (04:46 +0000)]
test/librbd: TestLibRBD.RenameViaLockOwner doesn't require journaling now

Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 3042eec0d8aa7e28a8b0452c11a6dc6528fe4992)

4 years agolibrbd: use on-disk image name when storing mirror snapshot state
Mykola Golub [Mon, 22 Feb 2021 12:54:43 +0000 (12:54 +0000)]
librbd: use on-disk image name when storing mirror snapshot state

Fixes: https://tracker.ceph.com/issues/49115
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 813728ae2036231a269be86bcb3dc48951a20f21)

4 years agotest/librbd: extend TestLibRBD.RenameViaLockOwner
Mykola Golub [Mon, 22 Feb 2021 12:53:38 +0000 (12:53 +0000)]
test/librbd: extend TestLibRBD.RenameViaLockOwner

To cover the following case:

- Client A has image opened but does not owns the lock.
- Client B renames the image (client A is not aware of it).
- Client A becomes the lock owner.
- Client B requests rename, which is proxied to the client A.

Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 2d2e04e86bcc666e3abaceeeef7e1598dcc9fb94)

4 years agolibrbd: make rename be always executed by lock owner
Mykola Golub [Sun, 14 Feb 2021 11:50:32 +0000 (11:50 +0000)]
librbd: make rename be always executed by lock owner

Fixes: https://tracker.ceph.com/issues/49115
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 2a9fac2cc4b10af04c52e12f34932e6d2d91441f)

4 years agolibrbd: always check on-disk image name when renaming
Mykola Golub [Sun, 14 Feb 2021 11:48:35 +0000 (11:48 +0000)]
librbd: always check on-disk image name when renaming

Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 950a7b5cfc66bdfea35304e6cb06e74c92dcaf5c)

4 years agorbd-mirror: reset update_status_task pointer in timer thread
Mykola Golub [Mon, 22 Feb 2021 16:22:54 +0000 (16:22 +0000)]
rbd-mirror: reset update_status_task pointer in timer thread

To avoid a time window when m_update_status_task is invalid. If
during this time the cancel_update_mirror_image_replay_status is
called, it may cancel some other's ImageReplayer task, if it
happened to add the task with the same address.

Fixes: https://tracker.ceph.com/issues/49418
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 3a289d43f6ab010bcadb80888fb73763f4f55ed0)

4 years agorbd: fix rbd-wnbd log messages
Lucian Petrut [Tue, 23 Feb 2021 12:37:59 +0000 (12:37 +0000)]
rbd: fix rbd-wnbd log messages

Previously, rbd-wnbd was called "rbd-nbd" as it was using NBD
to communicate with the driver.

The tool was then renamed to "rbd-wnbd" but some messages were
not updated.

This patch will simply replace "rbd-nbd" with "rbd-wnbd" in some
log messages.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 108f4363ae31e94928792e7ab3ae1a2cbd5e3c41)

4 years agorbd: fix rbd-wnbd device status
Lucian Petrut [Wed, 17 Feb 2021 13:27:11 +0000 (13:27 +0000)]
rbd: fix rbd-wnbd device status

The "rbd-wnbd show" command will always report the device status
as "inactive". This patch adds the missing check, similar to the
one used by the "list" command.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 94cf22e35217e33a48ab73a018c8b1015b887ca4)

4 years agocommon: fix win32 event log source
Lucian Petrut [Wed, 17 Feb 2021 12:49:02 +0000 (12:49 +0000)]
common: fix win32 event log source

The Windows "get_process_name" function uses the input buffer
to store the entire executable path, while the caller only
expects the filename.

The "get_process_name_cpp" function is using an insufficient
buffer, for which reason it will return "(unknown)" when the
executable path exceeds 32 characters.

Windows event log entries have the wrong source because of this.

We'll update "get_process_name" to use a separate buffer for the
full executable path and avoid requesting a larger buffer than
actually needed.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit 86c7c2f5be96e80d492447d6582131f1b2d3438d)

4 years agoMerge pull request #39439 from dillaman/wip-librbd-backports-pacific-4
Jason Dillaman [Tue, 23 Feb 2021 02:39:38 +0000 (21:39 -0500)]
Merge pull request #39439 from dillaman/wip-librbd-backports-pacific-4

pacific: librbd: miscellaneous backports

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #39531 from neha-ojha/wip-39114-pacific
Yuri Weinstein [Mon, 22 Feb 2021 19:25:32 +0000 (11:25 -0800)]
Merge pull request #39531 from neha-ojha/wip-39114-pacific

pacific: qa/suites/rados/cephadm/*/distro: drop rhel_8.0 targets

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoMerge pull request #39369 from tchaikov/pacific-pr-39367
Yuri Weinstein [Mon, 22 Feb 2021 17:34:21 +0000 (09:34 -0800)]
Merge pull request #39369 from tchaikov/pacific-pr-39367

pacific: ceph.spec.in: fix missing backslash for line continuation

Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
4 years agoMerge pull request #39313 from neha-ojha/wip-49156-pacific
Yuri Weinstein [Mon, 22 Feb 2021 17:33:28 +0000 (09:33 -0800)]
Merge pull request #39313 from neha-ojha/wip-49156-pacific

pacific: osd: fix to call nullptr when cancel_manifest_ops

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #39307 from liewegas/pr-39147-pacific
Yuri Weinstein [Mon, 22 Feb 2021 17:33:00 +0000 (09:33 -0800)]
Merge pull request #39307 from liewegas/pr-39147-pacific

pacific: fix fs volume create

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge PR #39581 into pacific
Patrick Donnelly [Mon, 22 Feb 2021 17:31:00 +0000 (09:31 -0800)]
Merge PR #39581 into pacific

* refs/pull/39581/head:
doc/cephfs: improve fs-nfs-exports.rst

Reviewed-by: Varsha Rao <varao@redhat.com>
4 years agolibrbd/mirror: leave non-primary snapshot images in creating state 39439/head
Jason Dillaman [Thu, 11 Feb 2021 20:54:01 +0000 (15:54 -0500)]
librbd/mirror: leave non-primary snapshot images in creating state

The creating state is a special case in rbd-mirror where it will
automatically delete the image since it assumes it's malformed.
A non-primary, snapshot-based mirror image needs to have at least
one non-primary snapshot and the first one is not created until
after replay has started. Now rbd-mirror will update the mirror
image state to the enabled state after creating the first
non-primary snapshot but before attempting the sync.

Fixes: https://tracker.ceph.com/issues/49238
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 43f2c208fa3042d93e4810d804ffe28e9ca7af77)

4 years agorbd-mirror: ensure that the last non-primary snapshot cannot be pruned
Jason Dillaman [Thu, 11 Feb 2021 20:45:01 +0000 (15:45 -0500)]
rbd-mirror: ensure that the last non-primary snapshot cannot be pruned

Tweak the normal pruning behavior to ensure that an incomplete initial
non-primary snapshot is not included in the prune set since we know
it will be complete since otherwise the image would have been deleted
due to not updating the mirror-image-state to enabled. Also ensure
we cannot prune a non-primary mirror snapshot if we don't have a
predecessor.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit ecd3778a6f9a6ca33aebbf47cef79db5f04157a9)

4 years agorbd-mirror: update snapshot mirror image state after snapshot creation
Jason Dillaman [Thu, 11 Feb 2021 20:23:56 +0000 (15:23 -0500)]
rbd-mirror: update snapshot mirror image state after snapshot creation

The non-primary mirror snapshot is what is used to link the non-primary
to the primary image. If there is an interruption between creating the
non-primary image and the creation of the first non-primary snapshot,
the images will be considerered unlinked.

A future commit will modify librbd to avoid setting the mirror image
state to enabled for non-primary snapshot-based mirroring images.
rbd-mirror will already automatically delete images in the CREATING
state during the bootstrap phase.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit c9378ab8293e531a49970a01becd9762cf1f8f80)

4 years agodoc/rbd: rbd encryption
Or Ozeri [Mon, 15 Feb 2021 15:50:35 +0000 (17:50 +0200)]
doc/rbd: rbd encryption

This commit adds documentation of the new rbd encryption feature

Signed-off-by: Or Ozeri <oro@il.ibm.com>
(cherry picked from commit e45cd83af1edeca33c4acdfb52e53a030f199074)

4 years agocmake: enable write-back cache in spec
lixiaoy1 [Thu, 18 Feb 2021 01:12:26 +0000 (20:12 -0500)]
cmake: enable write-back cache in spec

Signed-off-by: Li, Xiaoyan <xiaoyan.li@intel.com>
(cherry picked from commit a49d1dbb32e2436ff2836a85b2fa84418f0a5fff)

4 years agolibrbd/cache/pwl: wait for the completion of reads
lixiaoy1 [Fri, 19 Feb 2021 05:04:57 +0000 (00:04 -0500)]
librbd/cache/pwl: wait for the completion of reads

Shut down PWL after the read IOs are completed.

Signed-off-by: Li, Xiaoyan <xiaoyan.li@intel.com>
(cherry picked from commit 54e8e4608708fc38e6d0de7e4bc352e9a442c02f)

4 years agomgr/rbd_support: mirror snapshot schedule should skip non-primary images
Mykola Golub [Wed, 17 Feb 2021 14:15:57 +0000 (14:15 +0000)]
mgr/rbd_support: mirror snapshot schedule should skip non-primary images

And while here, suppress error messages for ENOENT errors.

Fixes: https://tracker.ceph.com/issues/49284
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit d39eb283c5cee12c98afb2667d63112ef9409630)

4 years agolibrbd: allow disabling journaling for snapshot based mirroring image
Mykola Golub [Fri, 12 Feb 2021 17:18:07 +0000 (17:18 +0000)]
librbd: allow disabling journaling for snapshot based mirroring image

Fixes: https://tracker.ceph.com/issues/49282
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 2a5885fedaaf2ddd3c7005162064c9981a499240)

4 years agoqa/workunits/rbd: make luks-encryption test work on vstart cluster
Mykola Golub [Mon, 15 Feb 2021 15:03:00 +0000 (15:03 +0000)]
qa/workunits/rbd: make luks-encryption test work on vstart cluster

When running as non-root, it might not find the `rbd` binary.

Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit f737c2855a19c75c38804bdd0caacc915b0472a1)

4 years agoMerge PR #39563 into pacific
Sage Weil [Fri, 19 Feb 2021 21:43:05 +0000 (16:43 -0500)]
Merge PR #39563 into pacific

* refs/pull/39563/head:
qa/valgrind.supp: suppress free[] warnings
qa/suites: do not use notcmalloc flavor

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agodoc/cephfs: improve fs-nfs-exports.rst 39581/head
Rishabh Dave [Tue, 5 Jan 2021 07:24:55 +0000 (12:54 +0530)]
doc/cephfs: improve fs-nfs-exports.rst

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 6ba55be8893b088f42acd566c9ae54121dfdc79d)

4 years agoMerge pull request #39433 from liewegas/pr-39404-pacific
Yuri Weinstein [Fri, 19 Feb 2021 17:04:58 +0000 (09:04 -0800)]
Merge pull request #39433 from liewegas/pr-39404-pacific

pacific: qa/suites/upgrade/octopus-x/stress-split

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoqa/valgrind.supp: suppress free[] warnings 39563/head
Sage Weil [Thu, 18 Feb 2021 18:04:16 +0000 (12:04 -0600)]
qa/valgrind.supp: suppress free[] warnings

This is apparently not going to get fixed any time soon.

https://github.com/gperftools/gperftools/issues/792

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 28fe149ea276693b47cc4d600780971f723672e4)

4 years agoqa/suites: do not use notcmalloc flavor
Sage Weil [Thu, 18 Feb 2021 22:00:59 +0000 (16:00 -0600)]
qa/suites: do not use notcmalloc flavor

teuthology now knows how to run valgrind against a tcmalloc binary

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit dc64ccf063f1ddf843fae4d2621ec25187f56135)

# Conflicts:
# qa/suites/rgw/verify/validater/valgrind.yaml
 - conflict on commented out line

4 years agoMerge pull request #39442 from rhcs-dashboard/wip-49270-pacific
Ernesto Puerta [Thu, 18 Feb 2021 16:07:47 +0000 (17:07 +0100)]
Merge pull request #39442 from rhcs-dashboard/wip-49270-pacific

pacific: mgr/dashboard: delete EOF when reading passwords from file

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 years agoMerge pull request #39485 from liewegas/pr-39282-pacific
Yuri Weinstein [Wed, 17 Feb 2021 20:15:31 +0000 (12:15 -0800)]
Merge pull request #39485 from liewegas/pr-39282-pacific

pacific: osdc,librados: set FULLY_TRY flag by ioctx, not globally

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #39484 from liewegas/pr-39283-pacific
Yuri Weinstein [Wed, 17 Feb 2021 19:50:50 +0000 (11:50 -0800)]
Merge pull request #39484 from liewegas/pr-39283-pacific

pacific: qa/suites/rados/dashboard: whitelist TELEMETRY_CHANGED

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoqa/suites/rados/cephadm/*/distro: drop rhel_8.0 targets 39531/head
Sage Weil [Wed, 27 Jan 2021 22:04:58 +0000 (16:04 -0600)]
qa/suites/rados/cephadm/*/distro: drop rhel_8.0 targets

We still have centos 8.0.  We're missing an 8.0 image for the gibba.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit ebee47e06ffceeeee2ed5746783880207f85e82f)

4 years agoMerge pull request #39500 from liewegas/pr-39496-pacific
Yuri Weinstein [Tue, 16 Feb 2021 22:56:10 +0000 (14:56 -0800)]
Merge pull request #39500 from liewegas/pr-39496-pacific

pacific: mgr/cephadm: fix host refresh

Reviewed-by: David Galloway <dgallowa@redhat.com>
4 years agoMerge pull request #39425 from rhcs-dashboard/wip-49254-pacific
Ernesto Puerta [Tue, 16 Feb 2021 19:49:07 +0000 (20:49 +0100)]
Merge pull request #39425 from rhcs-dashboard/wip-49254-pacific

pacific: mgr/dashboard: Automatically refresh crush map metadata table

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 years agoMerge pull request #39310 from liewegas/pr-39213-pacific
Yuri Weinstein [Tue, 16 Feb 2021 19:13:49 +0000 (11:13 -0800)]
Merge pull request #39310 from liewegas/pr-39213-pacific

pacific: qa/suites/upgrade/octopus-x/parallel: include cephfs in upgrade cluster

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
4 years agomgr/cephadm: fix host refresh 39500/head
Sage Weil [Tue, 16 Feb 2021 17:07:08 +0000 (11:07 -0600)]
mgr/cephadm: fix host refresh

Fixes: 01f60cf4e0a751c314120c02956d4ff941eb71b4
Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 9df5a6d73ed21b394c01afe6c9800b6e50737c90)

4 years agoMerge PR #39437 into pacific
Patrick Donnelly [Mon, 15 Feb 2021 23:15:35 +0000 (15:15 -0800)]
Merge PR #39437 into pacific

* refs/pull/39437/head:
qa: Fix a few mgr/volume test cases

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoosdc/Objecter: remove pool_full_try interface 39485/head
Sage Weil [Wed, 3 Feb 2021 21:46:22 +0000 (16:46 -0500)]
osdc/Objecter: remove pool_full_try interface

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit e468fc0d3b8c5f4d7713e4015d4d7ccbfa5bccf9)

4 years agolibrados: set FULL_TRY flag on ioctx, not objecter
Sage Weil [Wed, 3 Feb 2021 21:44:11 +0000 (16:44 -0500)]
librados: set FULL_TRY flag on ioctx, not objecter

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit a8bed67ad17f8d9114888cd1eba81c05555cfa73)

4 years agolibrados/IoCtxImpl: pass extra_op_flags everywhere
Sage Weil [Wed, 3 Feb 2021 21:43:53 +0000 (16:43 -0500)]
librados/IoCtxImpl: pass extra_op_flags everywhere

Unused, so far...

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 68564836ff637ce017755abfa10c1856296dc51d)

4 years agoqa/suites/rados/dashboard: whitelist TELEMETRY_CHANGED 39484/head
Sage Weil [Wed, 3 Feb 2021 23:36:29 +0000 (17:36 -0600)]
qa/suites/rados/dashboard: whitelist TELEMETRY_CHANGED

test_enable_module_empty_license fiddles with this.

Fixes: https://tracker.ceph.com/issues/48990
Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit bf5646704c3e565efbb480070e7df5745c89c588)

4 years agoMerge pull request #39232 from liewegas/pr-39212-pacific
Josh Durgin [Mon, 15 Feb 2021 17:52:46 +0000 (09:52 -0800)]
Merge pull request #39232 from liewegas/pr-39212-pacific

pacific: cpatch: updates

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge PR #39222 into pacific
Jan Fajerski [Mon, 15 Feb 2021 09:14:49 +0000 (10:14 +0100)]
Merge PR #39222 into pacific

* refs/pull/39222/head:
ceph-volume: Fix usage of is_lv

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Dimitri Savineau <dsavinea@redhat.com>
Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
4 years agoMerge pull request #39179 from neha-ojha/wip-49058-pacific
Yuri Weinstein [Fri, 12 Feb 2021 18:14:48 +0000 (10:14 -0800)]
Merge pull request #39179 from neha-ojha/wip-49058-pacific

pacific: qa/*/thrash_cache_writeback_proxy_none.yaml: disable writeback overlay tests

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #39228 from ifed01/wip-ifed-fix-pin-pacific
Yuri Weinstein [Fri, 12 Feb 2021 16:17:07 +0000 (08:17 -0800)]
Merge pull request #39228 from ifed01/wip-ifed-fix-pin-pacific

pacific: os/bluestore: fix a bug causing unexpected Onode's unpinned state.

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #39218 from k0ste/wip-49006-pacific
Yuri Weinstein [Fri, 12 Feb 2021 16:16:25 +0000 (08:16 -0800)]
Merge pull request #39218 from k0ste/wip-49006-pacific

pacific: mgr: update mon metadata when monmap is updated

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #39214 from neha-ojha/wip-49087-pacific
Yuri Weinstein [Fri, 12 Feb 2021 16:15:31 +0000 (08:15 -0800)]
Merge pull request #39214 from neha-ojha/wip-49087-pacific

pacific: qa/suites/upgrade/nautilus-x-singleton: pin to 18.04

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #39180 from neha-ojha/wip-48986-pacific
Yuri Weinstein [Fri, 12 Feb 2021 16:15:03 +0000 (08:15 -0800)]
Merge pull request #39180 from neha-ojha/wip-48986-pacific

pacific: An empty bucket or OSD is not an error

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
4 years agoMerge pull request #39378 from sebastian-philipp/pacific-backport-39172-39097-39095...
Sebastian Wagner [Fri, 12 Feb 2021 15:20:55 +0000 (16:20 +0100)]
Merge pull request #39378 from sebastian-philipp/pacific-backport-39172-39097-39095-39143-39106-39200-38911-39069-39208-38927-

pacific: cephadm backport February (1)

Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
4 years agomgr/dashboard: delete EOF when reading passwords from file 39442/head
Alfonso Martínez [Tue, 9 Feb 2021 10:17:52 +0000 (11:17 +0100)]
mgr/dashboard: delete EOF when reading passwords from file

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
(cherry picked from commit caeadf1397db00c6b7ba218b1910508099802e39)

4 years agolibrbd: don't log error if get mirror status fails due to mirroring disabled
Mykola Golub [Thu, 11 Feb 2021 09:24:49 +0000 (09:24 +0000)]
librbd: don't log error if get mirror status fails due to mirroring disabled

Fixes: https://tracker.ceph.com/issues/49245
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 1d303e6faa51ab71e5b5b909053fd6120c981081)

4 years agolibrbd/io: conditionally disable move optimization
Jason Dillaman [Thu, 4 Feb 2021 16:17:48 +0000 (11:17 -0500)]
librbd/io: conditionally disable move optimization

If the requested write length does not match the provided bufferlist
length, disable the move optimization and instead fallback to creating
a new sub-bufferlist for the object request.

Fixes: https://tracker.ceph.com/issues/49173
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 8dbb4a3d971d9a48c171f161f531956dd0030403)

4 years agotest/rbd-mirror: fix broken ceph_test_rbd_mirror_random_write
Jason Dillaman [Wed, 3 Feb 2021 04:34:18 +0000 (23:34 -0500)]
test/rbd-mirror: fix broken ceph_test_rbd_mirror_random_write

It appears that commit 6eb8f30a238 broke the test utility and
its failure was masked by the test case that expected a failure
due to a timeout force-killing the app.

Fixes: https://tracker.ceph.com/issues/49117
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 8643b046fb4d5b05b4c75b83f16cd8ccc6a8b0a0)

4 years agoMerge pull request #39428 from dillaman/wip-49253-pacific
Jason Dillaman [Fri, 12 Feb 2021 13:15:47 +0000 (08:15 -0500)]
Merge pull request #39428 from dillaman/wip-49253-pacific

pacific: librbd: correct incremental deep-copy object-map inconsistencies

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agoMerge pull request #39316 from petrutlucian94/wip-49155-pacific
Jason Dillaman [Fri, 12 Feb 2021 13:15:25 +0000 (08:15 -0500)]
Merge pull request #39316 from petrutlucian94/wip-49155-pacific

pacific: Windows RBD fixes

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #39305 from dillaman/wip-librbd-backports-pacific-3
Jason Dillaman [Fri, 12 Feb 2021 13:15:00 +0000 (08:15 -0500)]
Merge pull request #39305 from dillaman/wip-librbd-backports-pacific-3

pacific: librbd: miscellaneous backports

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agoqa: Fix a few mgr/volume test cases 39437/head
Kotresh HR [Fri, 5 Feb 2021 18:05:22 +0000 (23:35 +0530)]
qa: Fix a few mgr/volume test cases

Recovering dirty auth metadata file might not retain the order,
fixed the comparison in 'test_recover_auth_metadata_during_authorize'
and 'test_recover_auth_metadata_during_deauthorize'.

Fixes: https://tracker.ceph.com/issues/49192
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit 4952d2132ffd92594e749a652970d5d9415c721d)

4 years agoqa/suites/upgrade/octopus-x/stress-split: cephadm-based stress-split upgrade 39433/head
Sage Weil [Thu, 4 Feb 2021 18:56:49 +0000 (12:56 -0600)]
qa/suites/upgrade/octopus-x/stress-split: cephadm-based stress-split upgrade

Apply stress during upgrade, and also pause partway and do some
thrashing.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit ec90e9b82c540bbdc7194e2cf3c5d864ab918695)

4 years agolibrbd: journal::StandardPolicy template defaults to ImageCtx 39305/head
Ilya Dryomov [Tue, 9 Feb 2021 13:04:39 +0000 (14:04 +0100)]
librbd: journal::StandardPolicy template defaults to ImageCtx

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b90ee634fa2aca4d1223ee19f43d026917aa969d)

4 years agolibrbd: don't hold owner_lock for validate_image_removal()
Ilya Dryomov [Mon, 8 Feb 2021 16:01:47 +0000 (17:01 +0100)]
librbd: don't hold owner_lock for validate_image_removal()

handle_exclusive_lock() and handle_shut_down_exclusive_lock() call
validate_image_removal() without owner_lock held, so holding it in
shut_down_exclusive_lock() appears to be redundant.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b1bf3eaef200fb5d1aa847cad14936f2bbbf7b64)

4 years agolibrbd: treat EROFS as expected in handle_acquire_lock()
Ilya Dryomov [Sun, 7 Feb 2021 14:09:24 +0000 (15:09 +0100)]
librbd: treat EROFS as expected in handle_acquire_lock()

If the peer refuses to release exclusive lock (e.g. in case automatic
exclusive lock transitions are disabled), EROFS is retured.  Suppress
a rather confusing "Read-only file system" error message -- this case
is no different from EBUSY or EAGAIN.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 2f82c98f5a542a69057f3e78d232380eee14eff7)

4 years agolibrbd: refuse to release exclusive lock when removing
Ilya Dryomov [Sun, 7 Feb 2021 12:46:15 +0000 (13:46 +0100)]
librbd: refuse to release exclusive lock when removing

Commit 25c2ffe145be ("librbd: acquire exclusive lock from peer when
removing") changed PreRemoveRequest to request exclusive lock from the
peer instead of giving up and proceeding without exclusive lock.  This
caused one of the test cases that sometimes runs concurrent "rbd rm"
against the same image to fail intermittently, most often on assert

  ceph_assert(image_ctx.exclusive_lock == nullptr ||
              image_ctx.exclusive_lock->is_lock_owner());

because exclusive lock is now automatically transitioned to another
"rbd rm" on its request.

The root cause is older and probably goes back to when synchronous
librbd::remove() which held owner_lock across all operations including
trim_image() was converted to a set of state machines.  Since then, any
peer that requests exclusive lock (instead of trying once and backing
off) is able to mess with image removal.

Install StandardPolicy to disable automatic exclusive lock transitions
during image removal.

Fixes: https://tracker.ceph.com/issues/49226
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 707907ea3f6ff39968666af4ba718ceef8cd8953)

4 years agolibrbd: templatize exclusive_lock::StandardPolicy
Ilya Dryomov [Mon, 8 Feb 2021 15:49:35 +0000 (16:49 +0100)]
librbd: templatize exclusive_lock::StandardPolicy

This will be used by expect_set_exclusive_lock_policy() in
test_mock_PreRemoveRequest.cc.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 948f3c761dce4678b38d22e240da06434dbe10e4)

4 years agolibrbd/cache/pwl: Fix user request completion in
Mahati Chamarthy [Wed, 3 Feb 2021 15:03:50 +0000 (20:33 +0530)]
librbd/cache/pwl: Fix user request completion in

... persist_on_flush mode

Signed-off-by: Mahati Chamarthy <mahati.chamarthy@intel.com>
(cherry picked from commit d8eb9391c9dd7425053bd91f79eea103ae90cc93)

4 years agorbd-mirror: don't prune older mirror snapshots when pruning incomplete snapshot 39428/head
Jason Dillaman [Mon, 8 Feb 2021 16:53:28 +0000 (11:53 -0500)]
rbd-mirror: don't prune older mirror snapshots when pruning incomplete snapshot

Since we normally prune in order, we need to ensure that we don't prune older
snapshots when we need to delete an incomplete mirror snapshot since the
older snapshot might be the only remaining mirror snapshot.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 7ba9214ea5b73d0436af6c2896abf4836d741de9)

4 years agoqa/workunits/rbd: show snapshot deltas during stress test failure
Jason Dillaman [Mon, 8 Feb 2021 15:13:35 +0000 (10:13 -0500)]
qa/workunits/rbd: show snapshot deltas during stress test failure

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit f079116e87161b55acaa08c55bf8b8e79cee8670)

4 years agolibrbd/deep-copy: compute parent overlap before computing zero extents
Jason Dillaman [Fri, 5 Feb 2021 18:33:16 +0000 (13:33 -0500)]
librbd/deep-copy: compute parent overlap before computing zero extents

An object might not overlap with its parent so avoid injecting an empty
object to hide the non-existent parent.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit f1c6147623fc7876f7f9cc7beda98d1f7edf9e68)

4 years agoqa/suites/rbd: add snapshot-based mirroring stress test
Jason Dillaman [Tue, 2 Feb 2021 20:28:48 +0000 (15:28 -0500)]
qa/suites/rbd: add snapshot-based mirroring stress test

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 094bfeaf8efe1c4794a2b301314eddedfa5246f9)

4 years agolibrbd/deep_copy: skip snap list if object is known to be clean
Jason Dillaman [Fri, 29 Jan 2021 15:44:38 +0000 (10:44 -0500)]
librbd/deep_copy: skip snap list if object is known to be clean

If the fast-diff indicates that the destination object should exist
and that it hasn't changed, there shouldn't be a need to issue the
snap list operation. Instead, just update the destination object map
to indicate the existence of the object.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 235b27a8f08a82fc46efa8b6a3e5cb8a5276956b)

4 years agolibrbd/deep_copy: object-copy state machine must update object map
Jason Dillaman [Fri, 29 Jan 2021 02:42:09 +0000 (21:42 -0500)]
librbd/deep_copy: object-copy state machine must update object map

If there was no data to copy, the object-copy state machine was bypassing
the object-map update states and prematurely completing. Since the
object-map is default-initialized to all non-existent objects, this results
in incorrect state for OBJECT_EXISTS_CLEAN objects.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit ca0b9bfc28ef7287ca139ca9640c876223eda87b)

4 years agolibrbd/io: track object non-existence when computing snapshot deltas
Jason Dillaman [Wed, 3 Feb 2021 18:21:34 +0000 (13:21 -0500)]
librbd/io: track object non-existence when computing snapshot deltas

Re-use the existing DNE state to track whether or not the object
already exists when computing snapshot deltas from an arbitrary
set of snapshots. Previously, the non-existence of the object was
only computed for snap id 0 for tracking whiteouts. In a future
commit, the deep-copy object-copy state machine will be able to
properly update the object-map state to indicate exists clean
vs non-existent state.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 89d2a13db67945bfd7c6d6fe79584f00574b8ba3)

4 years agolibrbd/io: minor reorganization for object list-snaps
Jason Dillaman [Wed, 3 Feb 2021 21:23:20 +0000 (16:23 -0500)]
librbd/io: minor reorganization for object list-snaps

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit a75c8a0abdb43a60dd7eeb3b405f6b30481cf321)

4 years agolibrbd/io: only track initial diff extents if no diffs exists
Jason Dillaman [Wed, 3 Feb 2021 15:13:28 +0000 (10:13 -0500)]
librbd/io: only track initial diff extents if no diffs exists

The purpose of the initial diff extents ({0, 0}) was to help track
whether or not objects exists for read-from-parent / whiteout
tracking. Once we have at least one set of diffs on the object, we
actually have enough information to know about the object state.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 688cbf3da38025b48be1e308f79170c40f0760d3)

4 years agolibrbd/object_map: diff state machine should track object existence
Jason Dillaman [Thu, 28 Jan 2021 23:30:16 +0000 (18:30 -0500)]
librbd/object_map: diff state machine should track object existence

The deep-copy snapshot-create state machine initializes the object-map
state to non-existent for all objects. There was an assumption that the
deep-copy object-copy state machine would always update the object map
but that was being skipped for clean objects as an optimization. This
change will support a future commit to run the object-copy state machine
for existing objects.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit b81cd2460de748c71210520f8c819895f257f0c7)

4 years agomgr/dashboard: Automatically refresh the crush map metadata table 39425/head
Nizamudeen A [Tue, 19 Jan 2021 12:35:43 +0000 (18:05 +0530)]
mgr/dashboard: Automatically refresh the crush map metadata table

If we make any change to the osd crush map like do an osd crush reweight from cli, for that change to be reflected on metadata table we need to reload the entire page. Instead this PR takes care of auto refreshing the tree view.

Fixes: https://tracker.ceph.com/issues/48922
Signed-off-by: Nizamudeen A <nia@redhat.com>
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit bc8562ef2a17b78e80bd4e1272d3fd1a512249bb)

4 years agoMerge pull request #39272 from jan--f/wip-49142-pacific
Guillaume Abrioux [Thu, 11 Feb 2021 07:49:03 +0000 (08:49 +0100)]
Merge pull request #39272 from jan--f/wip-49142-pacific

pacific: ceph-volume: add some flexibility to bytes_to_extents

4 years agoMerge pull request #39403 from neha-ojha/wip-49228-pacific
Neha Ojha [Thu, 11 Feb 2021 02:06:18 +0000 (18:06 -0800)]
Merge pull request #39403 from neha-ojha/wip-49228-pacific

pacific: Revert "qa/tasks/cephadm: use cluster.sh and remote.sh for better readibility"

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoRevert "qa/tasks/cephadm: use cluster.sh and remote.sh for better readibility" 39403/head
Neha Ojha [Tue, 9 Feb 2021 22:10:19 +0000 (22:10 +0000)]
Revert "qa/tasks/cephadm: use cluster.sh and remote.sh for better readibility"

This reverts commit 6d7ba1180e66df2d6dee3a01fe3e12cafaa6fe8c.

Fixes: https://tracker.ceph.com/issues/49228
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit 3ced450cdd7a1f4083a19dd29b2d27e03883ab52)

4 years agomgr/cephadm: Add strings to assert statements 39378/head
Sebastian Wagner [Fri, 29 Jan 2021 10:10:38 +0000 (11:10 +0100)]
mgr/cephadm: Add strings to assert statements

This helps with: https://tracker.ceph.com/issues/48981

Looks like there is an assert somewhere:

```
Error EINVAL: Traceback (most recent call last):
  File "/usr/share/ceph/mgr/mgr_module.py", line 1269, in _handle_command
    return self.handle_command(inbuf, cmd)
   ...snip...
  File "/usr/share/ceph/mgr/orchestrator/module.py", line 550, in _list_services
    raise_if_exception(completion)
  File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 653, in raise_if_exception
    raise e
AssertionError
```

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 06f4d84166f9c0761ace002fa2091dcd1d78f2d6)

4 years agomgr/cephadm: try again calling ceph-volume without --filter-for-batch
Sebastian Wagner [Fri, 15 Jan 2021 12:13:35 +0000 (13:13 +0100)]
mgr/cephadm: try again calling ceph-volume without --filter-for-batch

Fixes: https://tracker.ceph.com/issues/48870
This deals with a cephadm upgrade issue:

1. user calls `ceph orch upgrade`
2. mgr/cephadm calls `ceph orch config set mgr.x container_image <new-container>`
3. standby mgr gets upgraded
4. mgr failover to new mgr
5. mgr/cephadm calls `_refresh_host_devices`
6. `_refresh_host_devices` calls` ceph orch config get osd container_image`.
  But this returns the old image
7. `_refresh_host_devices` calls `ceph-volume ... --filter-for-batch`
  with an image that doesn't support `filter-for-batch`

The idea is to simply retiry calling ceph-volume inventory without `--filter-for-batch`

(also removed `out` being used without being declared)

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit ede3d6d147dd7b99d37aee5c5fb9340f2878db18)

4 years agopython-common: Set disallow_untyped_defs = True
Sebastian Wagner [Mon, 1 Feb 2021 16:08:28 +0000 (17:08 +0100)]
python-common: Set disallow_untyped_defs = True

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 582f7c1657766579acc69512bf7a90088e5618a2)

4 years agopython-common: removed unused exeption.py
Sebastian Wagner [Mon, 1 Feb 2021 16:06:57 +0000 (17:06 +0100)]
python-common: removed unused exeption.py

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 16dfa60b9feff3eb3a2748c4e378d5abd8e3378c)

4 years agopython-common: Type annotation for ServiceSpec.from_json
Sebastian Wagner [Mon, 1 Feb 2021 15:13:19 +0000 (16:13 +0100)]
python-common: Type annotation for ServiceSpec.from_json

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 7a297262aa1ec080f2264f5b16747cdd740d446d)

4 years agomgr/cephadm/upgrade: tolerate pre-pacific upgrade state
Sage Weil [Sat, 30 Jan 2021 22:35:21 +0000 (16:35 -0600)]
mgr/cephadm/upgrade: tolerate pre-pacific upgrade state

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit b0ff67b7ff321ed6e73ab19ea6282ebc75546b19)

4 years agomgr/cephadm/upgrade: scale down MDS cluster(s) for major version upgrades
Sage Weil [Tue, 26 Jan 2021 22:10:13 +0000 (16:10 -0600)]
mgr/cephadm/upgrade: scale down MDS cluster(s) for major version upgrades

For octopus -> pacific, as with other recent releases, we need to scale
down the MDS cluster(s) to a single daemon before upgrading.  (This is
because the MDS intra-cluster protocols aren't fully versioned.)

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 604d2636d7744b742c162df722ed53ec68a9084e)

4 years agomgr/cephadm: fix capitalization, level; drop elipses of log msgs
Sage Weil [Thu, 28 Jan 2021 15:02:27 +0000 (09:02 -0600)]
mgr/cephadm: fix capitalization, level; drop elipses of log msgs

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 1e60a103709aec5ddac8b12a44b9d0d646d2a682)

4 years agomgr/cephadm/upgrade: match against any repo_digest, not image_id
Sage Weil [Wed, 27 Jan 2021 14:54:00 +0000 (08:54 -0600)]
mgr/cephadm/upgrade: match against any repo_digest, not image_id

The image id can vary across hosts and (most notably) docker vs podman.
Instead, use the repo_digest as an image identifier.

Unfortunately, a single image may have multiple digests, even within the
same registry, so keep a list of the digests for the image we are
upgrading to, and ensure that each container has a digest that matches at
least one of them.

This allows upgrade to proceed in mixed docker+podman clusters.  However,
it does not yet address a cluster with mixed CPU architectures, because
the container image will have different digest(s) for each architecture
build.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit fe72946729dada7646863b17c06d90abd82d61ad)

4 years agocephadm: return repo_digests (plural) in pull/inspect output
Sage Weil [Wed, 27 Jan 2021 14:12:00 +0000 (08:12 -0600)]
cephadm: return repo_digests (plural) in pull/inspect output

When we inspect a (pulled) image, return all of the repo digests.  Update
the mgr/cephadm code accordingly to match.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit e9333972c1b84ebdfe43c8f686d74d4c859eedf1)

4 years agomgr/cephadm: include container_image_digests in inventory
Sage Weil [Wed, 27 Jan 2021 14:02:25 +0000 (08:02 -0600)]
mgr/cephadm: include container_image_digests in inventory

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 9f61c94ae7d56f0b12d753642e031fcd5cd9d145)

4 years agocephadm: include image_digests list in 'ls' output
Sage Weil [Wed, 27 Jan 2021 13:50:14 +0000 (07:50 -0600)]
cephadm: include image_digests list in 'ls' output

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 0826c45e0cb5d60fcf8cd71cd14edd34a6997cd4)

4 years agovstart.sh: only extract first container digest
Sage Weil [Tue, 26 Jan 2021 19:11:13 +0000 (13:11 -0600)]
vstart.sh: only extract first container digest

Otherwise the container_image value includes the same hash twice, separated
by a newline, causing all sorts of confusion.

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 6741082eb3e03db608899a8a5fef44fb05d356b7)

4 years agomgr/cephadm: move release -> major translation to helper
Sage Weil [Tue, 26 Jan 2021 15:24:54 +0000 (09:24 -0600)]
mgr/cephadm: move release -> major translation to helper

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit 43ac324c3817b378beb9fe12437565ddbecb5370)

4 years agomgr/cephadm/upgrade: tolerate old upgrade_state.target_versoin
Sage Weil [Tue, 26 Jan 2021 15:24:38 +0000 (09:24 -0600)]
mgr/cephadm/upgrade: tolerate old upgrade_state.target_versoin

Signed-off-by: Sage Weil <sage@newdream.net>
(cherry picked from commit a3c9df91975708f42cd75266e840f0b0b019e7c7)