Laura Flores [Fri, 7 Mar 2025 06:22:00 +0000 (06:22 +0000)]
mon, osd: add command to remove invalid pg-upmap-primary entries
The current rm-pg-upmap-primary command checks that the pgid exists
in the pgmap before continuing to remove it. Due to https://tracker.ceph.com/issues/66867,
some invalid pg-upmap-primary entires may exist for pools that have been removed.
Currently, these mappings are impossible to remove since the pgids no longer
exist in the pgmap.
This new command, rm-pg-upmap-primary-all, allows users the ability to remove
any and all pg-upmap-primary mappings in the osdmap at once, which includes
valid and invalid entries.
This command may also be helpful when upgrading from versions where users
are plagued by https://tracker.ceph.com/issues/61948. Users may use an upgraded
mon to remove all pg-upmap-primray entries (valid and invalid) so they continue
to upgrade to a safe version.
See manual testing for this patch here: https://tracker.ceph.com/issues/67179#note-12
Fixes: https://tracker.ceph.com/issues/67179 Fixes: https://tracker.ceph.com/issues/69760 Signed-off-by: Laura Flores <lflores@ibm.com>
Vallari Agrawal [Mon, 17 Mar 2025 16:28:19 +0000 (21:58 +0530)]
monitoring: rename NVMeoFSingleGatewayGroup alert
Rename the alert to NVMeoFSingleGateway.
The original name was confusing because it
accidently might convey that alert would be
triggered if there is a single gateway group.
Though 'NVMeoFSingleGatewayGroup' alert means that
there is single gateway in a group.
Venky Shankar [Fri, 14 Mar 2025 14:07:28 +0000 (19:37 +0530)]
Merge PR #61877 into main
* refs/pull/61877/head:
libcephfs_proxy: implement client side async rw operation
libcephfs_proxy: implement server side async rw operation
libcephfs_proxy: implement the async rw callback
libcephfs_proxy: define async rw opcode and structures
libcephfs_proxy: define some helper macros for callbacks
libcephfs_proxy: move pointer obfuscation functions to proxy_helpers.h
libcephfs_proxy: negotiate and use the async cbk feature
libcephfs_proxy: implement asynchronous callbacks
libcephfs_proxy: gracefully handle connection close
libcephfs_proxy: add negotiation documentation
libcephfs_proxy: replace legacy handshake by negotation in server side
libcephfs_proxy: replace legacy handshake by negotation in client side
libcephfs_proxy: implement server side negotiation
libcephfs_proxy: implement client side negotiation
libcephfs_proxy: implement receiving of negotiate structure
libcephfs_proxy: add negotiation structures
libcephfs_proxy: add support for control messages
libcephfs_proxy: reuse proxy_link_{read|write}
Patrick Donnelly [Fri, 14 Mar 2025 12:29:12 +0000 (08:29 -0400)]
Merge PR #62228 into main
* refs/pull/62228/head:
libcephfs: getcwd after chdir for API constraint
client: unwrap dentries for getcwd
client: refactor / optimize chdir
test/libcephfs: test getcwd with case insensitive dir
test/libcephfs: refactor ManyNestedDirs
include/filepath: add iterators for components
Soumya Koduri [Fri, 3 Jan 2025 08:20:48 +0000 (13:50 +0530)]
rgw/cloud-restore: Handle versioned objects
While restoring non-current object versions, ensure they remain non-current.
Read `olh_epoch` from the restored object's metadata into a new attr
"RGW_ATTR_RESTORE_VERSIONED_EPOCH". This attr/olh_epoch is used while
updating bi entry and also to reset HEAD object post expiry of temporary
copies.
Venky Shankar [Thu, 13 Mar 2025 16:57:57 +0000 (22:27 +0530)]
Merge PR #54396 into main
* refs/pull/54396/head:
PendingReleaseNote: add note for pause_purging and pause_cloninig
doc/cephfs: add note for config option pause_purging and pause_cloning
qa/cephfs: add tests for mgr/vol config pause_cloning
qa/cephfs: extend wait for trash empty
qa/cephfs: add tests for config option pause_purging
qa/cephfs: don't strip any whitespace for get_shell_stdout
mgr/vol: add pause/resume mechanism for async jobs
Matan Breizman [Thu, 13 Mar 2025 14:29:31 +0000 (14:29 +0000)]
qa/tasks/radosbench: make use of concurrency flag
This affects mainly radosbench-high-concurrency.yaml
The concurrency flag was only used in non-write scenarios to
populate the initial data.
We should use this flag with `write` mode as well.
Patrick Donnelly [Tue, 11 Mar 2025 16:13:33 +0000 (12:13 -0400)]
test/libcephfs: test getcwd with case insensitive dir
Unfortunately, it's not easy to refactor this test into a shared method without
setting up an explicit test class which has been avoided up to this point. So
I'm going to just copy the code. Sorry.
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
John Mulligan [Thu, 13 Mar 2025 11:59:42 +0000 (07:59 -0400)]
script: ensure curl is always available in build containers
Ensure that curl is installed in all build containers regardless of
ceph's dependencies or other factors. This allows us to use curl in
any subsequent build steps/scripts.
Fixes: https://tracker.ceph.com/issues/70451 Signed-off-by: John Mulligan <jmulligan@redhat.com>
Adam Kupczyk [Mon, 10 Mar 2025 08:48:01 +0000 (08:48 +0000)]
os/bluestore: Make write_v2 not need to use compress_extents, addendum
There was possible case that affected rightmost changed extent.
It could be that 2 mergeable extents were next to each other.
This change melds them together.
Adam Kupczyk [Thu, 6 Mar 2025 19:40:29 +0000 (19:40 +0000)]
os/bluestore: Make write_v2 not need to use compress_extents
Remove need to call compress_extents.
The only place that could produce compressable extents are
_try_reuse_allocated_[l/r] functions.
Create _place_extent_in_blob() function that adds mapping to blob.
If possible, it expands the extent; if not, creates the new one.
The function is used whenever we need new mapping to an existing Blob.
Signed-off-by: Adam Kupczyk <akupczyk@ibm.com> Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
Nizamudeen A [Mon, 10 Feb 2025 04:37:28 +0000 (10:07 +0530)]
mgr/dashboard: undefined while creating rbd image
this only happens on a fresh cluster but consistently reproducible in a
test environment. also cephfs also throws some error occasionally which
is also being handled similarly
Fixes: https://tracker.ceph.com/issues/68871 Signed-off-by: Nizamudeen A <nia@redhat.com>
Nizamudeen A [Sun, 9 Feb 2025 16:12:59 +0000 (21:42 +0530)]
mgr/dashboard: cypress failure after angular upgrade
after angular upgrade, the tests started failing with
An uncaught error was detected outside of a test:
TypeError: The following error originated from your test code, not from Cypress.
Cannot read properties of undefined (reading 'value')
which seems to originate from the page-helper.po. So handling the
undefined value.
Example run: https://jenkins.ceph.com/job/ceph-dashboard-pull-requests/17541/consoleFull#204663575173a8703b-5adb-41c5-84a0-8cf4e065ba3d
Fixes: https://tracker.ceph.com/issues/68871 Signed-off-by: Nizamudeen A <nia@redhat.com>
the wizard component changes caused issue to the e2e, so fixing it.
It was uncaught before because of the test were unable to run due to
some lab issues.
Fixes: https://tracker.ceph.com/issues/68871 Signed-off-by: Nizamudeen A <nia@redhat.com>
Nizamudeen A [Fri, 27 Sep 2024 05:30:17 +0000 (11:00 +0530)]
mgr/dashboard: add custom items to combo box
previously we were able to add custom items to our select-badges like
custom labels for hosts. but it got dropped unintentionally due to the
carbon. fixing it here
Fixes: https://tracker.ceph.com/issues/68871 Signed-off-by: Nizamudeen A <nia@redhat.com>