]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agopybind/mgr: do not test with py37 49321/head
Kefu Chai [Thu, 8 Dec 2022 16:49:37 +0000 (00:49 +0800)]
pybind/mgr: do not test with py37

as we always test with ubuntu jammy, which does not provide python3.7:

py37: skipped because could not find python interpreter with spec(s): py37

so there is no point testing with python3.7.

also, in tox v4, it is not able to handle "key = value" anymore, where
value has newlines in it. so we need to find a better way passing
command line options to the test command.

this change partially reverts 2dd86c9e3eca6e14a04a821edf3a654f31da7a21

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocmake: temporarily disable py3 test
Kefu Chai [Thu, 8 Dec 2022 16:32:26 +0000 (00:32 +0800)]
cmake: temporarily disable py3 test

py3 tries to import all python modules to ensure that they are
python3 compatible. but the installation fails on jenkins test node:

  Resolved https://github.com/ceph/teuthology.git to commit 4da97cf64e542f347ec47b7bdbe5eca99759f9b7
  Installing build dependencies: started
  error: subprocess-exited-with-error

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoqa: add pytest to deps of py3 env
Kefu Chai [Thu, 8 Dec 2022 14:34:38 +0000 (22:34 +0800)]
qa: add pytest to deps of py3 env

otherwise it is mising when running test, and we'd have following
failure:

py3: exit 2 (0.00 seconds) /home/jenkins-build/build/workspace/ceph-pull-requests/qa> pytest --assert=plain test_import.py

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoqa: set locale to C.UTF-8 in tox.ini
Kefu Chai [Thu, 8 Dec 2022 06:42:42 +0000 (14:42 +0800)]
qa: set locale to C.UTF-8 in tox.ini

as ansible is using UTF-8 encoded characters in the file names, so,
to avoid failures like:

  File "/home/jenkins-build/build/workspace/ceph-pull-requests/qa/.tox/py3/lib/python3.10/site-packages/pip/_internal/utils/unpacking.py", line 217, in untar_file
    with open(path, "wb") as destfp:
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 137-140: ordinal not in range(256)

we have to set a locale which is able to handle UTF-8.

see also https://github.com/ceph/teuthology/pull/1671

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49322 from tchaikov/wip-allowlist_externals
Kefu Chai [Thu, 8 Dec 2022 13:33:38 +0000 (21:33 +0800)]
Merge pull request #49322 from tchaikov/wip-allowlist_externals

*: s/whitelist_externals/allowlist_externals/

Reviewed-by: Adam King <adking@redhat.com>
2 years agopybind/mgr: drop cython from requires 49322/head
Kefu Chai [Thu, 8 Dec 2022 10:25:20 +0000 (18:25 +0800)]
pybind/mgr: drop cython from requires

cython is not required for running tox commands.

this should address the test failure like:

ROOT: will run in automatically provisioned tox, host /home/jenkins-build/build/workspace/ceph-pull-requests/build/mgr-virtualenv/bin/python3.10 is missing [requires (has)]: cython

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocephadm: drop cython from requires
Kefu Chai [Thu, 8 Dec 2022 10:23:32 +0000 (18:23 +0800)]
cephadm: drop cython from requires

cython is not required for launching the tox environment.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years ago*: s/whitelist_externals/allowlist_externals/
Kefu Chai [Thu, 8 Dec 2022 06:53:33 +0000 (14:53 +0800)]
*: s/whitelist_externals/allowlist_externals/

as allowlist_externals was introduced in
tox v4.0. see
https://github.com/tox-dev/tox/commit/5e33fda1a40ffb4973de3d607a572891eb3cb2d2 , but
this option was backported to 3.18 as an alias of whitelist_externals, so we don't need
to specify the minversion to 4.0 in this change.

as we started using tox 4.0 and up (v4.0.2 in specific). tox complains
and fails like:

alerts-lint: failed with promtool is not allowed, use allowlist_externals to allow it
  alerts-lint: FAIL code 1 (9.25 seconds)

see https://tox.wiki/en/latest/faq.html#tox-4-removed-tox-ini-keys
and https://tox.wiki/en/latest/config.html#allowlist_externals

it'd be nice to use a more inclusive language also. so, in this change,
s/whitelist_externals/allowlist_externals/ in all tox.ini in this
project.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #49306 from zdover23/wip-doc-2022-12-08-rbd-rados-rbd-cmds-create...
zdover23 [Thu, 8 Dec 2022 05:21:24 +0000 (15:21 +1000)]
Merge pull request #49306 from zdover23/wip-doc-2022-12-08-rbd-rados-rbd-cmds-create-a-block-device-user-semantics

doc/rbd: refine "Create a Block Device User"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoMerge pull request #49288 from BryceCao/wip-update-doc-ubuntu-deps-install
Anthony D'Atri [Thu, 8 Dec 2022 04:24:42 +0000 (23:24 -0500)]
Merge pull request #49288 from BryceCao/wip-update-doc-ubuntu-deps-install

