]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
22 months agocrimson/os/seastore/onode_manager: populate value recorders of onodes to 53305/head
Xuehan Xu [Wed, 6 Sep 2023 06:56:51 +0000 (14:56 +0800)]
crimson/os/seastore/onode_manager: populate value recorders of onodes to
be erased

Otherwise, the following modification sequence with the same transaction
might lead to onode extents' crc inconsistency during journal replay:

1. modify the last mapping in an onode extent;
2. erase the last mapping in that onode extent.

During journal replay, if the first modification is not recorded in the
delta, the onode extent's content would be inconsistent with that before
the system reboot

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
22 months agoMerge pull request #53221 from rhcs-dashboard/password-green-tick-fix
Nizamudeen A [Wed, 6 Sep 2023 06:29:47 +0000 (11:59 +0530)]
Merge pull request #53221 from rhcs-dashboard/password-green-tick-fix

mgr/dashboard: remove green tick on old password field

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
22 months agoMerge pull request #53277 from rhcs-dashboard/image-progress-bar
Nizamudeen A [Wed, 6 Sep 2023 05:36:36 +0000 (11:06 +0530)]
Merge pull request #53277 from rhcs-dashboard/image-progress-bar

mgr/dashboard: remove used and total used columns in favor of usage bar

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
22 months agoMerge pull request #53052 from phlogistonjohn/cephadm-split-refactor
Adam King [Tue, 5 Sep 2023 16:11:46 +0000 (12:11 -0400)]
Merge pull request #53052 from phlogistonjohn/cephadm-split-refactor

cephadm: refactor cephadm into multiple files

Reviewed-by: Adam King <adking@redhat.com>
22 months agoMerge pull request #52924 from rishabh-d-dave/test-nfs-pr-52556
Rishabh Dave [Tue, 5 Sep 2023 14:51:30 +0000 (20:21 +0530)]
Merge pull request #52924 from rishabh-d-dave/test-nfs-pr-52556

qa: inherit RunCephCmd in CephTestCase instead of CephFSTestCase

Reviewed-by: Adam King <adking@redhat.com>
22 months agoMerge pull request #52956 from aclamk/wip-aclamk-testing-variable-workload
Adam Kupczyk [Tue, 5 Sep 2023 13:48:13 +0000 (15:48 +0200)]
Merge pull request #52956 from aclamk/wip-aclamk-testing-variable-workload

tools: Add generator of variable workload

22 months agoMerge pull request #52877 from guits/bz2064498
Guillaume Abrioux [Tue, 5 Sep 2023 12:41:48 +0000 (14:41 +0200)]
Merge pull request #52877 from guits/bz2064498

ceph-volume/cephadm: support lv devices in inventory

22 months agomgr/dashboard: remove used and total used columns in favor of usage bar 53277/head
Pedro Gonzalez Gomez [Mon, 4 Sep 2023 14:45:30 +0000 (16:45 +0200)]
mgr/dashboard: remove used and total used columns in favor of usage bar

Fixes: https://tracker.ceph.com/issues/62697
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
22 months agomgr/dashboard: remove green tick on old password field 53221/head
Nizamudeen A [Wed, 30 Aug 2023 05:20:30 +0000 (10:50 +0530)]
mgr/dashboard: remove green tick on old password field

a green tick is showing to the field where we enter the old password in
login password change form. It starts showing green tick as soon as we
start typing on it. Removing that because its misleads the user.

Fixes: https://tracker.ceph.com/issues/62644
Signed-off-by: Nizamudeen A <nia@redhat.com>
22 months agoMerge pull request #53037 from batrick/i62482
Venky Shankar [Mon, 4 Sep 2023 14:18:05 +0000 (19:48 +0530)]
Merge pull request #53037 from batrick/i62482

qa: do not create rbd pool for CephFS QA

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
22 months agoMerge pull request #52964 from AliMasarweh/wip-alimasa-persistant-q-enhance
Ali Masarwa [Mon, 4 Sep 2023 12:25:44 +0000 (15:25 +0300)]
Merge pull request #52964 from AliMasarweh/wip-alimasa-persistant-q-enhance

RGW: added a per topic configuration to control the notification persistency
Adding the configuration of persistency per topic that will override the global settings

Reviewed-by: yuvalif <ylifshit@redhat.com>
22 months agoMerge pull request #53251 from idryomov/wip-61707
Ilya Dryomov [Mon, 4 Sep 2023 11:25:03 +0000 (13:25 +0200)]
Merge pull request #53251 from idryomov/wip-61707

librbd: make CreatePrimaryRequest remove any unlinked mirror snapshots

