]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
19 months agodoc/rados: improve formatting of log-and-debug.rst 54731/head
Zac Dover [Thu, 30 Nov 2023 08:16:38 +0000 (09:16 +0100)]
doc/rados: improve formatting of log-and-debug.rst

Improve the arrangment of information in the section "Ceph Subsystems"
in doc/rados/troubleshooting/log-and-debug.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge PR #53431 into main
Venky Shankar [Thu, 30 Nov 2023 05:58:10 +0000 (11:28 +0530)]
Merge PR #53431 into main

* refs/pull/53431/head:
qa: add test cases to verify error reporting works as expected
mgr: fix some doc strings in object_format.py
mgr/tests: test returning error status works as expected
mgr: make object_format's Responder class capable of responding err status
mgr/nfs: report proper errno with err status

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge pull request #54631 from rishabh-d-dave/mgr-vol-tests
Rishabh Dave [Thu, 30 Nov 2023 05:17:42 +0000 (10:47 +0530)]
Merge pull request #54631 from rishabh-d-dave/mgr-vol-tests

qa/cephfs: improvements for name generators in test_volumes.py

Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge pull request #50359 from adamemerson/wip-remove-rgwsi_rados
Casey Bodley [Wed, 29 Nov 2023 21:54:36 +0000 (21:54 +0000)]
Merge pull request #50359 from adamemerson/wip-remove-rgwsi_rados

rgw: Remove `RGWSI_RADOS`

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54616 from rishabh-d-dave/mgr-vol-improvements
Rishabh Dave [Wed, 29 Nov 2023 19:20:26 +0000 (00:50 +0530)]
Merge pull request #54616 from rishabh-d-dave/mgr-vol-improvements

mgr/vol: make some improvements

Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge pull request #54308 from rishabh-d-dave/mgr-vol-flake-warnings
Rishabh Dave [Wed, 29 Nov 2023 19:19:28 +0000 (00:49 +0530)]
Merge pull request #54308 from rishabh-d-dave/mgr-vol-flake-warnings

mgr/vol: fix flake8 warnings

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
19 months agoMerge pull request #54424 from phlogistonjohn/jjm-cephadm-daemon-to-container
Adam King [Wed, 29 Nov 2023 18:48:46 +0000 (13:48 -0500)]
Merge pull request #54424 from phlogistonjohn/jjm-cephadm-daemon-to-container

cephadm: add a more generic daemon_to_container function

Reviewed-by: Adam King <adking@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` 50359/head
Adam C. Emerson [Tue, 6 Dec 2022 00:51:25 +0000 (19:51 -0500)]
rgw: Remove `RGWSI_RADOS`

And remove the last places that reference it.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` from `RGWSI_SysObj*`
Adam C. Emerson [Mon, 5 Dec 2022 22:10:51 +0000 (17:10 -0500)]
rgw: Remove `RGWSI_RADOS` from `RGWSI_SysObj*`

Simply use the RADOS handle and `rgw_rados_ref` directly.

Also make `rgw::AccessListFilter` a std::function.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` from `RGWSI_User_RADOS`
Adam C. Emerson [Fri, 2 Dec 2022 07:59:11 +0000 (02:59 -0500)]
rgw: Remove `RGWSI_RADOS` from `RGWSI_User_RADOS`

Simply use the RADOS handle and `rgw_rados_ref` directly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` from `RGWSI_Zone_Tools`
Adam C. Emerson [Fri, 2 Dec 2022 07:49:09 +0000 (02:49 -0500)]
rgw: Remove `RGWSI_RADOS` from `RGWSI_Zone_Tools`

Simply use the RADOS handle directly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` from `RGWSI_Zone`
Adam C. Emerson [Fri, 2 Dec 2022 07:30:39 +0000 (02:30 -0500)]
rgw: Remove `RGWSI_RADOS` from `RGWSI_Zone`

Simply use the RADOS handle directly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` from `RGWSI_Notify`
Adam C. Emerson [Fri, 2 Dec 2022 07:17:44 +0000 (02:17 -0500)]
rgw: Remove `RGWSI_RADOS` from `RGWSI_Notify`

Simply use the RADOS handle directly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` from `RGWSI_MDLog`
Adam C. Emerson [Fri, 2 Dec 2022 06:55:47 +0000 (01:55 -0500)]
rgw: Remove `RGWSI_RADOS` from `RGWSI_MDLog`

Simply use the RADOS handle and `rgw_rados_ref` directly.

Also move `async_processor` out from `RGWSI_RADOS` and into
`RGWServices_Def`. This is as good a place as it for any, for now, as
it's reachable by everyone who needs it and exists through the
lifetime of the process.

Eventually it's going to go away due to coroutinization, anyway.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` from `RGWSI_ConfigKey_RADOS`
Adam C. Emerson [Fri, 2 Dec 2022 06:14:02 +0000 (01:14 -0500)]
rgw: Remove `RGWSI_RADOS` from `RGWSI_ConfigKey_RADOS`

Simply use the RADOS handle directly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove `RGWSI_RADOS` from `RGWSI_Cls`
Adam C. Emerson [Fri, 2 Dec 2022 05:55:48 +0000 (00:55 -0500)]
rgw: Remove `RGWSI_RADOS` from `RGWSI_Cls`