doc/start: update "apt install" command in documenting-ceph.rst

2 years agodoc/start: update "apt install" command in documenting-ceph.rst 49288/head
cao.leilc [Wed, 7 Dec 2022 03:16:36 +0000 (11:16 +0800)]
doc/start: update "apt install" command in documenting-ceph.rst

Signed-off-by: caolei <cao.leilc@inspur.com>
2 years agodoc/rbd: refine "Create a Block Device User" 49306/head
Zac Dover [Wed, 7 Dec 2022 14:43:31 +0000 (00:43 +1000)]
doc/rbd: refine "Create a Block Device User"

Refine "Create a Block Device User", after suggestions made by Ilya
Dryomov in https://github.com/ceph/ceph/pull/49301#pullrequestreview-1208285685

https://tracker.ceph.com/issues/57001

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agoMerge pull request #48943 from yaarith/fix-telemetry-ident
Laura Flores [Wed, 7 Dec 2022 22:40:03 +0000 (16:40 -0600)]
Merge pull request #48943 from yaarith/fix-telemetry-ident

qa/workunits: identify ceph test clusters

2 years agoMerge pull request #49121 from tchaikov/wip-cmake-cares
Casey Bodley [Wed, 7 Dec 2022 20:07:27 +0000 (15:07 -0500)]
Merge pull request #49121 from tchaikov/wip-cmake-cares

cmake: add c-ares::cares as a global visible library

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #48679 from cfsnyder/wip-rgw-multi-obj-del-perf
Casey Bodley [Wed, 7 Dec 2022 19:09:10 +0000 (14:09 -0500)]
Merge pull request #48679 from cfsnyder/wip-rgw-multi-obj-del-perf

rgw: concurrency for multi object deletes

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #48265 from pdvian/wip-fix-mmgrupdate
Yuri Weinstein [Wed, 7 Dec 2022 18:52:58 +0000 (10:52 -0800)]
Merge pull request #48265 from pdvian/wip-fix-mmgrupdate

mon: Fix condition to check for ceph version mismatch

Reviewed-by: Laura Flores <lflores@redhat.com>
2 years agoMerge pull request #48138 from sseshasa/wip-fix-osd-bench
Yuri Weinstein [Wed, 7 Dec 2022 18:52:32 +0000 (10:52 -0800)]
Merge pull request #48138 from sseshasa/wip-fix-osd-bench

osd: Randomize osd bench buffer data before submitting to objectstore

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
2 years agoMerge pull request #48136 from shreyanshjain7174/fix_versions
Yuri Weinstein [Wed, 7 Dec 2022 18:49:37 +0000 (10:49 -0800)]
Merge pull request #48136 from shreyanshjain7174/fix_versions

 mon: remove empty list entries from ceph versions

Reviewed-by: Prashant D <pdhange@redhat.com>
2 years agoMerge pull request #49282 from zdover23/wip-doc-2022-12-06-rbd-rados-rbd-cmds-create...
zdover23 [Wed, 7 Dec 2022 16:51:20 +0000 (02:51 +1000)]
Merge pull request #49282 from zdover23/wip-doc-2022-12-06-rbd-rados-rbd-cmds-create-a-block-device-pool-semantics

doc/rbd: refine "Create a Block Device Pool"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
2 years agoMerge pull request #49293 from BryceCao/wip-fix-rgw.yaml.in-spelling-mistake
Casey Bodley [Wed, 7 Dec 2022 16:30:26 +0000 (11:30 -0500)]
Merge pull request #49293 from BryceCao/wip-fix-rgw.yaml.in-spelling-mistake

src/common/options/rgw.yaml.in: fix spelling mistake

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #47708 from rkachach/fix_issue_57160
Adam King [Wed, 7 Dec 2022 15:43:44 +0000 (10:43 -0500)]
Merge pull request #47708 from rkachach/fix_issue_57160

mgr/rgw: adding support for rgw multisite

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Ali Maredia <amaredia@redhat.com>
2 years agoMerge pull request #48074 from adk3798/client-removal-fixing
Adam King [Wed, 7 Dec 2022 15:37:31 +0000 (10:37 -0500)]
Merge pull request #48074 from adk3798/client-removal-fixing

mgr/cephadm: write client files after applying services

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2 years agoMerge pull request #48213 from adk3798/migration-too-high
Adam King [Wed, 7 Dec 2022 15:33:43 +0000 (10:33 -0500)]
Merge pull request #48213 from adk3798/migration-too-high

mgr/cephadm: don't say migration in progress if migration current > migration last

Reviewed-by: Michael Fritch <mfritch@suse.com>
2 years agoMerge pull request #48304 from rhcs-dashboard/iscsi-default-user-pwd
Adam King [Wed, 7 Dec 2022 15:32:07 +0000 (10:32 -0500)]
Merge pull request #48304 from rhcs-dashboard/iscsi-default-user-pwd

