]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agoMerge pull request #38730 from ronen-fr/wip-ronenf-scrub-interval
Neha Ojha [Sat, 16 Jan 2021 01:02:19 +0000 (17:02 -0800)]
Merge pull request #38730 from ronen-fr/wip-ronenf-scrub-interval

osd: improved handling of new-interval events by the scrubber

Reviewed-by: David Zafman <dzafman@redhat.com>
4 years agoMerge pull request #38856 from dzafman/wip-48789
Neha Ojha [Sat, 16 Jan 2021 00:27:59 +0000 (16:27 -0800)]
Merge pull request #38856 from dzafman/wip-48789

test: Fix osd-scrub-scaps.sh to handle DB format change

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #38726 from ronen-fr/wip-ronenf-48720
Neha Ojha [Fri, 15 Jan 2021 21:46:30 +0000 (13:46 -0800)]
Merge pull request #38726 from ronen-fr/wip-ronenf-48720

qa/standalone/scrub/osd-recovery-scrub: handle primary change when waiting for scrub

Reviewed-by: David Zafman <dzafman@redhat.com>
4 years agoMerge PR #38160 into master
Patrick Donnelly [Fri, 15 Jan 2021 19:53:02 +0000 (11:53 -0800)]
Merge PR #38160 into master

* refs/pull/38160/head:
doc/mgr/volumes: Document 'fs subvolume authorized_list' cli
qa: Add tests for list auth-ids of a subvolume
mgr/volumes: Update the 'volumes' key to 'subvolumes' in auth metadata file
mgr/volumes: Optionally authorize existing auth-ids
mgr/volumes: Preserve existing caps while authorize/deauthorize auth-id
mgr/volumes: Disallow authorize existing auth_id
mgr/volumes: Add subvolume authorized_list command
mgr/volumes: Add tenant_id option to subvolume authorize
mgr/volumes: Persist auth and subvolume metadata

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #38862 from dillaman/wip-librbd-migration-qcow
Mykola Golub [Fri, 15 Jan 2021 18:58:30 +0000 (20:58 +0200)]
Merge pull request #38862 from dillaman/wip-librbd-migration-qcow

librbd/migration: basic QCOW format handler

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agotest: Fix osd-scrub-scaps.sh to handle DB format change 38856/head
David Zafman [Tue, 12 Jan 2021 00:00:05 +0000 (16:00 -0800)]
test: Fix osd-scrub-scaps.sh to handle DB format change

Caused by: f9c95fa7fc7b0ee992c0249ff090fa7f751e9719

Fixes: https://tracker.ceph.com/issues/48789
Signed-off-by: David Zafman <dzafman@redhat.com>
4 years agoMerge pull request #38900 from Exotelis/update-i18n
Ernesto Puerta [Fri, 15 Jan 2021 18:07:16 +0000 (19:07 +0100)]
Merge pull request #38900 from Exotelis/update-i18n

mgr/dashboard: Update locale en to en-US to match transifex

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agoMerge pull request #38722 from tchaikov/wip-mgr-args-ann
Kefu Chai [Fri, 15 Jan 2021 17:51:27 +0000 (01:51 +0800)]
Merge pull request #38722 from tchaikov/wip-mgr-args-ann

mgr: use annotations for argdesc

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agoMerge pull request #38899 from ronen-fr/wip-ronenf-blue-dangling
Kefu Chai [Fri, 15 Jan 2021 17:49:46 +0000 (01:49 +0800)]
Merge pull request #38899 from ronen-fr/wip-ronenf-blue-dangling

os/bluestore: fixing a dangling pointer

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #38902 from ifed01/wip-ifed-fix-deleting
Kefu Chai [Fri, 15 Jan 2021 17:48:30 +0000 (01:48 +0800)]
Merge pull request #38902 from ifed01/wip-ifed-fix-deleting

osd/PG: fix no exit() call for PeeringState::Deleting state

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #38857 from dzafman/wip-48842
Kefu Chai [Fri, 15 Jan 2021 17:46:43 +0000 (01:46 +0800)]
Merge pull request #38857 from dzafman/wip-48842