Reviewed-by: Ramana Raja <rraja@redhat.com>
22 months agoMerge pull request #52990 from ajarr/fix-61607
Ilya Dryomov [Mon, 4 Sep 2023 11:07:29 +0000 (13:07 +0200)]
Merge pull request #52990 from ajarr/fix-61607

librbd: kick ExclusiveLock state machine on client being blocklisted when waiting for lock

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
22 months agoRGW: added a per topic configuration to control the notification persistency 52964/head
Ali Masarwa [Wed, 9 Aug 2023 11:53:04 +0000 (14:53 +0300)]
RGW: added a per topic configuration to control the notification persistency

Signed-off-by: Ali Masarwa <ali.saed.masarwa@gmail.com>
22 months agoMerge pull request #53264 from anthonyeleven/anthonyeleven/improve-radosgw-admin...
zdover23 [Sun, 3 Sep 2023 21:49:03 +0000 (07:49 +1000)]
Merge pull request #53264 from anthonyeleven/anthonyeleven/improve-radosgw-admin-usage

doc/man/8: improve radosgw-admin.rst

Reviewed-by: Zac Dover <zac.dover@proton.me>
22 months agodoc/man/8: improve radosgw-admin.rst 53264/head
Anthony D'Atri [Sun, 3 Sep 2023 13:56:44 +0000 (09:56 -0400)]
doc/man/8: improve radosgw-admin.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
22 months agoMerge pull request #50360 from tgfree7/wip-doc-2023-03-03-multisite-migrating-a-singl...
Anthony D'Atri [Sun, 3 Sep 2023 12:05:17 +0000 (08:05 -0400)]
Merge pull request #50360 from tgfree7/wip-doc-2023-03-03-multisite-migrating-a-single-site

doc/radosgw: multisite - edit "migrating a single-site"

22 months agoMerge pull request #53166 from Matan-B/wip-matanb-crimson-ignore-pool-app
Matan Breizman [Sun, 3 Sep 2023 09:57:08 +0000 (12:57 +0300)]
Merge pull request #53166 from Matan-B/wip-matanb-crimson-ignore-pool-app

qa/config/crimson_qa_overrides: ignore POOL_APP_NOT_ENABLED

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: chunmei-liu <chunmei.liu@intel.com>
22 months agoMerge pull request #53247 from zdover23/wip-doc-2023-09-01-readme-md-running-test...
zdover23 [Fri, 1 Sep 2023 18:31:18 +0000 (04:31 +1000)]
Merge pull request #53247 from zdover23/wip-doc-2023-09-01-readme-md-running-test-cluster

doc/README.md - improve "Running a test cluster"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
22 months agoMerge pull request #53249 from krafZLorG/fix_abc_table
zdover23 [Fri, 1 Sep 2023 18:08:17 +0000 (04:08 +1000)]
Merge pull request #53249 from krafZLorG/fix_abc_table

doc/start: correct ABC test chart

Reviewed-by: Zac Dover <zac.dover@proton.me>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
22 months agoqa: add "failover / failback loop" test for rbd-mirror 53251/head
Ilya Dryomov [Fri, 1 Sep 2023 12:53:33 +0000 (14:53 +0200)]
qa: add "failover / failback loop" test for rbd-mirror

For snapshot-based mirroring, check that demote (or other mirror
snapshots) don't pile up.  Nothing in particular to assert on for
journal-based mirroring but the test is still useful.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
22 months agolibrbd: make CreatePrimaryRequest remove any unlinked mirror snapshots
Ilya Dryomov [Sat, 26 Aug 2023 11:04:52 +0000 (13:04 +0200)]
librbd: make CreatePrimaryRequest remove any unlinked mirror snapshots