mgr/cephadm: iscsi username and password defaults to admin

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge pull request #49127 from Matan-B/wip-matanb-c-seq_mode_t
Kefu Chai [Wed, 7 Dec 2022 15:30:44 +0000 (23:30 +0800)]
Merge pull request #49127 from Matan-B/wip-matanb-c-seq_mode_t

crimson/osd/osd_operations/client_request: Remove seq_mode_t

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #48306 from alimaredia/wip-ceph-adm-force-asok-removal
Adam King [Wed, 7 Dec 2022 15:27:25 +0000 (10:27 -0500)]
Merge pull request #48306 from alimaredia/wip-ceph-adm-force-asok-removal

cephadm: force .asok file removal after daemon stoppage

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #48389 from adk3798/staggered-start-update
Adam King [Wed, 7 Dec 2022 15:25:51 +0000 (10:25 -0500)]
Merge pull request #48389 from adk3798/staggered-start-update

qa/cephadm: update staggered upgrade test to use --image when redeploying mgr

Reviewed-by: Michael Fritch <mfritch@suse.com>
2 years agoMerge pull request #48391 from adk3798/iscsi-ports
Adam King [Wed, 7 Dec 2022 15:22:42 +0000 (10:22 -0500)]
Merge pull request #48391 from adk3798/iscsi-ports

mgr/cephadm: specify ports for iscsi

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2 years agoMerge pull request #48489 from rkachach/fix_issue_57816
Adam King [Wed, 7 Dec 2022 15:20:56 +0000 (10:20 -0500)]
Merge pull request #48489 from rkachach/fix_issue_57816

mgr/cephadm: making grafana protocol configurable

Reviewed-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #48507 from rkachach/fix_issue_57876
Adam King [Wed, 7 Dec 2022 15:19:20 +0000 (10:19 -0500)]
Merge pull request #48507 from rkachach/fix_issue_57876

mgr/prometheus: fix module crash when trying to collect OSDs metrics

Reviewed-by: Adam King <adking@redhat.com>
2 years agoMerge pull request #48517 from adk3798/active-mgr-redeploy
Adam King [Wed, 7 Dec 2022 15:16:41 +0000 (10:16 -0500)]
Merge pull request #48517 from adk3798/active-mgr-redeploy

mgr/cephadm: save host cache data after scheduling daemon action

Reviewed-by: Michael Fritch <mfritch@suse.com>
2 years agodoc/rbd: refine "Create a Block Device Pool" 49282/head
Zac Dover [Tue, 6 Dec 2022 13:14:49 +0000 (23:14 +1000)]
doc/rbd: refine "Create a Block Device Pool"

Refine the "Create a Block Device Pool" section of
doc/rbd/rados-rbd-cmds.rst.

https://tracker.ceph.com/issues/57001

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agoMerge pull request #49283 from zdover23/wip-doc-2022-12-06-rbd-rados-rbd-cmds-create...
zdover23 [Wed, 7 Dec 2022 11:29:10 +0000 (21:29 +1000)]
Merge pull request #49283 from zdover23/wip-doc-2022-12-06-rbd-rados-rbd-cmds-create-a-block-device-user-semantics

doc/rbd: refine "Create a Block Device User"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agosrc/common/options/rgw.yaml.in: fix spelling mistake 49293/head
cao.leilc [Wed, 7 Dec 2022 06:11:56 +0000 (14:11 +0800)]
src/common/options/rgw.yaml.in: fix spelling mistake

Signed-off-by: caolei <cao.leilc@inspur.com>
2 years agoMerge pull request #49155 from joscollin/wip-cephfs-top-doc-update-filters
Venky Shankar [Wed, 7 Dec 2022 04:35:10 +0000 (10:05 +0530)]
Merge pull request #49155 from joscollin/wip-cephfs-top-doc-update-filters

doc: updated doc for Filters

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Neeraj Pratap Singh <neesingh@redhat.com>
2 years agoMerge pull request #49257 from ktdreyer/doc-createfs-syntax
Venky Shankar [Wed, 7 Dec 2022 04:29:50 +0000 (09:59 +0530)]
Merge pull request #49257 from ktdreyer/doc-createfs-syntax

doc/cephfs: monospace "ceph fs set-default" command

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/rbd: refine "Create a Block Device User" 49283/head
Zac Dover [Tue, 6 Dec 2022 14:20:24 +0000 (00:20 +1000)]
doc/rbd: refine "Create a Block Device User"

Refine "Create a Block Device User" in doc/rbd/rados-rbd-cmds.rst.

https://tracker.ceph.com/issues/57001

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agodoc/cephfs: monospace "ceph fs set-default" command 49257/head
Ken Dreyer [Mon, 5 Dec 2022 17:31:42 +0000 (12:31 -0500)]
doc/cephfs: monospace "ceph fs set-default" command

Fix the rst syntax here to make this command match everything else.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2 years agoMerge pull request #48296 from Matan-B/wip-matanb-no-history-cleanup
Yuri Weinstein [Tue, 6 Dec 2022 19:37:47 +0000 (11:37 -0800)]
Merge pull request #48296 from Matan-B/wip-matanb-no-history-cleanup