test: osd-recovery-prio.sh replace sleep with wait for both PGs recovering

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #38762 from peng-jiaqi/master
Kefu Chai [Fri, 15 Jan 2021 17:44:38 +0000 (01:44 +0800)]
Merge pull request #38762 from peng-jiaqi/master

mgr: fix deadlock in ActivePyModules::get_osdmap()

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #38878 from tchaikov/wip-ceph-time-print
Kefu Chai [Fri, 15 Jan 2021 17:41:04 +0000 (01:41 +0800)]
Merge pull request #38878 from tchaikov/wip-ceph-time-print

common/ceph_time: print {milli,nano}seconds as float

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
4 years agoMerge pull request #38903 from yuvalif/wip-yuval-fix-48869
Casey Bodley [Fri, 15 Jan 2021 16:23:26 +0000 (11:23 -0500)]
Merge pull request #38903 from yuvalif/wip-yuval-fix-48869

rgw/amqp: fix race condition in amqp manager initialization

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agodoc/mgr: document CLICommand and friends 38722/head
Kefu Chai [Fri, 15 Jan 2021 03:41:10 +0000 (11:41 +0800)]
doc/mgr: document CLICommand and friends

the annotation and docstring are critical after we use them for
describing the command.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agolibrbd/migration: address code review comments 38862/head
Jason Dillaman [Fri, 15 Jan 2021 14:24:31 +0000 (09:24 -0500)]
librbd/migration: address code review comments

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #38815 from sebastian-philipp/cephadm-osd-queue-race
Sebastian Wagner [Fri, 15 Jan 2021 11:26:33 +0000 (12:26 +0100)]
Merge pull request #38815 from sebastian-philipp/cephadm-osd-queue-race

mgr/cephadm: lock multithreaded access to OSDRemovalQueue

Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
4 years agoMerge pull request #38865 from s0nea/wip-dashboard-48847
Ernesto Puerta [Fri, 15 Jan 2021 11:07:07 +0000 (12:07 +0100)]
Merge pull request #38865 from s0nea/wip-dashboard-48847

mgr/dashboard: add `--ssl` to `ng serve`

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
4 years agoMerge pull request #38919 from tchaikov/wip-cephadm-yield_fixture
Sebastian Wagner [Fri, 15 Jan 2021 09:38:05 +0000 (10:38 +0100)]
Merge pull request #38919 from tchaikov/wip-cephadm-yield_fixture

mgr/cephadm: s/yield_fixture/fixture/

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agopybind/mgr/mgr_module: annotate some methods
Kefu Chai [Thu, 14 Jan 2021 17:26:13 +0000 (01:26 +0800)]
pybind/mgr/mgr_module: annotate some methods

as a vehicle to understand the interface

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/dashboard/awsauth: drop py2 support
Kefu Chai [Thu, 14 Jan 2021 14:19:48 +0000 (22:19 +0800)]
mgr/dashboard/awsauth: drop py2 support

silences the warning from mypy:

dashboard/awsauth.py:42: error: Module 'base64' has no attribute
'encodestring'

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/_ext: use iterator of tuple to build dict
Kefu Chai [Thu, 14 Jan 2021 12:17:59 +0000 (20:17 +0800)]
doc/_ext: use iterator of tuple to build dict

As suggested by Ernesto Puerta <epuertat@redhat.com>

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/dashboard: disable unsubscriptable-object warning from pylint
Kefu Chai [Thu, 14 Jan 2021 04:53:19 +0000 (12:53 +0800)]
mgr/dashboard: disable unsubscriptable-object warning from pylint

see https://github.com/PyCQA/pylint/issues/3882

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/_ext: PEP8 compliance
Kefu Chai [Wed, 13 Jan 2021 02:30:04 +0000 (10:30 +0800)]
doc/_ext: PEP8 compliance

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/orchestrator: fix typo in comment
Kefu Chai [Tue, 12 Jan 2021 14:49:36 +0000 (22:49 +0800)]
pybind/mgr/orchestrator: fix typo in comment

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/_ext: do not mock ceph_argparse
Kefu Chai [Tue, 12 Jan 2021 15:05:21 +0000 (23:05 +0800)]
doc/_ext: do not mock ceph_argparse