After commit ac552c9b4d65 ("librbd: localize snap_remove op for mirror
snapshots"), rbd-mirror daemon no longer removes mirror snapshots when
it's done syncing them -- instead it only unlinks from them.  However,
CreatePrimaryRequest state machine was not adjusted to compensate and
hence two cases were missed:

- primary demotion snapshot (rbd-mirror daemon unlinks from primary
  demotion snapshots just like it does from regular primary snapshots);
  this comes up when an image is demoted but then promoted on the same
  cluster

- non-primary demotion snapshot (unlike regular non-primary snapshots,
  non-primary demotion snapshots store peer uuids and rbd-mirror daemon
  does unlinking just like in the case of primary snapshots); this
  comes up when an image is demoted and promoted on the other cluster

Related is the case of orphan snapshots.  Since they are dummy to begin
with, CreatePrimaryRequest would now clean up the orphan snapshot after
the creation of the force promote snapshot.

Fixes: https://tracker.ceph.com/issues/61707
Co-authored-by: Christopher Hoffman <choffman@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
22 months agolibrbd: don't attempt to remove image state on orphan snapshots
Ilya Dryomov [Tue, 22 Aug 2023 15:27:50 +0000 (17:27 +0200)]
librbd: don't attempt to remove image state on orphan snapshots

Despite being mirror snapshots, orphan snapshots don't have image
state: see CreateNonPrimaryRequest::write_image_state() for a similar
is_orphan() check.  Attempting to remove image state generates bogus
"failed to read image state object" and "failed to remove image state"
errors.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
22 months agoMerge pull request #43217 from k0ste/fix_52656
Kefu Chai [Fri, 1 Sep 2023 14:51:01 +0000 (22:51 +0800)]
Merge pull request #43217 from k0ste/fix_52656

mgr: prometheus: use nsec unit in desc for RBD _read_latency and _write_latency metrics

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
22 months agoMerge pull request #51197 from petrutlucian94/mingw-llvm
Ilya Dryomov [Fri, 1 Sep 2023 14:21:35 +0000 (16:21 +0200)]
Merge pull request #51197 from petrutlucian94/mingw-llvm

windows: use mingw-llvm

Reviewed-by: Adam Emerson <aemerson@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
22 months agodoc/start: correct ABC test chart 53249/head
Dmitry Kvashnin [Fri, 1 Sep 2023 10:53:18 +0000 (10:53 +0000)]
doc/start: correct ABC test chart

Signed-off-by: Dmitry Kvashnin <dm.kvashnin@gmail.com>
22 months agodoc/README.md - improve "Running a test cluster" 53247/head
Zac Dover [Fri, 1 Sep 2023 00:19:58 +0000 (10:19 +1000)]
doc/README.md - improve "Running a test cluster"

Improve the English in the section "Running a test cluster in the
ceph/README.md file.

Signed-off-by: Zac Dover <zac.dover@proton.me>
22 months agoMerge pull request #53237 from idryomov/wip-16.2.14-notes-followup
Ilya Dryomov [Thu, 31 Aug 2023 15:30:05 +0000 (17:30 +0200)]
Merge pull request #53237 from idryomov/wip-16.2.14-notes-followup

doc: 16.2.14 release notes follow-up

Reviewed-by: Laura Flores <lflores@redhat.com>
22 months agoMerge PR #52522 into main
Venky Shankar [Thu, 31 Aug 2023 11:55:03 +0000 (17:25 +0530)]
Merge PR #52522 into main

* refs/pull/52522/head:
mds: drop locks and retry when lock set changes

Reviewed-by: Venky Shankar <vshankar@redhat.com>
22 months agotools/variable_load: Improvements 52956/head
Adam Kupczyk [Thu, 31 Aug 2023 09:27:47 +0000 (09:27 +0000)]
tools/variable_load: Improvements

Added pool parameters.
Added WORKLOAD definition documentation
Added examples.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
22 months agotools/variable_load: Improve load generation
Adam Kupczyk [Tue, 29 Aug 2023 13:50:01 +0000 (13:50 +0000)]
tools/variable_load: Improve load generation

Improve generation of workloads.
Add options. Add useful help.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
22 months agotools/variable_load: Add generator of variable workload
Adam Kupczyk [Fri, 11 Aug 2023 14:24:57 +0000 (14:24 +0000)]
tools/variable_load: Add generator of variable workload

The tool is dedicated to create highly variable workloads.
The intended audience is
1) scraper testing - tool to sniff on OSD ops
2) CoDel testing - bandwidth/latency optimization algorithm in BS
Initial commit.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
22 months agoMerge PR #52409 into main
Venky Shankar [Thu, 31 Aug 2023 09:33:18 +0000 (15:03 +0530)]
Merge PR #52409 into main

* refs/pull/52409/head:
mds: rework FSMap to avoid shared_ptrs

Reviewed-by: Venky Shankar <vshankar@redhat.com>
22 months agoMerge pull request #53100 from rhcs-dashboard/fix-rbd-mirror-label
Nizamudeen A [Thu, 31 Aug 2023 09:17:14 +0000 (14:47 +0530)]
Merge pull request #53100 from rhcs-dashboard/fix-rbd-mirror-label

mgr/dashboard: fix image columns naming

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
22 months agodoc: 16.2.14 release notes follow-up 53237/head
Ilya Dryomov [Thu, 31 Aug 2023 08:48:25 +0000 (10:48 +0200)]
doc: 16.2.14 release notes follow-up

Address review comments that remained outstanding in
https://github.com/ceph/ceph/pull/53107:

- CephFS capitalization
- missing PR in the list of changes

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
22 months agoMerge pull request #53182 from rhcs-dashboard/fix-subvolume-rm-snapshots
Nizamudeen A [Thu, 31 Aug 2023 05:57:07 +0000 (11:27 +0530)]
Merge pull request #53182 from rhcs-dashboard/fix-subvolume-rm-snapshots