Simply use the RADOS handle and `rgw_rados_ref` directly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Remove RGWSI_RADOS from RGWSI_BI_RADOS
Adam C. Emerson [Fri, 2 Dec 2022 05:26:00 +0000 (00:26 -0500)]
rgw: Remove RGWSI_RADOS from RGWSI_BI_RADOS

Simply use the RADOS handle and `rgw_rados_ref` directly.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agorgw: Distentangle `rgw_rados_ref` from `RGWSI_RADOS`
Adam C. Emerson [Fri, 2 Dec 2022 04:25:54 +0000 (23:25 -0500)]
rgw: Distentangle `rgw_rados_ref` from `RGWSI_RADOS`

`RGWSI_RADOS` has no reason to exist. `rgw_rados_ref`, on the other
hand, is fairly useful. Move `rgw_rados_ref` to
`store/rados/rgw_tools.h` along with a function to create one.

Then clean up the fallout.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
19 months agoMerge pull request #54619 from cbodley/wip-rgw-sal-get-stats-async
Casey Bodley [Wed, 29 Nov 2023 16:24:26 +0000 (16:24 +0000)]
Merge pull request #54619 from cbodley/wip-rgw-sal-get-stats-async

rgw/sal: clean up read_stats_async() callbacks

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agoMerge pull request #54582 from phlogistonjohn/jjm-cephadm-more-template-error
Adam King [Wed, 29 Nov 2023 15:55:54 +0000 (10:55 -0500)]
Merge pull request #54582 from phlogistonjohn/jjm-cephadm-more-template-error

cephadm: add a custom template not found exception with diagnostic info

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
19 months agoqa/cephfs: improvements for name generators in test_volumes.py 54631/head
Rishabh Dave [Thu, 23 Nov 2023 10:40:00 +0000 (16:10 +0530)]
qa/cephfs: improvements for name generators in test_volumes.py

Generate a name that is shorter and easier to remember.

Also, write a simpler, faster & better helper method for generating
unique names. This method will also have shorter and more concise name,
so this will be easier to type and easier to read.

Fixes: https://tracker.ceph.com/issues/63680
Signed-off-by: Rishabh Dave <ridave@redhat.com>
19 months agoMerge pull request #54618 from alimaredia/wip-remove-vstart-runner-radosgw-admin...
Casey Bodley [Wed, 29 Nov 2023 15:18:57 +0000 (15:18 +0000)]
Merge pull request #54618 from alimaredia/wip-remove-vstart-runner-radosgw-admin-task

qa: remove vstart runner from radosgw_admin task

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54578 from ronen-fr/wip-rf-dedup-clang
Ronen Friedman [Wed, 29 Nov 2023 13:39:37 +0000 (15:39 +0200)]
Merge pull request #54578 from ronen-fr/wip-rf-dedup-clang

tools: modify ceph_dedup_tool to maintain Clang 15 compatibility

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #48483 from batrick/i48673
Venky Shankar [Wed, 29 Nov 2023 10:13:54 +0000 (15:43 +0530)]
Merge pull request #48483 from batrick/i48673

mds: revert standby-replay trimming changes

Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agoMerge pull request #54287 from Matan-B/wip-matanb-crimson-do_osd_ops_execute-v3
Matan Breizman [Wed, 29 Nov 2023 08:13:41 +0000 (10:13 +0200)]
Merge pull request #54287 from Matan-B/wip-matanb-crimson-do_osd_ops_execute-v3

crimson/osd: execute `submit_error_log` as an ExclusivePhase

Reviewed-by: Samuel Just <sjust@redhat.com>
19 months agoMerge pull request #54209 from VallariAg/wip-xml-scanner
Vallari Agrawal [Wed, 29 Nov 2023 06:51:02 +0000 (12:21 +0530)]
Merge pull request #54209 from VallariAg/wip-xml-scanner

qa: use Remote.run_unit_test and ValgrindScanner

19 months agoMerge pull request #54685 from zdover23/wip-doc-2023-11-28-rados-tshooting-log-and...
zdover23 [Wed, 29 Nov 2023 04:39:10 +0000 (05:39 +0100)]
Merge pull request #54685 from zdover23/wip-doc-2023-11-28-rados-tshooting-log-and-debug-small-repair

doc/rados: improve "Ceph Subsystems"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agoMerge pull request #54684 from zdover23/wip-doc-2023-11-28-rados-ops-pgs-typo
zdover23 [Wed, 29 Nov 2023 04:34:43 +0000 (05:34 +0100)]
Merge pull request #54684 from zdover23/wip-doc-2023-11-28-rados-ops-pgs-typo

doc/rados: ops/pgs: s/power of 2/power of two

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodoc/rados: improve "Ceph Subsystems" 54685/head
Zac Dover [Tue, 28 Nov 2023 05:08:48 +0000 (06:08 +0100)]
doc/rados: improve "Ceph Subsystems"

Improve the English in the subsection "Ceph Subsystems" in the section
"Subsystem, Log and Debug Settings" [sic] in
doc/rados/troubleshooting/log-and-debug.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agodoc/rados: ops/pgs: s/power of 2/power of two 54684/head
Zac Dover [Tue, 28 Nov 2023 04:29:50 +0000 (05:29 +0100)]
doc/rados: ops/pgs: s/power of 2/power of two

Change "power of 2" to "power of two" in
doc/rados/operations/placement-groups.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoMerge pull request #51229 from jsoref/spelling-rgw
Daniel Gryniewicz [Tue, 28 Nov 2023 14:38:01 +0000 (09:38 -0500)]
Merge pull request #51229 from jsoref/spelling-rgw

rgw: Fix spelling

19 months agoMerge pull request #53456 from petrutlucian94/dokan_case_insensitive
Venky Shankar [Tue, 28 Nov 2023 13:58:20 +0000 (19:28 +0530)]
Merge pull request #53456 from petrutlucian94/dokan_case_insensitive

dokan: simple case insensitive emulation

Reviewed-by: Venky Shankar <vshankar@redhat.com>
19 months agomgr/vol: rectify variable name 54616/head
Rishabh Dave [Sun, 19 Nov 2023 10:46:27 +0000 (16:16 +0530)]
mgr/vol: rectify variable name

Method "open_clone_subvolume_pair()" returns subvolumes, yet return
value is named as clone_volume. Rectify this mistake.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
19 months agoqa: remove vstart runner from radosgw_admin task 54618/head
Ali Maredia [Wed, 22 Nov 2023 15:57:41 +0000 (10:57 -0500)]
qa: remove vstart runner from radosgw_admin task

Fixes: https://tracker.ceph.com/issues/63583
Signed-off-by: Ali Maredia <amaredia@redhat.com>
19 months agoMerge pull request #54621 from cbodley/wip-rgw-posix-warning 54658/head
Casey Bodley [Mon, 27 Nov 2023 17:16:05 +0000 (17:16 +0000)]
Merge pull request #54621 from cbodley/wip-rgw-posix-warning

rgw/posix: fix unused variable warning

Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agorgw: fix spelling errors 51229/head
Josh Soref [Thu, 23 Jun 2022 01:24:12 +0000 (21:24 -0400)]
rgw: fix spelling errors

* access
* acquire
* across
* algorithm
* alternatively
* ambiguous
* attributes
* authenticated
* automatically
* based
* between
* beware
* bootstrap
* bucket
* cache
* character
* check
* cleanup
* combinations
* committed
* comparison
* compatibility
* concurrent
* conditions
* conjunction
* connections
* considered
* contains
* correct
* creates
* crypto
* dependencies
* dequeued
* dequeuing
* derivative
* described
* determine
* deterministic
* detritus
* discrepancy
* display
* either way
* elements
* entirely
* entries
* error
* everything
* expected
* explicitly
* extend
* false
* fclose
* feature
* following
* foreign
* format
* forward
* functionality
* functions
* generated
* getting
* gracefully
* happened
* hashicorp
* healthcheck
* hierarchy
* however
* http
* identify
* idleness
* ignored
* incremental
* information
* initialization
* length
* locally
* macros
* malformed
* means
* mechanism
* multipart
* multiple
* must
* namespace
* necessary
* nonexistent
* notifications
* occurred
* official
* outputs
* outputted
* overridden
* ownership
* parallelism
* partition
* passthrough
* pause
* penguin
* perform
* permission
* populated
* position
* preferably
* prefixes
* presumably
* previous
* print
* quadruple
* reference
* regardless
* registry
* renewed
* request
* requires
* reshard
* resource
* result to
* satisfy
* secret
* separate
* separator
* setting
* shouldn't
* skipping
* some
* somehow
* something
* specific
* struct
* succeeded
* success
* successful
* successfully
* syntax
* testing
* truncated
* unambiguously
* unittest
* unmodified
* unnecessary
* valid_action
* verifying
* versioning
* visible
* whatever
* whenever

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
19 months agorgw: rewrite rgw_admin help text
Josh Soref [Thu, 23 Jun 2022 08:11:09 +0000 (04:11 -0400)]
rgw: rewrite rgw_admin help text

* The line wrapping was fairly random.
* There were cases where words appeared to be doubled.
  - In fact one was an argument
  - the other was the start of the help text.

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
19 months agoMerge pull request #54626 from cbodley/wip-cmake-rocksdb-uring
Casey Bodley [Mon, 27 Nov 2023 14:20:31 +0000 (14:20 +0000)]
Merge pull request #54626 from cbodley/wip-cmake-rocksdb-uring

cmake/rocksdb: make sure dependencies build before rocksdb

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
19 months agoMerge pull request #54531 from rhcs-dashboard/port-manipulation-rgw
Nizamudeen A [Mon, 27 Nov 2023 12:18:33 +0000 (17:48 +0530)]
Merge pull request #54531 from rhcs-dashboard/port-manipulation-rgw

mgr/dashboard: get rgw port from ssl_endpoint

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
19 months agoMerge pull request #54459 from AliMasarweh/wip-alimasa-2pc-remove-issue
Ali Masarwa [Mon, 27 Nov 2023 10:43:46 +0000 (12:43 +0200)]
Merge pull request #54459 from AliMasarweh/wip-alimasa-2pc-remove-issue

RGW: make new rados support old RGW 2pc remove

Reviewed-by: yuvalif, cbodley
19 months agoMerge pull request #54664 from zdover23/wip-doc-2023-11-27-rados-troubleshooting...
zdover23 [Mon, 27 Nov 2023 05:57:01 +0000 (15:57 +1000)]
Merge pull request #54664 from zdover23/wip-doc-2023-11-27-rados-troubleshooting-troubleshooting-mon-everything-failed

doc/rados: edit "Everything Failed! Now What?"

Reviewed-by: Antony D'Atri <anthony.datri@gmail.com>
19 months agodoc/rados: edit "Everything Failed! Now What?" 54664/head
Zac Dover [Mon, 27 Nov 2023 00:17:17 +0000 (10:17 +1000)]
doc/rados: edit "Everything Failed! Now What?"

Edit the section "Everything Failed! Now what?" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Co-authored-by: Anthoy D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agoRGW: make new rados support old RGW 2pc remove 54459/head
Ali Masarwa [Tue, 31 Oct 2023 13:55:41 +0000 (15:55 +0200)]
RGW: make new rados support old RGW 2pc remove

Signed-off-by: Ali Masarwa <ali.saed.masarwa@gmail.com>
19 months agoMerge pull request #53290 from ThomasLamprecht/debian-fix-ceph-mgr-requires
Kefu Chai [Sun, 26 Nov 2023 08:28:55 +0000 (16:28 +0800)]
Merge pull request #53290 from ThomasLamprecht/debian-fix-ceph-mgr-requires

debian: add missing bcrypt to ceph-mgr .requires to fix resulting package dependencies

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
19 months agoMerge pull request #54656 from zdover23/wip-doc-2023-11-25-rados-troubleshooting...
zdover23 [Sun, 26 Nov 2023 04:04:20 +0000 (14:04 +1000)]
Merge pull request #54656 from zdover23/wip-doc-2023-11-25-rados-troubleshooting-mon-mon-store-failures-1-of-x

doc/rados: edit "monitor store failures"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodebian: add missing bcrypt to manager .requires 53290/head
Thomas Lamprecht [Tue, 5 Sep 2023 11:28:07 +0000 (13:28 +0200)]
debian: add missing bcrypt to manager .requires

The `ceph-mgr` package lost its dependency on `python3-bcrypt` when
the dependencies got moved from d/control to a dh_python3 compatible
requires file. Add it again as the bcrypt module is still used there.

Otherwise one gets errors when, e.g., calling `ceph -s` after a fresh
installation:

> 13 mgr modules have failed dependencies
> Module 'balancer' has failed dependency: No module named 'bcrypt'
> Module 'crash' has failed dependency: No module named 'bcrypt'
> Module 'devicehealth' has failed dependency: No module named 'bcrypt'
> Module 'iostat' has failed dependency: No module named 'bcrypt'
> Module 'nfs' has failed dependency: No module named 'bcrypt'
> Module 'orchestrator' has failed dependency: No module named 'bcrypt'
> Module 'pg_autoscaler' has failed dependency: No module named 'bcrypt'
> Module 'progress' has failed dependency: No module named 'bcrypt'
> Module 'rbd_support' has failed dependency: No module named 'bcrypt'
> Module 'restful' has failed dependency: No module named 'bcrypt'
> Module 'status' has failed dependency: No module named 'bcrypt'
> Module 'telemetry' has failed dependency: No module named 'bcrypt'
> Module 'volumes' has failed dependency: No module named 'bcrypt'

Fixes: https://tracker.ceph.com/issues/63637
Fixes: ef19547e83e ("debian: add .requires for specifying python3 deps")
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
19 months agodoc/rados: edit "monitor store failures" 54656/head
Zac Dover [Fri, 24 Nov 2023 21:33:24 +0000 (07:33 +1000)]
doc/rados: edit "monitor store failures"

Edit the section "Monitor Store Failures" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agomgr/vol: re-write for better readability
Rishabh Dave [Sun, 19 Nov 2023 10:56:16 +0000 (16:26 +0530)]
mgr/vol: re-write for better readability

Instead of writing like this  -

  if abcd1.abcd2(abcd3) and abcd4 == abcd5
print('efgh6')
  if abcd7.abcd8(abcd9) and abcd4 == abcd5
print('efgh10')

Write like this because it easier to read, especially in case of the
patch where condition under is really long -

  if abcd4 == abcd5:
    if abcd1.abcd2(abcd3):
print('abcd4')
    if abcd5.abcd8(abcd9):
print('abcd5')

Signed-off-by: Rishabh Dave <ridave@redhat.com>
19 months agoMerge pull request #54625 from zdover23/wip-doc-2023-11-23-rados-troubleshooting...
zdover23 [Fri, 24 Nov 2023 21:06:53 +0000 (07:06 +1000)]
Merge pull request #54625 from zdover23/wip-doc-2023-11-23-rados-troubleshooting-mon-client-cant-connect

doc/rados: edit "client can't connect..."

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
19 months agoMerge pull request #52931 from yuvalif/wip-yuval-lua-teuthology
Yuval Lifshitz [Fri, 24 Nov 2023 09:38:51 +0000 (11:38 +0200)]
Merge pull request #52931 from yuvalif/wip-yuval-lua-teuthology

rgw/test/lua: add lua integration tests suite

reviewed-by: TRYTOBE8TME, cbodley

19 months agoMerge pull request #54637 from yuvalif/wip-yuval-62136
Yuval Lifshitz [Fri, 24 Nov 2023 09:36:03 +0000 (11:36 +0200)]
Merge pull request #54637 from yuvalif/wip-yuval-62136

rgw/test/kafka: let consumer read events from the beginning

reviewed-by: thotz

19 months agoMerge pull request #54516 from cbodley/wip-63537
Casey Bodley [Fri, 24 Nov 2023 02:47:55 +0000 (02:47 +0000)]
Merge pull request #54516 from cbodley/wip-63537

rgw: object lock avoids 32-bit truncation of RetainUntilDate

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agoencoding: use concepts for chrono encoding 54516/head
Casey Bodley [Wed, 15 Nov 2023 20:28:46 +0000 (15:28 -0500)]
encoding: use concepts for chrono encoding

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw: object lock uses 64-bit encoding for RetainUntilDate
Casey Bodley [Wed, 15 Nov 2023 21:24:47 +0000 (16:24 -0500)]
rgw: object lock uses 64-bit encoding for RetainUntilDate

the default encoding of ceph::real_time truncates seconds to uint32_t,
so stores the wrong timestamp for object lock enforcement

Fixes: https://tracker.ceph.com/issues/63537
Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoencoding: add round_trip_encode()/decode() for chrono types
Casey Bodley [Wed, 15 Nov 2023 20:29:35 +0000 (15:29 -0500)]
encoding: add round_trip_encode()/decode() for chrono types

the default encodings for chrono types were made to be
backward-compatible with utime_t, so truncated seconds to 32 bits

adds new functions that encode these chrono types using their underlying
representation, which for ceph::real_time and ceph::timespan is
'nanoseconds as uint64_t'

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54600 from cbodley/wip-rgw-period-realm-name-encode
Casey Bodley [Fri, 24 Nov 2023 00:15:53 +0000 (00:15 +0000)]
Merge pull request #54600 from cbodley/wip-rgw-period-realm-name-encode

rgw: fix RGWPeriod encoding after removing realm_name

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
Reviewed-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
19 months agoMerge pull request #54297 from linuxbox2/wip-librgw-tcmalloc
Casey Bodley [Fri, 24 Nov 2023 00:15:02 +0000 (00:15 +0000)]
Merge pull request #54297 from linuxbox2/wip-librgw-tcmalloc

rgw: link only radosgw with ALLOC_LIBS

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #53504 from davidhall586/Bug62105
Casey Bodley [Fri, 24 Nov 2023 00:14:08 +0000 (00:14 +0000)]
Merge pull request #53504 from davidhall586/Bug62105

rgw: SignatureDoesNotMatch for certain RGW Admin Ops endpoints w/v4 auth

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #50148 from cbodley/wip-58750
Casey Bodley [Fri, 24 Nov 2023 00:13:17 +0000 (00:13 +0000)]
Merge pull request #50148 from cbodley/wip-58750

rgw: Head/GetObject support partNumber

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
19 months agoMerge pull request #50790 from jzhu116-bloomberg/wip-51772
Casey Bodley [Fri, 24 Nov 2023 00:10:01 +0000 (00:10 +0000)]
Merge pull request #50790 from jzhu116-bloomberg/wip-51772

rgw/swift: preserve dashes/underscores in swift user metadata names

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw: fix the ret cond check CreateBucket::Execute() 50790/head
Jane Zhu [Wed, 1 Nov 2023 16:32:52 +0000 (12:32 -0400)]
rgw: fix the ret cond check CreateBucket::Execute()

Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
19 months agorgw: modify ret cond in middle of CreateBucket::Execute()
Ali Maredia [Wed, 20 Sep 2023 04:12:15 +0000 (04:12 +0000)]
rgw: modify ret cond in middle of CreateBucket::Execute()

Return prevents swift metadata from being removed
if bucket already exists.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
19 months agorgw/swift: convert underscores to hyphens in swift user metadata names
Jane Zhu [Tue, 8 Aug 2023 08:17:47 +0000 (04:17 -0400)]
rgw/swift: convert underscores to hyphens in swift user metadata names

Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
19 months agorgw/swift: preserve dashes/underscores in swift user metadata names
Jane Zhu [Thu, 30 Mar 2023 05:23:55 +0000 (01:23 -0400)]
rgw/swift: preserve dashes/underscores in swift user metadata names

Signed-off-by: Juan Zhu <jzhu116@bloomberg.net>
19 months agoMerge pull request #54641 from likid0/ceph_session_tags_fixes
Anthony D'Atri [Thu, 23 Nov 2023 22:38:42 +0000 (17:38 -0500)]
Merge pull request #54641 from likid0/ceph_session_tags_fixes

doc/radosgw: Fix JSON typo in Principal Tag example code snippet

19 months agodoc/radosgw: Fix JSON typo in Principal Tag example code snippet 54641/head
Daniel Parkes [Thu, 23 Nov 2023 21:15:52 +0000 (22:15 +0100)]
doc/radosgw: Fix JSON typo in Principal Tag example code snippet

Signed-off-by: Daniel Parkes <dparkes@redhat.com>
19 months agorgw/quota: remove base class AsyncRefreshHandler 54619/head
Casey Bodley [Wed, 22 Nov 2023 19:42:07 +0000 (14:42 -0500)]
rgw/quota: remove base class AsyncRefreshHandler

instead of using a virtual `allocate_refresh_handler()` to create an
object to call the virtual `AsyncRefreshHandler::init_fetch()` on, just
provide one virtual `init_refresh()` to start the operation. this avoids
the need for `AsyncRefreshHandler` altogether

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/quota: use intrusive_ptr for RefCountedWaitObject
Casey Bodley [Wed, 22 Nov 2023 19:29:23 +0000 (14:29 -0500)]
rgw/quota: use intrusive_ptr for RefCountedWaitObject

instead of relying on async_refresh_response/fail to manage ref counts
manually, just stash an intrusive_ptr in AsyncRefreshHandler for the
duration of the async operation

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agocls/rgw: cls_bucket_head_async uses intrusive_ptr for RGWGetDirHeader_CB
Casey Bodley [Wed, 22 Nov 2023 17:32:14 +0000 (12:32 -0500)]
cls/rgw: cls_bucket_head_async uses intrusive_ptr for RGWGetDirHeader_CB

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/sal: unify ReadStatsCB for async user/bucket stats
Casey Bodley [Wed, 22 Nov 2023 16:20:26 +0000 (11:20 -0500)]
rgw/sal: unify ReadStatsCB for async user/bucket stats

`rgw::sal::Bucket::read_stats_async()` had returned stats as
`map<RGWObjCategory, RGWStorageStats>`, but the only caller in
rgw_quota.cc just summed up the categories into a single instance
of `RGWStorageStats`. moving this summation up into rgw_rados'
`RGWGetBucketStatsContext` allows us to unify these sal callbacks
around `RGWStorageStats` alone

the `RGWGetUserStats_CB`/`RGWGetBucketStats_CB` callbacks had inherited
from `RefCountedObject` and required manual reference counting. switch
to `boost::intrusive_ptr` for scope-based shared ownership

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/sal: RGWGetUserStats_CB cleanup
Casey Bodley [Wed, 22 Nov 2023 14:19:37 +0000 (09:19 -0500)]
rgw/sal: RGWGetUserStats_CB cleanup

the base class doesn't need member variables. the derived class in
rgw_quota.cc accepts stats by const-ref

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agomgr/vol: fix flake8 warnings 54308/head
Rishabh Dave [Thu, 2 Nov 2023 15:15:27 +0000 (20:45 +0530)]
mgr/vol: fix flake8 warnings

Fix warnings printed by the command "flake8 --select=F,E9
--exclude=venv,.tox src/pybind/mgr/volumes/".

While working with mgr/vol, syntax errors are not printed anywhere. Any
attempt to run vstart.sh after such faulty patch causes vstart.sh to go
in a infinite loop. And running "ceph fs volume" command prints "no such
command exists". This doesn't tell the actual issue and causes
confusion.

When flake8 is run, the issue is not immediately apparent due to so many
warnings. Therefore, fix these warnings so that it becomes easier to
spot such critical issues here onwards.

Note: mypy uses comments like "#type: Dict" for type checking and
therefore counts 'from typechecking import Dict' as not unsued. But
flake8 doesn't recognize type hints embedded in comment. Therfore,
switch to actually using type hints instead of adding type hints to
comments.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
19 months agoqa/cephfs: don't write guest keyring to file "keyring"
Rishabh Dave [Fri, 10 Nov 2023 14:53:33 +0000 (20:23 +0530)]
qa/cephfs: don't write guest keyring to file "keyring"

Writing guest keyring to CWD's file named "keyring" will over-write
build/keyring on developer's machine which will make the cluster
inoperatable and also fail the test.

Fixes: https://tracker.ceph.com/issues/63506
Signed-off-by: Rishabh Dave <ridave@redhat.com>
19 months agorgw/test/lua: add lua integration tests suite 52931/head
Yuval Lifshitz [Mon, 3 Jul 2023 07:06:51 +0000 (07:06 +0000)]
rgw/test/lua: add lua integration tests suite

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
Fixes: https://tracker.ceph.com/issues/63616
19 months agorgw/lua: print luarocks config during reload
Yuval Lifshitz [Mon, 23 Oct 2023 13:46:06 +0000 (13:46 +0000)]
rgw/lua: print luarocks config during reload

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agorgw/test/kafka: let consumer read events from the beginning 54637/head
Yuval Lifshitz [Thu, 23 Nov 2023 14:29:04 +0000 (14:29 +0000)]
rgw/test/kafka: let consumer read events from the beginning

in some cases the RGW may publish the notifications before the kafka
consumer started reading the events from the topic

Fixes: https://tracker.ceph.com/issues/62136
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
19 months agoMerge pull request #54632 from zdover23/wip-doc-2023-11-23-rados-troubleshooting...
Anthony D'Atri [Thu, 23 Nov 2023 12:55:24 +0000 (07:55 -0500)]
Merge pull request #54632 from zdover23/wip-doc-2023-11-23-rados-troubleshooting-mon-restart-mon-debug-levels-formatting

doc/rados: format sections in tshooting-mon.rst

19 months agodoc/rados: format sections in tshooting-mon.rst 54632/head
Zac Dover [Thu, 23 Nov 2023 11:54:54 +0000 (21:54 +1000)]
doc/rados: format sections in tshooting-mon.rst

Format definition lists in the section "Do I need to restart a monitor
to adjust debug levels?" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agocmake/rocksdb: make sure dependencies build before rocksdb 54626/head
Casey Bodley [Thu, 23 Nov 2023 05:12:29 +0000 (00:12 -0500)]
cmake/rocksdb: make sure dependencies build before rocksdb

some of rocksdb's dependencies may not have built by the time its
ExternalProject starts, so it can fail with missing headers or
libraries. for example, `uring::uring` may itself be an ExternalProject,
and its include directory won't exist until it starts building:

```
[89/1345] Performing configure step for 'rocksdb_ext'
FAILED: src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-configure build/src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-configure
...
CMake Error in CMakeLists.txt:
  Imported target "uring::uring" includes non-existent path

    "build/src/liburing/src/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.
...
[91/1345] Performing download step (git clone) for 'liburing_ext'
Cloning into 'liburing'...
```

use `add_dependencies(rocksdb_ext)` to make sure all of its dependencies
are available before starting the build

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agomgr/vol: add comments in async_cloner
Rishabh Dave [Sun, 19 Nov 2023 11:42:51 +0000 (17:12 +0530)]
mgr/vol: add comments in async_cloner

It's not obvious where the clone creation is performed. It's especially
obfuscated because we call the function/method for cloning indirectly.
Therefore, add comments where necessary and mark it with heavy rating.

Same goes for all other "subvolume snapshot clone" operations.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
19 months agodoc/rados: edit "client can't connect..." 54625/head
Zac Dover [Thu, 23 Nov 2023 04:59:24 +0000 (14:59 +1000)]
doc/rados: edit "client can't connect..."

Edit the section "Client can't connect or mount" in the file
doc/rados/troubleshooting/troubleshooting-mon.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agorgw/posix: fix unused variable warning 54621/head
Casey Bodley [Wed, 22 Nov 2023 19:26:50 +0000 (14:26 -0500)]
rgw/posix: fix unused variable warning

ceph/src/rgw/driver/posix/rgw_sal_posix.cc:37:19: warning: unused variable 'MP_OBJ_PART_FMT' [-Wunused-const-variable]
const std::string MP_OBJ_PART_FMT = "{:0>5}";
                  ^

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #54599 from cbodley/wip-crush-test-warnings
Casey Bodley [Wed, 22 Nov 2023 13:20:25 +0000 (13:20 +0000)]
Merge pull request #54599 from cbodley/wip-crush-test-warnings

crush: remove unused variables

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
19 months agoMerge pull request #53291 from petrutlucian94/unicode
Ilya Dryomov [Wed, 22 Nov 2023 11:03:59 +0000 (12:03 +0100)]
Merge pull request #53291 from petrutlucian94/unicode

common: Windows Unicode support

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
19 months agotest: fix Windows ::_creat 53291/head
Lucian Petrut [Mon, 6 Nov 2023 14:58:08 +0000 (14:58 +0000)]
test: fix Windows ::_creat

The Windows Universal C Runtime (ucrt) "_creat" function is no
longer POSIX compatible and requires Windows specific mode flags.

We got admin socket test failures after switching from msvcrt to
uscrt.

We'll address the issue with some platform checks.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
19 months agocommon: Windows Unicode CLI support
Lucian Petrut [Fri, 18 Aug 2023 12:25:52 +0000 (12:25 +0000)]
common: Windows Unicode CLI support

Windows CLI arguments use either ANSI (main()) or UTF-16 (wmain()).
Meanwhile, Ceph libraries expect UTF-8 and raise exceptions when
trying to use Unicode CLI arguments or log Unicode output:

  rbd.exe create test_unicode_șțăâ --size=32M
  terminate called after throwing an instance of 'std::runtime_error'
    what():  invalid utf8

We'll use a Windows application manifest, setting the "activeCodePage"
property [1][2]. This enables the Windows UCRT UTF-8 mode so that
functions that receive char* arguments will expect UTF-8 instead of ANSI,
including main(). One exception is CreateProcess, which will need the
UTF-16 form (CreateProcessW).

Despite the locale being set to utf-8, we'll have to explicitly set
the console output to utf-8 using SetConsoleOutputCP(CP_UTF8).

In order to use the UTF-8 locale, we'll have to switch the mingw-llvm
runtime from msvcrt to ucrt.

This also fixes ceph-dokan crashes that currently occur when non-ANSI
paths are logged.

[1] https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests#activecodepage
[2] https://learn.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
19 months agoMerge pull request #54566 from badone/wip-python-version-fedora-39 54567/head
Brad Hubbard [Tue, 21 Nov 2023 23:44:22 +0000 (09:44 +1000)]
Merge pull request #54566 from badone/wip-python-version-fedora-39

do_cmake.sh: set python version for Fedora 39

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
19 months agoMerge pull request #54447 from ceph/wip-fix-flight-load-bucket
J. Eric Ivancich [Tue, 21 Nov 2023 21:36:53 +0000 (16:36 -0500)]
Merge pull request #54447 from ceph/wip-fix-flight-load-bucket

rgw: fix flight load_bucket call

Reviewed-by: Casey Bodley <cbodley@redhat.com>
19 months agoMerge pull request #47208 from 5cs/fix-lambda-capture-by-ref
J. Eric Ivancich [Tue, 21 Nov 2023 21:36:27 +0000 (16:36 -0500)]
Merge pull request #47208 from 5cs/fix-lambda-capture-by-ref

rgwlc: lock_lambda overwrites ret val

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
19 months agoMerge pull request #54598 from zdover23/wip-doc-2023-11-22-rados-troubleshooting...
zdover23 [Tue, 21 Nov 2023 19:56:33 +0000 (05:56 +1000)]
Merge pull request #54598 from zdover23/wip-doc-2023-11-22-rados-troubleshooting-mon-recovering-broken-monmap

doc/rados: edit "recovering broken monmap"

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
19 months agodoc/rados: edit "recovering broken monmap" 54598/head
Zac Dover [Tue, 21 Nov 2023 17:54:19 +0000 (03:54 +1000)]
doc/rados: edit "recovering broken monmap"

Edit the section "Recovering a monitor's broken monmap" in
doc/rados/troubleshooting/troubleshooting-mon.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
19 months agorgw: fix RGWPeriod encoding after removing realm_name 54600/head
Casey Bodley [Tue, 21 Nov 2023 19:25:11 +0000 (14:25 -0500)]
rgw: fix RGWPeriod encoding after removing realm_name

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agocrush: remove unused variables 54599/head
Casey Bodley [Tue, 21 Nov 2023 18:44:40 +0000 (13:44 -0500)]
crush: remove unused variables

[161/715] Building CXX object src/crush/CMakeFiles/crush_objs.dir/CrushTester.cc.o
ceph/src/crush/CrushTester.cc:478:7: warning: variable 'num_devices_active' set but not used [-Wunused-but-set-variable]
  int num_devices_active = 0;
      ^
1 warning generated.
[165/715] Building CXX object src/crush/CMakeFiles/crush_objs.dir/CrushWrapper.cc.o
ceph/src/crush/CrushWrapper.cc:1579:9: warning: variable 'local_changed' set but not used [-Wunused-but-set-variable]
    int local_changed = 0;
        ^

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw: non-multipart uploads serve entire range on partNumber=1 50148/head
Casey Bodley [Wed, 11 Oct 2023 21:45:17 +0000 (17:45 -0400)]
rgw: non-multipart uploads serve entire range on partNumber=1

and omit the x-amz-mp-parts-count response header

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agoReleaseNotes: document support for partNumber
Casey Bodley [Thu, 3 Aug 2023 20:52:43 +0000 (16:52 -0400)]
ReleaseNotes: document support for partNumber

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/rados: RadosReadOp::prepare only updates object instance
Casey Bodley [Mon, 20 Feb 2023 22:27:28 +0000 (17:27 -0500)]
rgw/rados: RadosReadOp::prepare only updates object instance

when called on a versioned object, prepare() may follow olh and look up
a different object instance

but when called on a multipart part, we should not overwrite the
original object name with the part's object name (of the form
mymultipart.2~_XLFNqOW0NuiALg7q4-Hi_7hdtAkZUH.1)

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/rados: part support for RGWRados::Object::Read
Casey Bodley [Fri, 17 Feb 2023 13:47:05 +0000 (08:47 -0500)]
rgw/rados: part support for RGWRados::Object::Read

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/rados: add obj_find_part() to RGWObjManifest
Casey Bodley [Mon, 20 Feb 2023 16:17:34 +0000 (11:17 -0500)]
rgw/rados: add obj_find_part() to RGWObjManifest

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/rados: add get_obj_state() overload for RGWObjStateManifest
Casey Bodley [Mon, 20 Feb 2023 13:08:01 +0000 (08:08 -0500)]
rgw/rados: add get_obj_state() overload for RGWObjStateManifest

add an overload to expose the manifest storage to callers of
get_obj_state(). the existing RGWObjState+RGWObjManifest overload
just calls the RGWObjStateManifest one

Signed-off-by: Casey Bodley <cbodley@redhat.com>
19 months agorgw/rados: remove get_obj_state() overload for follow_olh=true
Casey Bodley [Mon, 20 Feb 2023 13:06:52 +0000 (08:06 -0500)]
rgw/rados: remove get_obj_state() overload for follow_olh=true

and just add the follow_olh=true argument to callers

Signed-off-by: Casey Bodley <cbodley@redhat.com>