this module is used for convert argspec to argdesc by
CLICommand.load_func_metadata()

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/_ext: add python_path option to ceph-mgr-commands
Kefu Chai [Wed, 13 Jan 2021 02:30:46 +0000 (10:30 +0800)]
doc/_ext: add python_path option to ceph-mgr-commands

so we can add more python paths in addition to the one used for finding
mgr modules.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/_ext: parse prefix and args for command signature
Kefu Chai [Tue, 12 Jan 2021 14:24:42 +0000 (22:24 +0800)]
doc/_ext: parse prefix and args for command signature

unlike the commands defined by C++, the commands defined by python
now uses "prefix" and "args" properties of elements in COMMAND class
attribute to define their command and arguments. the "cmd" property is
still available for the ceph CLI.

but the ceph_command sphinx extension should now use "prefix" and "args"
for printing out the usage of commands implemented using python. in
this change, the extension is updated to read "prefix" and "args"
properties of command defined by python modules.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/orchestrator: do not pass cmd_args or desc to CLICommand anymore
Kefu Chai [Sun, 27 Dec 2020 14:46:59 +0000 (22:46 +0800)]
pybind/mgr/orchestrator: do not pass cmd_args or desc to CLICommand anymore

they will be attached to the handler function as annotations and docstring

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/orchestrator: use enum parameter when appropriate
Kefu Chai [Sun, 27 Dec 2020 14:45:24 +0000 (22:45 +0800)]
pybind/mgr/orchestrator: use enum parameter when appropriate

and move desc as docstring.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr: fix deadlock in ActivePyModules::get_osdmap() 38762/head
peng jiaqi [Tue, 5 Jan 2021 03:15:26 +0000 (11:15 +0800)]
mgr: fix deadlock in ActivePyModules::get_osdmap()

In function "ActivePyModules::get_osdmap()", We do not read or write to
object "ActivePyModules", so it is safe to delete lock
"ActivePyModules::lock", and it can avoid other thread waiting for lock
"ActivePyModules::lock"

Fixes: https://tracker.ceph.com/issues/48852
Signed-off-by: peng jiaqi <peng.jiaqi@zte.com.cn>
4 years agodoc/mgr/volumes: Document 'fs subvolume authorized_list' cli 38160/head
Kotresh HR [Tue, 5 Jan 2021 13:25:32 +0000 (18:55 +0530)]
doc/mgr/volumes: Document 'fs subvolume authorized_list' cli

Fixes: https://tracker.ceph.com/issues/44931
Signed-off-by: Kotresh HR <khiremat@redhat.com>
4 years agoqa: Add tests for list auth-ids of a subvolume
Kotresh HR [Wed, 16 Dec 2020 12:49:42 +0000 (18:19 +0530)]
qa: Add tests for list auth-ids of a subvolume

Fixes: https://tracker.ceph.com/issues/44931
Signed-off-by: Kotresh HR <khiremat@redhat.com>
4 years agopybind/mgr/mgr_module: cast string to enum when collecting kwargs
Kefu Chai [Sun, 27 Dec 2020 14:42:33 +0000 (22:42 +0800)]
pybind/mgr/mgr_module: cast string to enum when collecting kwargs

as the parameters of handlers are properly typed, they are expecting
enum parameter, let's cast string parameter to enum if the callee claims
that it wants an enum.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/mgr_module: preserve the signature of wrapped func
Kefu Chai [Wed, 13 Jan 2021 11:28:48 +0000 (19:28 +0800)]
pybind/mgr/mgr_module: preserve the signature of wrapped func

before this change, the annotations of the func wrapped by
CLICheckNonemptyFileInput and returns_command_result are lost after being
wrapped with this decorator. after this change, the parameter annotations
are preserved. these annotations are used for generating the argdesc in a
later commit.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/mgr_module: extract load_func_metadata()
Kefu Chai [Sun, 27 Dec 2020 14:41:38 +0000 (22:41 +0800)]
pybind/mgr/mgr_module: extract load_func_metadata()

so it can be reused by Command class.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/dashboard: annotate command handler
Kefu Chai [Sun, 27 Dec 2020 14:29:15 +0000 (22:29 +0800)]
mgr/dashboard: annotate command handler