mgr/dashboard: subvolume rm with snapshots

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
22 months agoMerge pull request #53107 from ceph/wip-yuriw-release-16.2.14-main
Laura Flores [Wed, 30 Aug 2023 22:24:55 +0000 (17:24 -0500)]
Merge pull request #53107 from ceph/wip-yuriw-release-16.2.14-main

doc: 16.2.14 Release Notes

22 months agodoc: update release checklist for new cephadm constants file 53052/head
John Mulligan [Tue, 29 Aug 2023 19:17:14 +0000 (15:17 -0400)]
doc: update release checklist for new cephadm constants file

Signed-off-by: John Mulligan <jmulligan@redhat.com>
22 months agocephadm: black format packagers.py
John Mulligan [Thu, 17 Aug 2023 19:12:15 +0000 (15:12 -0400)]
cephadm: black format packagers.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: black format net_utils.py
John Mulligan [Thu, 17 Aug 2023 19:11:57 +0000 (15:11 -0400)]
cephadm: black format net_utils.py

This contains one small manual change reversing the black formatting.
According to the black docs [1], flake8's E203 is not pep8 compliant but
since flake8 is currently mandatory and black formatting is not we'll
leave it in a form that makes flake8 happy and attempt to resolve the
disagreement some time in the future.

[1]: https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#slices

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
22 months agocephadm: black format locking.py
John Mulligan [Thu, 17 Aug 2023 19:11:40 +0000 (15:11 -0400)]
cephadm: black format locking.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: black format file_utils.py
John Mulligan [Wed, 16 Aug 2023 20:44:55 +0000 (16:44 -0400)]
cephadm: black format file_utils.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: black format data_utils.py
John Mulligan [Wed, 16 Aug 2023 20:44:42 +0000 (16:44 -0400)]
cephadm: black format data_utils.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: black format container_engines.py
John Mulligan [Wed, 16 Aug 2023 19:59:02 +0000 (15:59 -0400)]
cephadm: black format container_engines.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: black format call_wrappers.py
John Mulligan [Wed, 16 Aug 2023 19:25:03 +0000 (15:25 -0400)]
cephadm: black format call_wrappers.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: black format exe_utils.py
John Mulligan [Wed, 16 Aug 2023 18:05:16 +0000 (14:05 -0400)]
cephadm: black format exe_utils.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: black format cephadmlib/context.py
John Mulligan [Thu, 10 Aug 2023 14:42:20 +0000 (10:42 -0400)]
cephadm: black format cephadmlib/context.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: black format cephadmlib/constants.py
John Mulligan [Thu, 10 Aug 2023 14:41:51 +0000 (10:41 -0400)]
cephadm: black format cephadmlib/constants.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move packager types and funcs to packagers.py
John Mulligan [Thu, 17 Aug 2023 19:07:53 +0000 (15:07 -0400)]
cephadm: move packager types and funcs to packagers.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move DaemonIdentity to daemon_identity.py
John Mulligan [Thu, 17 Aug 2023 18:51:21 +0000 (14:51 -0400)]
cephadm: move DaemonIdentity to daemon_identity.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move FileLock and friends to locking.py
John Mulligan [Thu, 17 Aug 2023 18:39:56 +0000 (14:39 -0400)]
cephadm: move FileLock and friends to locking.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move byte string manipulation funcs to data_utils.py
John Mulligan [Thu, 17 Aug 2023 18:27:09 +0000 (14:27 -0400)]
cephadm: move byte string manipulation funcs to data_utils.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move low level networking funcs to net_utils.py
John Mulligan [Thu, 17 Aug 2023 18:18:02 +0000 (14:18 -0400)]
cephadm: move low level networking funcs to net_utils.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move file utility functions to file_utils.py
John Mulligan [Wed, 16 Aug 2023 20:43:20 +0000 (16:43 -0400)]
cephadm: move file utility functions to file_utils.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move assorted data manipulation funcs to data_utils.py
John Mulligan [Wed, 16 Aug 2023 20:14:01 +0000 (16:14 -0400)]
cephadm: move assorted data manipulation funcs to data_utils.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move container engine types and funcs to container_engines.py
John Mulligan [Wed, 16 Aug 2023 19:58:06 +0000 (15:58 -0400)]
cephadm: move container engine types and funcs to container_engines.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move ContainerEngine to container_engine_base.py
John Mulligan [Wed, 16 Aug 2023 19:38:50 +0000 (15:38 -0400)]
cephadm: move ContainerEngine to container_engine_base.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move command call functions to call_wrappers.py
John Mulligan [Wed, 16 Aug 2023 19:23:42 +0000 (15:23 -0400)]
cephadm: move command call functions to call_wrappers.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
22 months agocephadm: move executable discovery funcs to exe_utils.py
John Mulligan [Wed, 16 Aug 2023 18:03:50 +0000 (14:03 -0400)]
cephadm: move executable discovery funcs to exe_utils.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move basic exception types to exceptions.py
John Mulligan [Tue, 15 Aug 2023 18:15:41 +0000 (14:15 -0400)]
cephadm: move basic exception types to exceptions.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move CephadmcOntext to cephadmlib/context.py
John Mulligan [Thu, 10 Aug 2023 14:14:05 +0000 (10:14 -0400)]
cephadm: move CephadmcOntext to cephadmlib/context.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agowin32_deps_build.sh: avoid duplicate boost definitions 51197/head
Lucian Petrut [Fri, 18 Aug 2023 13:10:59 +0000 (13:10 +0000)]
win32_deps_build.sh: avoid duplicate boost definitions