osd/OSD.cc: handle_fast_pg_create cleanup

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #49260 from ceph/core-label
Laura Flores [Tue, 6 Dec 2022 17:10:11 +0000 (11:10 -0600)]
Merge pull request #49260 from ceph/core-label

.github: add core label to files under src/test/librados

2 years agoMerge pull request #49270 from zdover23/wip-doc-2022-12-05-rados-placment-groups...
colemitchell [Tue, 6 Dec 2022 07:25:12 +0000 (02:25 -0500)]
Merge pull request #49270 from zdover23/wip-doc-2022-12-05-rados-placment-groups-3-of-3-prompts

doc/rados: add prompts to placement-groups.rst (3)

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agoMerge pull request #49269 from zdover23/wip-doc-2022-12-05-rados-placment-groups...
colemitchell [Tue, 6 Dec 2022 07:20:56 +0000 (02:20 -0500)]
Merge pull request #49269 from zdover23/wip-doc-2022-12-05-rados-placment-groups-2-of-3-prompts

doc/rados: add prompts to placement-groups.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agoMerge pull request #49268 from zdover23/wip-doc-2022-12-05-rados-placment-groups...
colemitchell [Tue, 6 Dec 2022 07:14:55 +0000 (02:14 -0500)]
Merge pull request #49268 from zdover23/wip-doc-2022-12-05-rados-placment-groups-1-of-3-prompts

doc/rados: add prompts to placement-groups.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: add prompts to placement-groups.rst (3) 49270/head
Zac Dover [Tue, 6 Dec 2022 07:13:44 +0000 (17:13 +1000)]
doc/rados: add prompts to placement-groups.rst (3)

Add unselectable prompts to doc/rados/operations/placement-groups.rst (3
of 3).

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agodoc/rados: add prompts to placement-groups.rst 49269/head
Zac Dover [Tue, 6 Dec 2022 07:07:18 +0000 (17:07 +1000)]
doc/rados: add prompts to placement-groups.rst

Add unselectable prompts to doc/rados/operations/placement-groups.rst.
(2 of 3)

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agodoc/rados: add prompts to placement-groups.rst 49268/head
Zac Dover [Tue, 6 Dec 2022 06:56:02 +0000 (16:56 +1000)]
doc/rados: add prompts to placement-groups.rst

Add unselectable prompts to doc/rados/operations/placement-groups.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agoMerge pull request #49264 from zdover23/wip-doc-2022-12-06-glossary-rbd
zdover23 [Tue, 6 Dec 2022 06:09:08 +0000 (16:09 +1000)]
Merge pull request #49264 from zdover23/wip-doc-2022-12-06-glossary-rbd

doc/glossary: add matter to "RBD"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoMerge pull request #48628 from lxbsz/kclient_fscrypt
Venky Shankar [Tue, 6 Dec 2022 05:36:58 +0000 (11:06 +0530)]
Merge pull request #48628 from lxbsz/kclient_fscrypt

qa: cephfs add fscrypt test suite support for kclient

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
2 years agodoc/glossary: add matter to "RBD" 49264/head
Zac Dover [Tue, 6 Dec 2022 04:15:43 +0000 (14:15 +1000)]
doc/glossary: add matter to "RBD"

Clarify that "RBD" and "Ceph Block Device" and "RADOS Block Device" all
refer to the same thing.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agoMerge pull request #48223 from myoungwon/wip-fix-tier-evict-range
Laura Flores [Tue, 6 Dec 2022 00:13:21 +0000 (18:13 -0600)]
Merge pull request #48223 from myoungwon/wip-fix-tier-evict-range

osd: mark modified region as dirty when tier-evict is called

2 years agoMerge pull request #48467 from baergj/fix-read-error-code
Igor Fedotov [Mon, 5 Dec 2022 23:46:16 +0000 (02:46 +0300)]
Merge pull request #48467 from baergj/fix-read-error-code

blk/kernel: Fix error code mapping in KernelDevice::read.

Reviewed-by: Robin H. Johnson <robbat2@orbis-terrarum.net>
Reviewed-by: Igor Fedotov <igor.fedotov@croit.io>
2 years ago.github: add core label to files under src/test/librados 49260/head
Laura Flores [Mon, 5 Dec 2022 21:07:42 +0000 (15:07 -0600)]
.github: add core label to files under src/test/librados

In response to https://tracker.ceph.com/issues/58173, it would have helped to have the PR label librados test files with core, so the PR would have been tagged for rados qa.

Signed-off-by: Laura Flores <lflores@redhat.com>
2 years agoMerge pull request #48817 from adk3798/device-refresh-message
Adam King [Mon, 5 Dec 2022 19:38:48 +0000 (14:38 -0500)]
Merge pull request #48817 from adk3798/device-refresh-message