and use enum as the argument

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/cephadm: s/yield_fixture/fixture/ 38919/head
Kefu Chai [Fri, 15 Jan 2021 01:27:26 +0000 (09:27 +0800)]
mgr/cephadm: s/yield_fixture/fixture/

silences pytest warning. it complained:`

1: cephadm/tests/fixtures.py:68
1:   /var/ssd/ceph/src/pybind/mgr/cephadm/tests/fixtures.py:68: PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
1:   Use @pytest.fixture instead; they are the same.
1:     @pytest.yield_fixture()

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/cephadm: use desc of command for docstring
Kefu Chai [Sun, 27 Dec 2020 14:26:30 +0000 (22:26 +0800)]
pybind/mgr/cephadm: use desc of command for docstring

in the new command mechinary, the docstring of command handler
is used as the description of the command.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/mgr_module: drop arg parameter from CLICommand constructor
Kefu Chai [Sun, 27 Dec 2020 09:11:13 +0000 (17:11 +0800)]
pybind/mgr/mgr_module: drop arg parameter from CLICommand constructor

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr/snap_schedule: use param annotation for argsdesc
Kefu Chai [Sun, 27 Dec 2020 09:22:51 +0000 (17:22 +0800)]
pybind/mgr/snap_schedule: use param annotation for argsdesc

use parameter annotation for CLICommand args desc, less repeating this way

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/dashboard: use param annotation for args desc
Kefu Chai [Sun, 27 Dec 2020 04:47:02 +0000 (12:47 +0800)]
mgr/dashboard: use param annotation for args desc

use parameter annotation for CLICommand arg desc

less repeating this way

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge PR #38896 into master
Patrick Donnelly [Fri, 15 Jan 2021 00:37:16 +0000 (16:37 -0800)]
Merge PR #38896 into master

* refs/pull/38896/head:
cephfs: Remove explicit forward declare CephContext

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #38912 from xenago/patch-1
Xie Xingguo [Thu, 14 Jan 2021 23:53:59 +0000 (07:53 +0800)]
Merge pull request #38912 from xenago/patch-1

common/options: Fix typos for osd_recovery_max_active

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
4 years agoMerge pull request #38891 from yuriw/wip-yuriw-octopus-x-master
Yuri Weinstein [Thu, 14 Jan 2021 22:11:33 +0000 (14:11 -0800)]
Merge pull request #38891 from yuriw/wip-yuriw-octopus-x-master

qa/tests: added stress-split-erasure-code-no-cephadm tests

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #38721 from changchengx/pwl
Jason Dillaman [Thu, 14 Jan 2021 22:02:11 +0000 (17:02 -0500)]
Merge pull request #38721 from changchengx/pwl

librbd/cache/pwl: fix parameter type to update argument

Reviewed-by: Xiaoyan Li <xiaoyan.li@intel.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agocommon/options: Fix typos for osd_recovery_max_active 38912/head
xenago [Thu, 14 Jan 2021 21:27:02 +0000 (16:27 -0500)]
common/options: Fix typos for osd_recovery_max_active

This commit fixes a minor typo in the descriptions of osd_recovery_max_active_hdd and osd_recovery_max_active_ssd.

Signed-off-by: Noah Kruiper <nkruiper@gmail.com>
4 years agoMerge pull request #38907 from rzarzynski/wip-crimson-errorator-handle_exception_type
Kefu Chai [Thu, 14 Jan 2021 17:37:45 +0000 (01:37 +0800)]
Merge pull request #38907 from rzarzynski/wip-crimson-errorator-handle_exception_type

crimson/common: errorated future exposes handle_exception_type().

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge PR #38708 into master
Patrick Donnelly [Thu, 14 Jan 2021 17:22:40 +0000 (09:22 -0800)]
Merge PR #38708 into master

* refs/pull/38708/head:
doc: update multiple mds scrub docs

Reviewed-by: Jeff Layton <jlayton@redhat.com>
4 years agoqa: remove invalid characters from octopus-x/parallel 38891/head
Josh Durgin [Thu, 14 Jan 2021 17:04:22 +0000 (12:04 -0500)]
qa: remove invalid characters from octopus-x/parallel

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
4 years agoqa/workunits/rbd: simplify QCOW migration distro check
Jason Dillaman [Thu, 14 Jan 2021 16:52:05 +0000 (11:52 -0500)]
qa/workunits/rbd: simplify QCOW migration distro check

If the qemu-img command fails when attempting to use the QCOW (v1) format,
assume that the distro does not have support for the format enabled.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #38870 from orozery/rbd-encryption-pybind
Jason Dillaman [Thu, 14 Jan 2021 16:37:57 +0000 (11:37 -0500)]
Merge pull request #38870 from orozery/rbd-encryption-pybind

librbd: python bindings for encryption api

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoqa/tests: fixed yaml format
Yuri Weinstein [Thu, 14 Jan 2021 16:31:40 +0000 (08:31 -0800)]
qa/tests: fixed yaml format

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoMerge PR #38846 into master
Patrick Donnelly [Thu, 14 Jan 2021 16:10:19 +0000 (08:10 -0800)]
Merge PR #38846 into master

* refs/pull/38846/head:
*: remove legacy ceph_volume_client.py library

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
4 years agoMerge PR #34858 into master
Patrick Donnelly [Thu, 14 Jan 2021 16:09:01 +0000 (08:09 -0800)]
Merge PR #34858 into master

* refs/pull/34858/head:
mds: do not allow the service to run on Windows
win32*.sh: fix SKIP_TESTS flag
include/win32/win32_errno:h Add missing include
client: Port CephFS client to Windows

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
4 years agoMerge PR #38574 into master
Patrick Donnelly [Thu, 14 Jan 2021 16:08:17 +0000 (08:08 -0800)]
Merge PR #38574 into master

* refs/pull/38574/head:
mds: update defaults for recall configs

Reviewed-by: Jeff Layton <jlayton@redhat.com>
4 years agoMerge PR #38889 into master
Patrick Donnelly [Thu, 14 Jan 2021 16:07:40 +0000 (08:07 -0800)]
Merge PR #38889 into master

* refs/pull/38889/head:
qa: add delays only for osd/mds

Reviewed-by: Jeff Layton <jlayton@redhat.com>
4 years agoMerge PR #38858 into master
Patrick Donnelly [Thu, 14 Jan 2021 15:39:38 +0000 (07:39 -0800)]
Merge PR #38858 into master

* refs/pull/38858/head:
client/libcephfs: Don't let one unmount screw up another mount

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agocrimson/common: errorated future exposes handle_exception_type(). 38907/head
Radoslaw Zarzynski [Thu, 14 Jan 2021 15:15:28 +0000 (16:15 +0100)]
crimson/common: errorated future exposes handle_exception_type().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agolibrbd: python bindings for encryption api 38870/head
Or Ozeri [Tue, 12 Jan 2021 12:07:00 +0000 (14:07 +0200)]
librbd: python bindings for encryption api

This commit adds the python bindings for the new librbd encryption api

Signed-off-by: Or Ozeri <oro@il.ibm.com>
4 years agolibrbd/migration: compute deltas between QCOW2 snapshots
Jason Dillaman [Wed, 13 Jan 2021 20:11:27 +0000 (15:11 -0500)]
librbd/migration: compute deltas between QCOW2 snapshots

Utilize the COPIED bit within the cluster offset to quickly determine
if the corresponding cluster block has been copied.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agolibrbd/migration: move snapshot delta helpers to utils
Jason Dillaman [Wed, 13 Jan 2021 19:10:33 +0000 (14:10 -0500)]
librbd/migration: move snapshot delta helpers to utils

The RawFormat class has logic for computing snapshot deltas that
can be re-used by the new QCOWFormat class.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agolibrbd/migration: add support for reading from QCOW2 snapshots
Jason Dillaman [Wed, 13 Jan 2021 18:50:41 +0000 (13:50 -0500)]
librbd/migration: add support for reading from QCOW2 snapshots

Tweak the IO read path to now utilize the L1 table associated with
the specified snapshot id. This will cause the IO to properly read
from the specific snapshot.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agolibrbd/migration: decode QCOW2 snapshot metadata during open
Jason Dillaman [Wed, 13 Jan 2021 02:19:22 +0000 (21:19 -0500)]
librbd/migration: decode QCOW2 snapshot metadata during open

This will allow the migration state machine to build matching RBD
snapshots to mimic the QCOW2 snapshots. The next commit will add the
ability to read from a snapshot.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agolibrbd/migration: basic QCOW2 format handler
Jason Dillaman [Tue, 12 Jan 2021 20:35:49 +0000 (15:35 -0500)]
librbd/migration: basic QCOW2 format handler

The initial implementation does not support backing files, compression,
snapshots, (deprecated) encryption, external data files, nor L2 subcluster
allocation. The former three features will be added in a future commit.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agolibrbd/migration: basic QCOW v1 format handler
Jason Dillaman [Tue, 12 Jan 2021 03:12:27 +0000 (22:12 -0500)]
librbd/migration: basic QCOW v1 format handler

The initial implementation does not support backing files, compression, nor
(deprecated) encryption. The former two features will be added in a future commit.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
4 years agopybind/mgr/mgr_module: use 'not in' for checking membership
Kefu Chai [Sun, 27 Dec 2020 08:42:15 +0000 (16:42 +0800)]
pybind/mgr/mgr_module: use 'not in' for checking membership

silences the warning from flake8 like

test for membership should be 'not in' [E713]

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/ceph_argparse: add argdesc() method to type classes
Kefu Chai [Sun, 27 Dec 2020 04:44:39 +0000 (12:44 +0800)]
pybind/ceph_argparse: add argdesc() method to type classes

so they can be used to build argdesc from method annotations, these
argdesc strings will be consumed by ceph CLI to do client-side
validation of command arguments.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/devicehealth: add arg annotations
Kefu Chai [Sun, 27 Dec 2020 04:42:30 +0000 (12:42 +0800)]
mgr/devicehealth: add arg annotations

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/devicehealth: PEP8 compliance cleanups
Kefu Chai [Sun, 27 Dec 2020 04:01:11 +0000 (12:01 +0800)]
mgr/devicehealth: PEP8 compliance cleanups

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybind/mgr: translate argspec to argdesc
Kefu Chai [Sat, 26 Dec 2020 14:15:33 +0000 (22:15 +0800)]
pybind/mgr: translate argspec to argdesc

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybing/mgr/mgr_module: use annotations when collecting args
Kefu Chai [Sat, 26 Dec 2020 12:26:55 +0000 (20:26 +0800)]
pybing/mgr/mgr_module: use annotations when collecting args

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoosd/PG: fix no exit() call for PeeringState::Deleting state 38902/head
Igor Fedotov [Wed, 30 Dec 2020 20:41:37 +0000 (23:41 +0300)]
osd/PG: fix no exit() call for PeeringState::Deleting state

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
4 years agomgr/cephadm: lock multithreaded access to OSDRemovalQueue 38815/head
Sebastian Wagner [Fri, 8 Jan 2021 12:54:46 +0000 (13:54 +0100)]
mgr/cephadm: lock multithreaded access to OSDRemovalQueue

Since the set can be changed also from the CLI thread

Fixes: https://tracker.ceph.com/issues/47700
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agomgr/cephadm: OSDRemovalQueue: remove some trivial wrappers
Sebastian Wagner [Fri, 8 Jan 2021 11:47:27 +0000 (12:47 +0100)]
mgr/cephadm: OSDRemovalQueue: remove some trivial wrappers

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agomgr/cephadm: move RemoveUtil into OSDRemovalQueue
Sebastian Wagner [Fri, 8 Jan 2021 11:41:05 +0000 (12:41 +0100)]
mgr/cephadm: move RemoveUtil into OSDRemovalQueue

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agomgr/cephadm: move process_removal_queue into OSDRemovalQueue
Sebastian Wagner [Fri, 8 Jan 2021 11:34:40 +0000 (12:34 +0100)]
mgr/cephadm: move process_removal_queue into OSDRemovalQueue

`process_removal_queue` belongs to OSDRemovalQueue
instead of RemoveUtil

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agomgr/cephadm: make OSDRemovalQueue not inherent from set
Sebastian Wagner [Fri, 8 Jan 2021 11:06:10 +0000 (12:06 +0100)]
mgr/cephadm: make OSDRemovalQueue not inherent from set

Instead, let's make it a member.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agomgr/cephadm: rename OSDQueue -> OSDRemovalQueue
Sebastian Wagner [Fri, 8 Jan 2021 10:49:00 +0000 (11:49 +0100)]
mgr/cephadm: rename OSDQueue -> OSDRemovalQueue

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agopybind/mgr: do not check for kwargs if already collecting kwargs
Kefu Chai [Sat, 26 Dec 2020 12:57:30 +0000 (20:57 +0800)]
pybind/mgr: do not check for kwargs if already collecting kwargs

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybing/mgr/mgr_module: make CLICommand._parse_args() a staticmethod
Kefu Chai [Sat, 26 Dec 2020 12:13:21 +0000 (20:13 +0800)]
pybing/mgr/mgr_module: make CLICommand._parse_args() a staticmethod

for better readability

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybing/mgr/mgr_module: extract method for collecting kwargs
Kefu Chai [Sat, 26 Dec 2020 12:07:46 +0000 (20:07 +0800)]
pybing/mgr/mgr_module: extract method for collecting kwargs

the existing method is using argdesc for collecting kwargs, by
extracting into a separated method, we can use the annotation as an
alternative.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agopybing/mgr/mgr_module: extract kwargs handling into separated method
Kefu Chai [Sat, 26 Dec 2020 12:02:33 +0000 (20:02 +0800)]
pybing/mgr/mgr_module: extract kwargs handling into separated method

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #38850 from liewegas/mgr-handle-old-host-inventory
Sebastian Wagner [Thu, 14 Jan 2021 11:20:39 +0000 (12:20 +0100)]
Merge pull request #38850 from liewegas/mgr-handle-old-host-inventory

mgr/cephadm: tolerate old host inventory without 'hostname' key

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
4 years agoMerge pull request #38866 from sebastian-philipp/cephadm-pyright
Sebastian Wagner [Thu, 14 Jan 2021 11:19:26 +0000 (12:19 +0100)]
Merge pull request #38866 from sebastian-philipp/cephadm-pyright

cephadm: Fix type errors reported by pyright

Reviewed-by: Joao Eduardo Luis <joao@suse.com>
Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
4 years agorgw/amqp: fix race condition in amqp manager initialization 38903/head
Yuval Lifshitz [Thu, 14 Jan 2021 10:41:14 +0000 (12:41 +0200)]
rgw/amqp: fix race condition in amqp manager initialization

Fixes: https://tracker.ceph.com/issues/48869
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
4 years agocephfs: Remove explicit forward declare CephContext 38896/head
Willem Jan Withagen [Wed, 13 Jan 2021 20:40:14 +0000 (21:40 +0100)]
cephfs: Remove explicit forward declare CephContext

It is already correctly declared in:
    src/include/common_fwd.h

fixes: https://github.com/ceph/ceph/pull/37876
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
4 years agoos/bluestore: fixing a dangling pointer 38899/head
Ronen Friedman [Thu, 14 Jan 2021 08:02:19 +0000 (10:02 +0200)]
os/bluestore: fixing a dangling pointer

... and silencing compiler warnings:

Building CXX object src/os/CMakeFiles/os.dir/bluestore/BlueStore.cc.o
../src/os/bluestore/BlueStore.cc:8603:25: warning: object backing the pointer will be destroyed at the end of the full-expression [-Wdangling-gsl]
        const char *c = it->key().c_str();
                        ^~~~~~~~~
../src/os/bluestore/BlueStore.cc:8623:25: warning: object backing the pointer will be destroyed at the end of the full-expression [-Wdangling-gsl]
        const char* c = it->key().c_str();
                        ^~~~~~~~~
(reverting a minor part of ifed01)

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
4 years agoMerge pull request #38851 from liewegas/fix-mailmap-sage
Kefu Chai [Thu, 14 Jan 2021 03:03:57 +0000 (11:03 +0800)]
Merge pull request #38851 from liewegas/fix-mailmap-sage

.mailmap: map myself to sweil@redhat.com

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agolibrbd/cache/pwl: fix parameter type to update argument 38721/head
Changcheng Liu [Thu, 7 Jan 2021 09:00:47 +0000 (17:00 +0800)]
librbd/cache/pwl: fix parameter type to update argument

Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
4 years agoMerge pull request #38838 from orozery/rbd-encryption-cli
Jason Dillaman [Thu, 14 Jan 2021 00:49:23 +0000 (19:49 -0500)]
Merge pull request #38838 from orozery/rbd-encryption-cli

librbd: rbd encryption cli

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoclient/libcephfs: Don't let one unmount screw up another mount 38858/head
Adam C. Emerson [Tue, 12 Jan 2021 01:13:37 +0000 (20:13 -0500)]
client/libcephfs: Don't let one unmount screw up another mount

Share threadpools between mounts. Don't shut them down until the last
user goes away, and make sure to start it back up when needed.

Fixes: https://tracker.ceph.com/issues/47294
For real this time.
Maybe.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
4 years agoMerge pull request #38864 from MahatiC/wip-ssd-fix
Jason Dillaman [Wed, 13 Jan 2021 21:47:42 +0000 (16:47 -0500)]
Merge pull request #38864 from MahatiC/wip-ssd-fix

librbd/cache/pwl: Rename config options

Reviewed-by: Xiaoyan Li <xiaoyan.li@intel.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoqa/tests: added stress-split-erasure-code-no-cephadm tests (not using cephadm)
Yuri Weinstein [Wed, 13 Jan 2021 16:22:25 +0000 (08:22 -0800)]
qa/tests: added stress-split-erasure-code-no-cephadm tests (not using cephadm)

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoMerge pull request #38751 from rhcs-dashboard/fix-48591-master
Ernesto Puerta [Wed, 13 Jan 2021 18:38:20 +0000 (19:38 +0100)]
Merge pull request #38751 from rhcs-dashboard/fix-48591-master

mgr/dashboard: Monitoring alert badge includes suppressed alerts

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
4 years agoosd: adding safety checks when accessing m_scrubber 38730/head
Ronen Friedman [Wed, 13 Jan 2021 12:13:56 +0000 (14:13 +0200)]
osd: adding safety checks when accessing m_scrubber

Verifying m_scrubber is there if accessed in a scenario that
might coincide with PG removal.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
4 years agomds: do not allow the service to run on Windows 34858/head
Lucian Petrut [Wed, 13 Jan 2021 15:52:50 +0000 (15:52 +0000)]
mds: do not allow the service to run on Windows

Some file related flags and types are stubbed on Windows.
In order to avoid incorrect behavior, we're going to prevent
the service from running on Windows for now.

This does not apply to MDS clients.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
4 years agoMerge pull request #38879 from Rethan/remove-osd-heartbeat-option
Kefu Chai [Wed, 13 Jan 2021 17:54:01 +0000 (01:54 +0800)]
Merge pull request #38879 from Rethan/remove-osd-heartbeat-option

doc/rados: remove unused osd heartbeat option

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #38564 from ronen-fr/wip-ronenf-clangcrims-1
Ronen Friedman [Wed, 13 Jan 2021 16:30:26 +0000 (18:30 +0200)]
Merge pull request #38564 from ronen-fr/wip-ronenf-clangcrims-1

rgw: fixing compilation errors

Reviewed-by: Willem Jan Withagen (@wjwithagen)
Reviewed-by: Matt Benjamin mbenjamin@redhat.com
Reviewed-by: Daniel Gryniewicz dang@redhat.com dang@fprintf.net
Reviewed-by: Adam C. Emerson aemerson@redhat.com
Reviewed-by: Yuval Lifshitz ylifshit@redhat.com
4 years agoMerge PR #37095 into master
Patrick Donnelly [Wed, 13 Jan 2021 16:26:35 +0000 (08:26 -0800)]
Merge PR #37095 into master

* refs/pull/37095/head:
mds: make purge_queue delete objects asynchronously and keep accepting pushes

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>