Boost stacktrace defines a few UUIDs that were recently added
to mingw as well [1], causing compilation errors [2]:

  In file included from libs/stacktrace/build/../src/windbg.cpp:9:
  ./boost/stacktrace/detail/frame_msvc.ipp:31:5: error: redefinition of
    '__mingw_uuidof_s<IDebugClient>'
    __CRT_UUID_DECL(IDebugClient,0x27fe5639,...

We'll apply a fix that hasn't merged upsteam yet [3].

[1] https://github.com/mirror/mingw-w64/commit/ce5a9f624dfc691082dad2ea2af7b1985e3476b5
[2] https://github.com/boostorg/stacktrace/issues/133
[3] https://github.com/boostorg/stacktrace/pull/140

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocephadm: for test fixture use constants from new constants.py
John Mulligan [Thu, 17 Aug 2023 18:38:42 +0000 (14:38 -0400)]
cephadm: for test fixture use constants from new constants.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: move cephadm global constants to cephadmlib/constants.py
John Mulligan [Thu, 10 Aug 2023 13:54:05 +0000 (09:54 -0400)]
cephadm: move cephadm global constants to cephadmlib/constants.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: prepare for using black code formatting for cephadmlib
John Mulligan [Thu, 10 Aug 2023 13:46:27 +0000 (09:46 -0400)]
cephadm: prepare for using black code formatting for cephadmlib

Currently this is not checked/required but we'd like to use a consistent
formatting tool for the new files in cephadmlib. This let's us do so
incrementally.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: update tox.ini flake8 rules
John Mulligan [Wed, 16 Aug 2023 18:05:59 +0000 (14:05 -0400)]
cephadm: update tox.ini flake8 rules

Add cephadmlib to flake8 checks.
Use `git ls-files` like src/pybind/mgr/tox.ini does for listing certain
python files.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: enable running mypy on cephadmlib source files
John Mulligan [Thu, 10 Aug 2023 13:46:02 +0000 (09:46 -0400)]
cephadm: enable running mypy on cephadmlib source files

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: include the cephadmlib package in the binary's zipapp
John Mulligan [Thu, 10 Aug 2023 13:45:42 +0000 (09:45 -0400)]
cephadm: include the cephadmlib package in the binary's zipapp

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocephadm: add new, currently empty, cephadmlib package
John Mulligan [Thu, 10 Aug 2023 13:41:32 +0000 (09:41 -0400)]
cephadm: add new, currently empty, cephadmlib package

This new package will contain the refactored-into-modules parts of
cephadm that currently reside entirely within cephadm.py.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Pair-programmed-with: Adam King <adking@redhat.com>
Co-authored-by: Adam King <adking@redhat.com>
22 months agocmake: fix mingw-llvm shared linking
Lucian Petrut [Wed, 23 Aug 2023 14:21:12 +0000 (14:21 +0000)]
cmake: fix mingw-llvm shared linking

mingw-llvm can't handle the '--exclude-libs' linker flag, so
we'll have to skip it.

At the same time, cmake can't locate the boost shared libs as the
import libs are not generated when using mingw-llvm due to boost's
clang-linux.jam file. For now, we'll patch the cmake files, using
the dlls as import libs (which is allowed by mingw).

While at it, we'll avoid linking the static AND dynamic boost libs,
speeding the build.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocommon: skip boost shared_mutex with mingw-llvm
Lucian Petrut [Tue, 30 May 2023 13:46:54 +0000 (13:46 +0000)]
common: skip boost shared_mutex with mingw-llvm

Because of winpthreads issues, we had to use Boost's shared_mutex
implementation.

When using mingw-llvm, we can safely use libc++'s shared mutex
implementation.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocommon: avoid <1ms waits on Windows
Lucian Petrut [Thu, 4 May 2023 14:27:56 +0000 (14:27 +0000)]
common: avoid <1ms waits on Windows

std::condition_variable::wait_for uses SleepConditionVariableSRW
on Windows, which has millisecond precision.

In order to avoid busy loops, we won't wait for less than one
millisecond on Windows.

Note that this situation is quite common since on Windows,
"wait_for" often returns ~1ms before the specified timeout.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocommon: use signedspan for monotonic ceph clocks
Lucian Petrut [Mon, 8 May 2023 12:47:42 +0000 (12:47 +0000)]
common: use signedspan for monotonic ceph clocks

The monotonic clocks are commonly used for measuring time deltas,
which can be negative.

ceph::mono_clock and ceph::coarse_mono_clock currently use
unsigned duration types [1]. The difference operators are overloaded
in order to ensure that the result is signed [2][3].

However, we still have issues when unsigned timespans are compared.
For example, std::condition::wait_for can hang indefinitely due
to underflows [4][5]. It ends up using our unsigned type for a
negative timespan, which is then compared to
std::chrono::duration<Rep,Period>::zero.

In order to avoid such problems, we'll simply use a signed type
for monotonic clock durations.

With signed timespans, we can no longer assume that time_point::zero()
is equal to time_point::min(), so we're updating it accodingly.

[1] https://github.com/ceph/ceph/blob/4040f12347a5f48520f8ff2f83065b9ee3a36f68/src/common/ceph_time.h#L285
[2] https://github.com/ceph/ceph/blob/4040f12347a5f48520f8ff2f83065b9ee3a36f68/src/common/ceph_time.h#L345-L380
[3] https://github.com/ceph/ceph/blob/4040f12347a5f48520f8ff2f83065b9ee3a36f68/src/common/ceph_time.h#L466-L487
[4] https://github.com/llvm/llvm-project/blob/91cff8a71872cf49f0c5c9e5510f8065bfefa3c3/libcxx/include/__condition_variable/condition_variable.h#L178
[5] https://github.com/llvm/llvm-project/blob/91cff8a71872cf49f0c5c9e5510f8065bfefa3c3/libcxx/include/__condition_variable/condition_variable.h#L193

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agotest: add timer loop tests
Lucian Petrut [Thu, 4 May 2023 13:16:56 +0000 (13:16 +0000)]
test: add timer loop tests

We've been experiencing timer hangs with mingw-llvm.
std::condition_variable::wait_for was returning a few microseconds
before the requested time and then hanging when called with a
small interval (e.g. microseconds).

This was affecting the OSD periodic tick, which would hang after
a while (20m up to 2h).

The issue can be reproduced with a timer loop and a small interval
(e.g. 40us), in which case the timer is likely to hang after about
10s.

We're adding some tests, while the actual mingw-llvm issue will
be mitigated in a separate commit.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agowin32_build.sh: mingw-llvm support
Lucian Petrut [Fri, 7 Apr 2023 10:39:59 +0000 (10:39 +0000)]
win32_build.sh: mingw-llvm support

winpthreads is a library that emulates the pthreads API using
Windows primitives. It's also used by the mingw/gcc libstdc++
for std::thread.

The issue is that winpthreads isn't well maintained. There
have been numerous bugs that haven't been addressed in years.
Specifically, we've been hitting deadlocks because of the
winpthreads rw lock implementation.

This change will allow building Ceph for Windows using mingw/llvm,
which uses libc++ and doesn't rely on winpthreads.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agotest/dokan: avoid runtime dependent assertion
Lucian Petrut [Mon, 24 Apr 2023 14:36:43 +0000 (14:36 +0000)]
test/dokan: avoid runtime dependent assertion

We're checking a permission denied exception message that's
runtime specific:

  /mnt/data/workspace/ceph_mingw_clang/src/test/dokan/dokan.cc:252: Failure
  Expected equality of these values:
    e.what()
      Which is: "filesystem error: in remove: Permission denied
      [\"Z:\\ro_success_b76223c4-c590-45e0-ab78-4d281ac512b5\"]"
    exception_msg.c_str()
      Which is: "filesystem error: cannot remove: No such device
      [Z:\\ro_success_b76223c4-c590-45e0-ab78-4d281ac512b5]"

In order to support libc++, we'll drop the exception message
assertion and rely on the exception type.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agotest: link timer test against libceph-common
Lucian Petrut [Wed, 19 Apr 2023 13:11:36 +0000 (13:11 +0000)]
test: link timer test against libceph-common

This test currently failes to build for Windows using llvm
due to unresolved symbols.

We'll address the issue by explicitly specifying the ceph-common
dependency.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocommon: avoid using pthread native handle if not available
Lucian Petrut [Tue, 18 Apr 2023 14:50:41 +0000 (14:50 +0000)]
common: avoid using pthread native handle if not available

Especially when targeting Windows, llvm may not necessarily
use pthreads for std::thread. In this case, we must not use the
"native" thread handle with the pthreads API.

We'll update the ceph_pthread_getname and ceph_pthread_setname
wrappers, adding a new one: ceph_pthread_kill.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocmake: avoid -Bsymbolic on Windows
Lucian Petrut [Fri, 21 Apr 2023 13:10:23 +0000 (13:10 +0000)]
cmake: avoid -Bsymbolic on Windows

The "-Bsymbolic" and "-Bsymbolic-functions" flags only apply to ELF
binaries.

llvm errors out when targeting Windows, which is why we'll need
to skip those flags for Windows builds.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agosrc/common/win32: add missing casts
Lucian Petrut [Fri, 7 Apr 2023 11:48:34 +0000 (11:48 +0000)]
src/common/win32: add missing casts

clang errors out because of a few type mismatches that gcc
ignored through "-fpermissive".

We'll need to cast a few void pointers to the appropriate type.
There's also a function that doesn't have an explicit return type,
which was omitted by mistake.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agocmake: avoid duplicate symbols
Lucian Petrut [Tue, 11 Apr 2023 08:39:10 +0000 (08:39 +0000)]
cmake: avoid duplicate symbols

Some symbols from the crc32, arch and fmt libs
are re-exported by libceph-common:

  FAILED: bin/unittest_time.exe
  ld.lld: error: fmt::v9::format_error::~format_error() was replaced

llvm throws errors because of the duplicate symbols.
One workaround is to use objects instead of static libs
for the libs. For libfmt we'll use the header-only version.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agoMerge pull request #53211 from rhcs-dashboard/kill-rbd-mirror-leftovers
Nizamudeen A [Wed, 30 Aug 2023 11:35:25 +0000 (17:05 +0530)]
Merge pull request #53211 from rhcs-dashboard/kill-rbd-mirror-leftovers

mgr/dashboard: cleanup rbd-mirror process in dashboard e2e

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Zack Cerza <zack@redhat.com>
22 months agoMerge pull request #53208 from rhcs-dashboard/fs-volume-validator-fix
Nizamudeen A [Wed, 30 Aug 2023 08:23:44 +0000 (13:53 +0530)]
Merge pull request #53208 from rhcs-dashboard/fs-volume-validator-fix

mgr/dashboard: fix cephfs create form validator

Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
22 months agomgr/dashboard: fix image columns naming 53100/head
Pedro Gonzalez Gomez [Wed, 23 Aug 2023 16:34:55 +0000 (18:34 +0200)]
mgr/dashboard: fix image columns naming

Fixes: https://tracker.ceph.com/issues/62551
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
22 months agomgr/dashboard: subvolume rm with snapshots 53182/head
Pedro Gonzalez Gomez [Mon, 28 Aug 2023 13:03:06 +0000 (15:03 +0200)]
mgr/dashboard: subvolume rm with snapshots

Fixes: https://tracker.ceph.com/issues/62452
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
22 months agomgr/dashboard: cleanup rbd-mirror process in dashboard e2e 53211/head
Nizamudeen A [Tue, 29 Aug 2023 19:48:03 +0000 (01:18 +0530)]
mgr/dashboard: cleanup rbd-mirror process in dashboard e2e

Fixes: https://tracker.ceph.com/issues/61703
Signed-off-by: Nizamudeen A <nia@redhat.com>
22 months agoMerge pull request #53213 from zdover23/wip-doc-2023-08-30-cephadm-install-adding...
Anthony D'Atri [Tue, 29 Aug 2023 23:47:05 +0000 (19:47 -0400)]
Merge pull request #53213 from zdover23/wip-doc-2023-08-30-cephadm-install-adding-hosts-2

doc/cephadm: edit "Adding Hosts" in install.rst

22 months agodoc/cephadm: edit "Adding Hosts" in install.rst 53213/head
Zac Dover [Tue, 29 Aug 2023 22:33:09 +0000 (08:33 +1000)]
doc/cephadm: edit "Adding Hosts" in install.rst

Edit the English in the "Adding Hosts" section of
doc/cephadm/install.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
22 months agoMerge pull request #52655 from rzarzynski/wip-crimson-ertr-sassert-on-wrong-valuefunc
Liu-Chunmei [Tue, 29 Aug 2023 22:19:07 +0000 (15:19 -0700)]
Merge pull request #52655 from rzarzynski/wip-crimson-ertr-sassert-on-wrong-valuefunc

crimson/ertr: assert on invocability of func provided to safe_then()

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Matan Breizman <mbreizma@redhat.com>
22 months agoMerge pull request #53136 from petrutlucian94/rbd_tests
Ilya Dryomov [Tue, 29 Aug 2023 17:18:40 +0000 (19:18 +0200)]
Merge pull request #53136 from petrutlucian94/rbd_tests

rbd-wnbd: wait for disks to become available

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
22 months agoMerge pull request #53133 from rhcs-dashboard/rgw-addr-fix
Nizamudeen A [Tue, 29 Aug 2023 15:41:26 +0000 (21:11 +0530)]
Merge pull request #53133 from rhcs-dashboard/rgw-addr-fix

mgr/dashboard: fix rgw page issues when hostname not resolvable

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
22 months agodoc: 16.2.14 Release Notes 53107/head
Yuri Weinstein [Wed, 23 Aug 2023 19:52:43 +0000 (12:52 -0700)]
doc: 16.2.14 Release Notes

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
22 months agoMerge PR #52686 into main
Milind Changire [Tue, 29 Aug 2023 14:43:50 +0000 (20:13 +0530)]
Merge PR #52686 into main

* refs/pull/52686/head:
PendingReleaseNotes: note about mandatory fs argument
doc/cephfs: add note about mandatory --fs argument to snap-schedule
qa: add test for mandatory fs argument to snap-schedule commands
mgr/snap-schedule: tweaks to keep mypy happy
mgr/snap_schedule: validate fs before execution

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
22 months agoMerge pull request #53193 from rhcs-dashboard/progress-bar-color-fix
Nizamudeen A [Tue, 29 Aug 2023 14:23:04 +0000 (19:53 +0530)]
Merge pull request #53193 from rhcs-dashboard/progress-bar-color-fix

mgr/dashboard: fix progress bar color visibility

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
22 months agomgr/dashboard: fix cephfs create form validator 53208/head
Nizamudeen A [Tue, 29 Aug 2023 14:16:07 +0000 (19:46 +0530)]
mgr/dashboard: fix cephfs create form validator

dashboard was allowing to create a filesystem with / in its name but the
cli throws out error in doing so. And the created volume in dashboard
just gets ended up as a stale volume

Fixes: https://tracker.ceph.com/issues/62628
Signed-off-by: Nizamudeen A <nia@redhat.com>
22 months agomgr/dashboard: fix rgw page issues when hostname not resolvable 53133/head
Nizamudeen A [Thu, 24 Aug 2023 11:47:29 +0000 (17:17 +0530)]
mgr/dashboard: fix rgw page issues when hostname not resolvable

Fixes: https://tracker.ceph.com/issues/62396
Signed-off-by: Nizamudeen A <nia@redhat.com>
22 months agoMerge pull request #51964 from idryomov/wip-doc-drop-journal-max-fetch-bytes
Ilya Dryomov [Tue, 29 Aug 2023 12:43:00 +0000 (14:43 +0200)]
Merge pull request #51964 from idryomov/wip-doc-drop-journal-max-fetch-bytes

doc: drop mention of rbd_mirror_journal_max_fetch_bytes option

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
22 months agodoc: drop mention of rbd_mirror_journal_max_fetch_bytes option 51964/head
Ilya Dryomov [Wed, 7 Jun 2023 19:34:07 +0000 (21:34 +0200)]
doc: drop mention of rbd_mirror_journal_max_fetch_bytes option

It was removed in commit 1ef12ea0d29f ("rbd-mirror: remove
rbd_mirror_journal_max_fetch_bytes option") in 2019.  Commit
32375cb789d7 ("doc: misc clarity and capitalization") added a "tip"
mentioning it in 2020 in an attempt to capture advice [1].

[1] https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/thread/IHMGNFLWCD5E5R4W5S2BSSKEB5X3N4S4/

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
22 months agorbd-wnbd: wait for disks to become available 53136/head
Lucian Petrut [Thu, 24 Aug 2023 11:41:01 +0000 (11:41 +0000)]
rbd-wnbd: wait for disks to become available

After a WNBD mapping is created, the driver informs Storport that
the bus changed, expecting it to rescan the bus and expose the disk.
This is an asynchronous process and it usually takes a matter of
milliseconds, up to a few seconds under significant load.

The fsx librbd test ocasionally fails to open the disk as it isn't
ready yet. Unlike the Python rbd-wnbd test, it doesn't perform
any polling.

For convenience, WNBD now includes a helper function called
WnbdPollDiskNumber. We're going to use it to wait for the new
disk attachments to become available.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
22 months agoMerge pull request #53181 from joscollin/wip-stop-cephfs-mirror
Ilya Dryomov [Tue, 29 Aug 2023 09:26:34 +0000 (11:26 +0200)]
Merge pull request #53181 from joscollin/wip-stop-cephfs-mirror

stop.sh: kill cephfs-mirror, rbd-mirror

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