mgr/cephadm: fix check for if devices have changed

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #48874 from senax/ingress_backend_ssl
Adam King [Mon, 5 Dec 2022 19:35:07 +0000 (14:35 -0500)]
Merge pull request #48874 from senax/ingress_backend_ssl

mgr/cephadm: add ingress support for ssl rgw service

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #48899 from ivancich/wip-fix-old-shard
J. Eric Ivancich [Mon, 5 Dec 2022 18:51:05 +0000 (13:51 -0500)]
Merge pull request #48899 from ivancich/wip-fix-old-shard

rgw: address bug where object puts could write to decommissioned shard

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #48585 from cbodley/wip-test-librados-asio-spawn
Yuri Weinstein [Mon, 5 Dec 2022 17:16:03 +0000 (09:16 -0800)]
Merge pull request #48585 from cbodley/wip-test-librados-asio-spawn

test/librados: use spawn submodule instead of boost::asio::spawn

Reviewed-by: Adam Emerson <aemerson@redhat.com>
2 years agoMerge pull request #48708 from sseshasa/wip-fix-osd-capacity-display
Yuri Weinstein [Mon, 5 Dec 2022 17:15:01 +0000 (09:15 -0800)]
Merge pull request #48708 from sseshasa/wip-fix-osd-capacity-display

osd: Reset mClock's OSD capacity config option for inactive device type

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
2 years agoMerge pull request #48623 from batrick/i57923
Yuri Weinstein [Mon, 5 Dec 2022 17:13:49 +0000 (09:13 -0800)]
Merge pull request #48623 from batrick/i57923

log: use non-blocking atomic writes to stderr fifos

Reviewed-by: Sage Weil <sage@redhat.com>
2 years agoMerge pull request #48513 from ideepika/wip-crush-debug
Yuri Weinstein [Mon, 5 Dec 2022 17:12:26 +0000 (09:12 -0800)]
Merge pull request #48513 from ideepika/wip-crush-debug

src/crush: extra logging to debug CPU burn in test_with_fork()

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #49253 from kvanals/update-board-softiron
Anthony D'Atri [Mon, 5 Dec 2022 17:06:16 +0000 (12:06 -0500)]
Merge pull request #49253 from kvanals/update-board-softiron

doc: Update Foundation member for SoftIron

2 years agoMerge pull request #48618 from idryomov/rbd-clone-encryption-part2
Ilya Dryomov [Mon, 5 Dec 2022 16:47:19 +0000 (17:47 +0100)]
Merge pull request #48618 from idryomov/rbd-clone-encryption-part2

 librbd: add encryption format support for clones (part 2/2)

Reviewed-by: Mykola Golub <mgolub@suse.com>
Acked-by: Or Ozeri <oro@il.ibm.com>
2 years agoMerge pull request #49252 from zdover23/wip-doc-2022-12-05-glossary-das
zdover23 [Mon, 5 Dec 2022 16:38:53 +0000 (02:38 +1000)]
Merge pull request #49252 from zdover23/wip-doc-2022-12-05-glossary-das

doc/glossary: add DAS

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/glossary: add DAS 49252/head
Zac Dover [Mon, 5 Dec 2022 13:43:29 +0000 (23:43 +1000)]
doc/glossary: add DAS

Add a definition for "DAS" (directly attached storage).

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agodoc: Update Foundation member for SoftIron 49253/head
kvanals [Mon, 5 Dec 2022 15:59:41 +0000 (10:59 -0500)]
doc: Update Foundation member for SoftIron

Signed-off-by: kvanals <Kenny.VanAlstyne@softiron.com>
2 years agoMerge pull request #49235 from idryomov/wip-rbd-groups-bash
Ilya Dryomov [Mon, 5 Dec 2022 14:59:29 +0000 (15:59 +0100)]
Merge pull request #49235 from idryomov/wip-rbd-groups-bash

qa: rbd_groups.sh: change interpreter to bash

Reviewed-by: Ramana Raja <rraja@redhat.com>
2 years agoMerge pull request #49204 from Tooa/adapt_keepalived_reference
Anthony D'Atri [Mon, 5 Dec 2022 14:43:31 +0000 (09:43 -0500)]
Merge pull request #49204 from Tooa/adapt_keepalived_reference

containers: use quay.io/ceph/keepalived in docs

2 years agoMerge pull request #49249 from krambrod/main
Anthony D'Atri [Mon, 5 Dec 2022 14:05:01 +0000 (09:05 -0500)]
Merge pull request #49249 from krambrod/main

doc/cephadm: fix initial-ceph.conf example

2 years agoMerge pull request #49076 from Matan-B/wip-matanb-crimson-suite-adjust
Matan [Mon, 5 Dec 2022 10:19:36 +0000 (12:19 +0200)]
Merge pull request #49076 from Matan-B/wip-matanb-crimson-suite-adjust

crimson: Suite testing minor adjustment

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agodoc/cephadm: fix initial-ceph.conf example 49249/head
krambrod [Mon, 5 Dec 2022 08:36:10 +0000 (09:36 +0100)]
doc/cephadm: fix initial-ceph.conf example

Signed-off-by: krambrod <114069812+krambrod@users.noreply.github.com>
2 years agoMerge pull request #49241 from zdover23/wip-doc-2022-12-05-rados-ops-monitoring-prompts
colemitchell [Mon, 5 Dec 2022 03:07:29 +0000 (22:07 -0500)]
Merge pull request #49241 from zdover23/wip-doc-2022-12-05-rados-ops-monitoring-prompts

doc/rados: add prompts to monitoring.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agoMerge pull request #49243 from zdover23/wip-doc-2022-12-05-rados-pg-repair-prompts
colemitchell [Mon, 5 Dec 2022 03:07:05 +0000 (22:07 -0500)]
Merge pull request #49243 from zdover23/wip-doc-2022-12-05-rados-pg-repair-prompts

doc/rados: add prompts to pg-repair.rst

Reviewed-by: Cole Mitchell <cole.mitchell@gmail.com>
2 years agodoc/rados: add prompts to pg-repair.rst 49243/head
Zac Dover [Mon, 5 Dec 2022 02:44:01 +0000 (12:44 +1000)]
doc/rados: add prompts to pg-repair.rst

Add unselectable prompts to doc/rados/operations/pg-repair.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agodoc/rados: add prompts to monitoring.rst 49241/head
Zac Dover [Mon, 5 Dec 2022 02:30:35 +0000 (12:30 +1000)]
doc/rados: add prompts to monitoring.rst

Add unselectable prompts to doc/rados/operations/monitoring.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agoMerge pull request #49238 from zdover23/wip-doc-2022-12-05-rados-ops-monitoring-osd...
zdover23 [Sun, 4 Dec 2022 19:30:28 +0000 (05:30 +1000)]
Merge pull request #49238 from zdover23/wip-doc-2022-12-05-rados-ops-monitoring-osd-pg-prompts

doc/rados: add prompts to monitoring-osd-pg.rst

Reviewed-by: Cole Mtichell <cole.mitchell@gmail.com>
2 years agodoc/rados: add prompts to monitoring-osd-pg.rst 49238/head
Zac Dover [Sun, 4 Dec 2022 19:18:36 +0000 (05:18 +1000)]
doc/rados: add prompts to monitoring-osd-pg.rst

Add unselectable prompts to doc/rados/operations/monitoring-osd-pg.rst.

https://tracker.ceph.com/issues/57108

Signed-off-by: Zac Dover <zac.dover@gmail.com>
2 years agoqa/workunits/rbd: add encryption-aware resize test 48618/head
Ilya Dryomov [Sat, 3 Dec 2022 14:37:14 +0000 (15:37 +0100)]
qa/workunits/rbd: add encryption-aware resize test

Note that we are hitting https://tracker.ceph.com/issues/58160 here
because by the time we get to "rbd resize" RAW_DEV mapping owns the
lock (due to a write to /dev/mapper/cryptsetupdev being last).

While at it, resurrect the ability to easily run this script on
vstart clusters -- see commit f737c2855a19 ("qa/workunits/rbd: make
luks-encryption test work on vstart cluster").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agodoc/rbd: add clone encryption details and examples
Ilya Dryomov [Fri, 28 Oct 2022 10:42:14 +0000 (12:42 +0200)]
doc/rbd: add clone encryption details and examples

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agorbd, rbd-nbd: make --encryption-format optional
Ilya Dryomov [Mon, 21 Nov 2022 19:31:18 +0000 (20:31 +0100)]
rbd, rbd-nbd: make --encryption-format optional

If no --encryption-format specified at all, default to "luks" for each
specified --encryption-passphrase-file.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agorbd, rbd-nbd: accept "luks", "luks1" and "luks2" formats
Ilya Dryomov [Sat, 19 Nov 2022 12:30:55 +0000 (13:30 +0100)]
rbd, rbd-nbd: accept "luks", "luks1" and "luks2" formats

Since RBD_ENCRYPTION_FORMAT_LUKS1, RBD_ENCRYPTION_FORMAT_LUKS2
and RBD_ENCRYPTION_FORMAT_LUKS aren't treated the same when loading
encryption anymore, "luks1" and "luks2" formats need to be accepted
in addition to "luks" format.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: don't decay LUKS{1,2}EncryptionFormat into LUKSEncryptionFormat
Ilya Dryomov [Fri, 18 Nov 2022 13:53:24 +0000 (14:53 +0100)]
librbd: don't decay LUKS{1,2}EncryptionFormat into LUKSEncryptionFormat

Commit 9892ead7fcd9 ("librbd/crypto: allow loading luks format
without specifying version") introduced RBD_ENCRYPTION_FORMAT_LUKS
format identifier, matching cryptsetup's CRYPT_LUKS ("load any LUKS
version happens to be there").  However, in an effort to enable an
obscure "layered encryption with the same passphrase + old QEMU" use
case, it also introduced decaying of RBD_ENCRYPTION_FORMAT_LUKS1 and
RBD_ENCRYPTION_FORMAT_LUKS2 format identifiers, making it impossible
to assert on the format that is being loaded.  This new behavior was
then extended to standalone images.

Treating RBD_ENCRYPTION_FORMAT_LUKS1, RBD_ENCRYPTION_FORMAT_LUKS2
and RBD_ENCRYPTION_FORMAT_LUKS the same when loading encryption can
be construed as an opening for a format downgrade attack.  Let's
resurrect the previous standalone images behavior and extend it to
layered encryption instead.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agorbd: fix passphrase zeroing in "rbd encryption format" handler
Ilya Dryomov [Mon, 14 Nov 2022 13:14:10 +0000 (14:14 +0100)]
rbd: fix passphrase zeroing in "rbd encryption format" handler

"rbd encryption format" handler sets up a scope guard to zero out
the passphrase string on return but also makes a copy of same which
isn't zeroed out.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agorbd, rbd-nbd: don't strip trailing newline in passphrase files
Ilya Dryomov [Mon, 14 Nov 2022 12:24:00 +0000 (13:24 +0100)]
rbd, rbd-nbd: don't strip trailing newline in passphrase files

One of the stated goals is compatibility with standard LUKS tools,
in particular being able to load encryption on images formatted with
cryptsetup.  cryptsetup doesn't do this and this really interferes
with randomly generated (binary) passphrases.

While at it, open passphrase files as binary -- it communicates the
intent if nothing else on POSIX.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: constify specs array in rbd_encryption_load2()
Ilya Dryomov [Sun, 13 Nov 2022 16:10:05 +0000 (17:10 +0100)]
librbd: constify specs array in rbd_encryption_load2()

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: remove unused trim_image() method
Ilya Dryomov [Mon, 17 Oct 2022 15:52:24 +0000 (17:52 +0200)]
librbd: remove unused trim_image() method

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: non-pruning parent overlap handling fixes
Ilya Dryomov [Mon, 17 Oct 2022 13:51:04 +0000 (15:51 +0200)]
librbd: non-pruning parent overlap handling fixes

Apply similar "reduce overlap and respect area" logic to places
that don't use prune_parent_extents().  Changes to FlattenRequest
and TrimRequest here should complete the long tail of encrypted
I/O path and flatten fixes.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: reduce overlap and respect area when pruning parent extents
Ilya Dryomov [Sat, 15 Oct 2022 16:31:45 +0000 (18:31 +0200)]
librbd: reduce overlap and respect area when pruning parent extents

DATA area in the parent may be smaller than the part of DATA area in
the clone that is still within the overlap.  This would occur e.g. in
LUKS2-formatted parent + LUKS1-formatted clone case, due to LUKS2
header usually being bigger than LUKS1 header:

parent: raw size = 64M
        LUKS2 header area = 16M
        data area = 48M

clone:  raw size = 64M (raw overlap 64M)
        LUKS1 header area = 4M
        data area = 60M

Currently, because parent extents are pruned only according to raw
overlap (64M), the clone ends up attempting to reach the parent for all
of its data area (60M < 64M) even though the parent only has 48M worth
of data.  All kinds of bugs ensue for 48M..60M offsets and this range
basically becomes inaccessible to the user.

A related issue is that prune_parent_extents() ignores area.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: clip extents to their area instead of DATA area
Ilya Dryomov [Wed, 28 Sep 2022 08:31:45 +0000 (10:31 +0200)]
librbd: clip extents to their area instead of DATA area

This fixes cases where CRYPTO HEADER area is larger than DATA area.
In particular, it was effectively impossible to flatten unformatted
clones of such images.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: introduce reduce_parent_overlap() and switch overlap API
Ilya Dryomov [Fri, 14 Oct 2022 14:20:24 +0000 (16:20 +0200)]
librbd: introduce reduce_parent_overlap() and switch overlap API

When encryption is loaded, rbd_get_overlap() and Image::overlap() now
return "effective" overlap, similar to rbd_get_size() and Image::size().
Previously, returned overlap could have been bigger than "effective"
size.

Note that get_effective_image_size() successor doesn't take snap_id
because passing anything but ictx->snap_id was broken.  Since the size
of the crypto header is stored in the crypto header itself, image areas
are defined only for the "opened at" snap_id.  Getting "effective" size
for an arbitrary snapshot requires actually opening it and loading
encryption on it.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: tweak get_parent_overlap() signature
Ilya Dryomov [Fri, 14 Oct 2022 14:01:45 +0000 (16:01 +0200)]
librbd: tweak get_parent_overlap() signature

Make it clear that get_parent_overlap() returns the raw parent overlap
value (i.e. physical offset into the parent image).  Also drop redundant
ceph_mutex_is_locked assert -- get_parent_info() already has one.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: remap resize target size if encryption is loaded
Ilya Dryomov [Thu, 20 Oct 2022 15:25:46 +0000 (17:25 +0200)]
librbd: remap resize target size if encryption is loaded

When encryption is loaded, rbd_get_size() and Image::size() return
"effective" size, but rbd_resize() and Image::resize() continue to take
raw size.  The user has to constantly keep these domains in mind.

Saying that resize must be done without encryption loaded is not an
answer because shrinking a clone that has snapshots involves copying up
objects in the affected range (identical to flattening).  In addition,
even if a clone doesn't have snapshots, shrinking it to a size that
isn't an object boundary is going to involve a copyup for the victim
object as well.

To avoid subtle data corruption on shrink, treat resize operation the
same as flatten operation (including on the CLI).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: check stripe pattern when loading encryption
Ilya Dryomov [Fri, 16 Sep 2022 16:07:03 +0000 (18:07 +0200)]
librbd: check stripe pattern when loading encryption

Currently it's done in FormatRequest but not in LoadRequest.  However
an image can be deep copied or exported and imported with a different
stripe pattern such that an area boundary would fall in the middle of
an object.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: check image size when loading encryption
Ilya Dryomov [Fri, 16 Sep 2022 11:44:23 +0000 (13:44 +0200)]
librbd: check image size when loading encryption

Currently it's done in FormatRequest but not in LoadRequest.  However
an image can be shrunk to a size such that encryption can loaded (i.e.
enough of the header is still present) but nothing else can, breaking
implicit assumptions all around.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: relax image size check in luks::FormatRequest
Ilya Dryomov [Fri, 7 Oct 2022 09:56:27 +0000 (11:56 +0200)]
librbd: relax image size check in luks::FormatRequest

Proceed with formatting an image even if all space would be consumed by
the crypto header.  There is no reason to be strict here since we allow
creating zero-sized images as well as shrinking any image to 0.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: no need to return format from ShutDownCryptoRequest
Ilya Dryomov [Thu, 15 Sep 2022 08:05:56 +0000 (10:05 +0200)]
librbd: no need to return format from ShutDownCryptoRequest

luks::FlattenRequest was the only user of this interface.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: don't temporarily shut down crypto when flattening
Ilya Dryomov [Thu, 15 Sep 2022 07:33:01 +0000 (09:33 +0200)]
librbd: don't temporarily shut down crypto when flattening

(Temporarily) shutting down crypto can lead to data corruption in the
face of concurrent I/O, especially when flatten operation is proxied to
the remote lock owner.  This was added to be able to read, optionally
modify and write crypto header without it being subjected to remapping
and encryption itself.  read_header() and write_header() now achieve
that by specifying CRYPTO_HEADER area explicitly.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: move get_file_offset() into CryptoObjectDispatch
Ilya Dryomov [Mon, 26 Sep 2022 10:57:16 +0000 (12:57 +0200)]
librbd: move get_file_offset() into CryptoObjectDispatch

This method doesn't propagate area.  Since its only user is
CryptoObjectDispatch which is now applied only to DATA area,
move get_file_offset() there to avoid misuse in the future.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: apply CryptoObjectDispatch layer only to DATA area
Ilya Dryomov [Fri, 9 Sep 2022 16:34:49 +0000 (18:34 +0200)]
librbd: apply CryptoObjectDispatch layer only to DATA area

Objects in CRYPTO_HEADER area should not be subjected to encryption.
Unit tests needed adjustment because MockCryptoInterface is configured
with DATA_OFFSET = 4 * 1024 * 1024, thus disqualifying object 0.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: propagate area down to file_to_extents()
Ilya Dryomov [Wed, 14 Sep 2022 12:55:56 +0000 (14:55 +0200)]
librbd: propagate area down to file_to_extents()

- readahead and PWL cache are limited to DATA area as explained in
  the previous commit
- DATA area is assumed for the journal as encryption can't be used
  with journaling anyway

To postpone the churn associated with passing area through
ImageDispatchInterface (where only WriteLogImageDispatch and
ImageDispatch care), add a new image dispatch flag.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: pass area to ImageDispatchSpec::create_*()
Ilya Dryomov [Wed, 14 Sep 2022 10:40:58 +0000 (12:40 +0200)]
librbd: pass area to ImageDispatchSpec::create_*()

- DATA area is assumed at the API layer as there is no way to pass
  an area
- DATA area is assumed by ImageWriteback because PWL cache persists
  image extents as provided by the user without any kind of designator
  and therefore can be active only in either area
- luks::FlattenRequest operates on CRYPTO_HEADER area

The passed area is acted upon in ImageDispatchSpec constructor in the
next commit.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agolibrbd: return area from extents_to_file()
Ilya Dryomov [Mon, 12 Sep 2022 19:05:44 +0000 (21:05 +0200)]
librbd: return area from extents_to_file()

Note that, as suggested by extents_to_file() signature, all returned
image extents would pertain to the same area.  This means that an area
boundary must coincide with an object boundary.

luks::FormatRequest is actually more strict: crypto header area size is
set to a multiple of stripe period (i.e. one or more whole objects).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>