Skip to content

squid: common,ceph: add output file switch to dump json to#57675

Merged
batrick merged 6 commits intoceph:squidfrom
batrick:wip-66185-squid
Mar 13, 2025
Merged

squid: common,ceph: add output file switch to dump json to#57675
batrick merged 6 commits intoceph:squidfrom
batrick:wip-66185-squid

Conversation

@batrick
Copy link
Member

@batrick batrick commented May 23, 2024

backport tracker: https://tracker.ceph.com/issues/66185


backport of #57215
parent tracker: https://tracker.ceph.com/issues/65747

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/main/src/script/ceph-backport.sh

@batrick batrick requested review from a team as code owners May 23, 2024 17:53
@batrick batrick added this to the squid milestone May 23, 2024
@batrick batrick added the common label May 23, 2024
@github-actions github-actions bot added the stale label Nov 26, 2024
@batrick batrick removed the stale label Nov 26, 2024
@ceph ceph deleted a comment from github-actions bot Dec 30, 2024
@ceph ceph deleted a comment from github-actions bot Dec 30, 2024
@mchangir
Copy link
Contributor

This PR is under test in https://tracker.ceph.com/issues/69882.

batrick added 6 commits March 3, 2025 15:00
The formatter would be deleted and automatically flush anyway but this is
conforming to the API.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 5a3584b)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit de350cc)
The `ceph tell mds.X cache dump` and `ceph tell mds.X ops` commands have a
useful `--path` argument that directs the daemon to save the dump of the output
to a file local the daemon. This has several advantages:

* We don't need to construct the JSON output in memory, which may be many gigabytes.
* Streaming writes to a local file is significantly faster than sending the data over the ceph messenger.
* The command spends as little time as possible holding relevant locks.

However, only some commands support this and we could make it generic to the
admin socket interface. So, add a generic --daemon-output-file argument to
achieve this.

The main concern with this is security (telling the daemon to write to
arbitrary files) but this is gated by the session caps which require
"allow_all" and that's typically only valid for the client.admin.

Fixes: https://tracker.ceph.com/issues/65747
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit a341468)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 2d26694)
Its path/name include random characters making it unsuitable for static diffs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit cd780f0)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 8664fe9)
@batrick
Copy link
Member Author

batrick commented Mar 3, 2025

trivial rebase

@anthonyeleven
Copy link
Contributor

trivial rebase

Braggart! ;)

@Naveenaidu
Copy link
Contributor

Rados Approved: https://tracker.ceph.com/issues/70073#note-2

@SrinivasaBharath
Copy link
Contributor

jenkins test api

Copy link
Contributor

@NitzanMordhai NitzanMordhai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@batrick batrick merged commit 256334d into ceph:squid Mar 13, 2025
9 checks passed
@batrick batrick deleted the wip-66185-squid branch March 13, 2025 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants