Ramana Raja [Tue, 23 Jan 2024 21:07:04 +0000 (16:07 -0500)]
rbd-nbd: log errors during netlink_resize() using derr
When using rbd CLI to map the images to NBD devices via netlink,
any errors that arose during image resizing in netlink_resize()
were not logged. Switching the error logging from using cerr to
derr helps log the errors from netlink_resize().
Ramana Raja [Mon, 22 Jan 2024 22:06:58 +0000 (17:06 -0500)]
rbd_nbd: fix resize of images mapped using netlink
Include device identifier or cookie in the message sent to the kernel
to resize images mapped to NBD devices using netlink. Otherwise,
netlink_resize() fails and the size of the device isn't updated.
Fixes: https://tracker.ceph.com/issues/64139 Signed-off-by: Ramana Raja <rraja@redhat.com>
Matan Breizman [Thu, 7 Dec 2023 13:48:02 +0000 (13:48 +0000)]
crimson/osd/pg: submit_error_log cleanup
* error log completion logic is moved into maybe_submit_error_log
* renamed it and it2
* maybe_submit_error_log is moved outside of failure_func
* failure_func no longer gets rep_tid and record_error params
* log_entry_version is removed, submit_error_log returns the version instead
Rishabh Dave [Tue, 16 Jan 2024 12:09:21 +0000 (17:39 +0530)]
Merge pull request #54590 from vshankar/wip-57087
qa: set mds config with `config set` for a particular test
Reviewed-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Dhairya Parmar <dparmar@redhat.com> Reviewed-by: Jos Collin <jcollin@redhat.com> Reviewed-by: Rishabh Dave <ridave@redhat.com>
Nizamudeen A [Tue, 16 Jan 2024 05:21:56 +0000 (10:51 +0530)]
admin/doc-requirements: bump Sphinx to 5.0.2
```
Running Sphinx v4.5.0
Sphinx version error:
The sphinxcontrib.applehelp extension used by this project needs at least Sphinx v5.0; it therefore cannot be built with this version.
```
Ronen Friedman [Sun, 14 Jan 2024 18:53:38 +0000 (20:53 +0200)]
test/scrub: modify selection of max-scrubs configuration values
As the osd-max-scrubs default was increased from 1 to (currently) 3, the
original set of optional values under rados/thrash/3-scrub-overrides are
no longer useful. This commits changes the set of optional values to
reflect the current default.
Casey Bodley [Fri, 12 Jan 2024 16:19:11 +0000 (11:19 -0500)]
rgw/common: rgw_bl_str(bl) avoids bl.c_str()
where bl contains multiple buffer segments, c_str() has to
rellocate and copy those segments into a single buffer. use c_str()
instead, which just copies each segment into the resulting string
this allows the function to take the bufferlist argument by const ref
Casey Bodley [Fri, 12 Jan 2024 16:05:48 +0000 (11:05 -0500)]
test/rgw: metadata sync checkpoint waits on global 'sync' status
in testing, i was seeing meta sync checkpoints finish even though sync
hadn't started yet:
```
rgw_multi.tests: DEBUG: current meta sync status={
"sync_status": {
"info": {
"status": "building-full-sync-maps",
```
wait for the global status to reach "sync" before starting to compare
period epochs or sync markers
Casey Bodley [Thu, 11 Jan 2024 15:28:01 +0000 (10:28 -0500)]
rgw: fix use of creds in forward_iam_request()
variable `creds` was moved into the `RGWRESTConn` constructor before being
passed into `forward_iam_request()`. change `forward_iam_request()` so
it uses the member variable from the constructor instead of taking it as
an argument
Milind Changire [Thu, 11 Jan 2024 05:01:31 +0000 (10:31 +0530)]
Merge PR #53999 into main
* refs/pull/53999/head:
PendingReleaseNotes: support for subvolumes and subvolume groups in snap_schedule
snap_schedule/tests: fix db upgrade issue
qa: add yaml for on demand subvol version testing
qa: add test cases for testing --subvol and --group arguments
mgr/volumes: conditionalize subvolume upgrade
mgr/volumes: ensure correct init of v1 subvol
mgr/snap_schedule: add subvol and subvol group arguments to cli
mds/snap_schedule: add subvolume group column management
mgr/volumes: add remote helper methods to fetch subvolume info
Ronen Friedman [Tue, 9 Jan 2024 12:51:46 +0000 (06:51 -0600)]
osd/scrub: allow replicas to scrub even if OSD has recovery in progress
Limit the check ("not scrubbing if the OSD is performing recovery on
some PG") to the primary OSD. Otherwise - a small number of backfills may
prevent a large number of PGs from scrubbing.
Casey Bodley [Mon, 8 Jan 2024 16:24:18 +0000 (08:24 -0800)]
make-dist: don't use --continue option for wget
the boost jfrog mirror is broken and returns an HTML error page instead
of the archive. the file size of this page is 11534 bytes
when download_from() retries the download from download.ceph.com, the -c
option tells it to resume the download of the existing file. the
resulting boost_1_82_0.tar.bz2 ends up with the correct total file size
of 121325129 bytes, but the first 11534 bytes still correspond to the
HTML from jfrog. that causes the sha256sum mismatch
remove the -c option so that wget fetches the archive in its entirety
Adam King [Fri, 4 Aug 2023 17:30:55 +0000 (13:30 -0400)]
qa/cephadm: mgr-nfs-upgrade, match any migration > 2
I believe this check was originally added because
the 2->3 migration migrated some nfs related bits. Since
then we've had to update the migration this checks
for every time we bump the max migration. This change
is intended to instead just have it check for a
miration > 2 so we don't have to keep updating it.
Adam King [Wed, 29 Nov 2023 16:49:38 +0000 (11:49 -0500)]
qa/upgrade/reef-x: pull compiled cephadm to start upgrades from reef
The compiled zipapp cephadm that began in reef needs
to be pulled differently than the old single python script
cephadm from earlier releases. This commit updates the reef-x
upgrade suite to pull cephadm in this new way.
Adam King [Wed, 16 Aug 2023 23:56:38 +0000 (19:56 -0400)]
qa/cephadm: support to pull stable branch compiled cephadm
This is to allow us to pull the latest build of
cephadm off of a stable branch (currently the only
valid option for that is reef, although this hopefully
will work with squid, T release, etc. in the future).
This should allow us to bootstrap cliusters based on
those stable branches for use in upgrade testing
Florian Weimer [Wed, 20 Dec 2023 13:59:19 +0000 (14:59 +0100)]
pybind: Fix C type errors in Cython-generated Python bindings
Several Ceph APIs use bool * types, which correspond to
libcpp.bool * types in Cython. The bint type has an incorrect
size 4 and cannot be used as a replacement.
This prevents a compilation failure with future compilers:
…-build/src/pybind/rbd/rbd.c: In function ‘__pyx_pf_3rbd_3RBD_104namespace_exists’:
…-build/src/pybind/rbd/rbd.c:42165:76: error: passing argument 3 of ‘rbd_namespace_exists’ from incompatible pointer type
42165 | __pyx_v_ret = rbd_namespace_exists(__pyx_v__ioctx, __pyx_v__name, (&__pyx_v__exists));
| ~^~~~~~~~~~~~~~~~~
| |
| int *
In file included from …-build/src/pybind/rbd/rbd.c:1268:
…/src/include/rbd/librbd.h:1496:45: note: expected ‘_Bool *’ but argument is of type ‘int *’
1496 | bool *exists);
| ^
Florian Weimer [Wed, 20 Dec 2023 13:16:19 +0000 (14:16 +0100)]
tracing: Fix C type errors in librados tracing
This fixes type errors like this:
In file included from /usr/include/lttng/tracepoint-event.h:69,
from …-build/include/tracing/librados.h:4143,
from …/src/tracing/librados.c:6
:
…-build/include/tracing/librados.h:
In function ‘lttng_ust__event_probe__librados___rados_mon_command_exit’:
…-build/include/tracing/librados.h:477:9: error: initialization of ‘size_t’ {aka ‘long unsigned int’} from ‘size_t *’ {aka ‘long unsigned int *’} makes integer from pointer without a cast
477 | ceph_ctf_integerp(size_t, outslen, outslen)
| ^~~~~~~~~~~~~~~~~
GCC 14 will likely treat these type mismatches as an error
and fail the build.