]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 months agowin32: add libicu Windows build
Lucian Petrut [Thu, 9 Jan 2025 13:50:18 +0000 (08:50 -0500)]
win32: add libicu Windows build

cephfs introduces a new dependency: libicu. We need to update the
Windows build scripts to build and link against libicu.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
(cherry picked from commit e80d0bf0079fc61630852f3047eebfcf1ae428f5)

4 months agoCMakeLists: add boost::locale dependency for client
Patrick Donnelly [Tue, 31 Dec 2024 17:59:12 +0000 (12:59 -0500)]
CMakeLists: add boost::locale dependency for client

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit db58a29a53833c0a8bb8db7c494b92baee220fbe)

Conflicts:
src/client/CMakeLists.txt: no legacy headers

4 months agoinstall-deps: unconditionally install boost libraries
Patrick Donnelly [Wed, 8 Jan 2025 14:53:26 +0000 (09:53 -0500)]
install-deps: unconditionally install boost libraries

If we add a new Boost component, the install-deps.sh script will not install it
because other Boost libraries are installed with the desired version. Just
unconditionally install. The package manager is smart enough to skip already
installed packages.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 668a556322d8767b3e9e82230f099bcd9211f576)

4 months agotest/libcephfs: update root operation return values
Patrick Donnelly [Wed, 19 Feb 2025 17:51:32 +0000 (12:51 -0500)]
test/libcephfs: update root operation return values

Switch from EBUSY to reasonable and normal errors for operations on the root
directory. Use the Client::path_walk machinery changes from the previous commit
to catch most of them, otherwise return EINVAL (which is normal for other POSIX
fs).

Fixes: 6ed7f2364ae5507bab14c60b582929aa7b0ba400
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 292f5ac45b8190223e97b3f9ae5904605de7a888)

4 months agoclient: refactor all path traversals through path_walk
Patrick Donnelly [Thu, 14 Nov 2024 18:28:20 +0000 (13:28 -0500)]
client: refactor all path traversals through path_walk

This is groundwork to ensure that all code paths properly apply dentry name
transformations during traversal, specifically for casefolding.

Note some ancillary changes:

* readlink now correctly does lookup permission checks during path walk (previously a TODO).

* There has been some tweaking of the method signatures to accept an `const
  InodeRef&`. This was convenient when passing walk_dentry_result::diri around
  but the cascade in changes prompted me to leave it partially done to avoid
  blowing up this changeset.

It's worth noting that this change is somewhat "half done". I had made an
effort to have all operations (whether fuse or libcephfs) call path_walk once.
This was done for Client::_mkdir and a few others. See for example:

  - do_mkdirat -> _mkdir
  - mksnap -> _mkdir
  - ll_mkdir -> _mkdir
  - mkdirs -> _mkdir (this had other significant simplification/cleanup);
    however: note that we still have two calls to path_walk for any given
    directory to be created. This is not a problem because:

Client::path_walk is now more tolerant of being called in a openat-style way.
The method now accepts an anchor directory and relative path (which may be a
single dentry name for ll_* calls). It is also tolerant of the directory inode
in fact referencing the target inode with relative path == "". That is a useful
property for many openat-style APIs (although largely unofficially).  It also
means that if we resolve a path then we can pass the resolved Inode (directory)
/ string (Dentry name) pair to another method which may also call path_walk
with minimal replication of path walk work. This is done a few times in this
changeset.

Fixes: https://tracker.ceph.com/issues/66373
Fixes: https://tracker.ceph.com/issues/70100
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit b8662fdb03373ed6d29c47efa94cd391a7c9e740)

Conflicts:
src/client/Client.cc: minor code differences

4 months agotest/libcephfs: test parallel creates
Patrick Donnelly [Wed, 19 Feb 2025 20:28:46 +0000 (15:28 -0500)]
test/libcephfs: test parallel creates

That the cap_shared_gen value does not result in unexpected ENOENT.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit aaaa04264a02e6e89ca5721cad048c41ad3e1111)

4 months agotest/libcephfs: add test for lookup failure after readdir
Patrick Donnelly [Mon, 24 Feb 2025 14:46:15 +0000 (09:46 -0500)]
test/libcephfs: add test for lookup failure after readdir

That we do not get unexpected ENOENT following readdirs (particularly thinking
of cap_shared_gen differences).

Test-case-for: https://tracker.ceph.com/issues/70100
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 0f2abc9bc9390de3951e2494b5ed41ca9111cc50)

4 months agoclient: init dentry shared_gen with invalid value
Patrick Donnelly [Wed, 19 Feb 2025 17:49:09 +0000 (12:49 -0500)]
client: init dentry shared_gen with invalid value

Directories and dentries are initialized with value 0 which makes detecting a
null  (or placeholder) dentry created via Client::get_or_create difficult.  We
already do checks to see if a dentry is invalid when the directory's shared_gen
changes so use an invalid value for these synthetic dentries until they can be
appropriately updated from Client::update_dentry_lease.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 4f8d1d38a38d44ec9984912effdb9d166128ccb1)

4 months agoclient: add _lookup debugging
Patrick Donnelly [Wed, 19 Feb 2025 16:33:49 +0000 (11:33 -0500)]
client: add _lookup debugging

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit bac86c20d0e92a9aec5dc758f2dade35b02777b1)

4 months agoclient: remove redundant check
Patrick Donnelly [Wed, 19 Feb 2025 16:32:06 +0000 (11:32 -0500)]
client: remove redundant check

This condition:

    (!dn->inode || dn->inode->caps_issued_mask(mask, true))

is already checked in the surrounding `if`.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 41a3f099516ae609a0dbb9c2c020f9523adbc26a)

4 months agoclient: dump InodeStat from mds
Patrick Donnelly [Mon, 28 Oct 2024 20:19:25 +0000 (16:19 -0400)]
client: dump InodeStat from mds

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 764208ead49cd4f63a518547cedecdb6b7e45aad)

Conflicts:
src/client/Client.cc: trivial code change

4 months agomds: encode optmetadata in InodeStat sent to clients
Patrick Donnelly [Wed, 23 Oct 2024 18:00:35 +0000 (14:00 -0400)]
mds: encode optmetadata in InodeStat sent to clients

Deliberately do not dump the entire struct. Some metadata may not be
appropriate to share to clients.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 6c891f96aaef5be7bc90b166d5a728516370349b)

Conflicts:
src/mds/CInode.cc: no tuple encoding

4 months agomds: check client features for charmap
Patrick Donnelly [Wed, 23 Oct 2024 18:49:49 +0000 (14:49 -0400)]
mds: check client features for charmap

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 9bbfdadd1f590fdea2fa055906f9184c7f81d676)

Conflicts:
src/mds/Server.cc: trivial comment change

4 months agomds: add client feature bit for charmap
Patrick Donnelly [Wed, 23 Oct 2024 17:54:46 +0000 (13:54 -0400)]
mds: add client feature bit for charmap

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 4ac9776adbd722c45094dcb6b2f4bb4b975c79b0)

4 months agomds: wire up vxattr for changing charmap
Patrick Donnelly [Mon, 26 Aug 2024 16:22:35 +0000 (12:22 -0400)]
mds: wire up vxattr for changing charmap

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 9f0c4227261e4fc76b6019f78d726fb179ba23d2)

4 months agomds: inherit charmap on mkdir
Patrick Donnelly [Wed, 23 Oct 2024 18:01:41 +0000 (14:01 -0400)]
mds: inherit charmap on mkdir

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 033d8666373f239b18d52f3fd8c350148ba4f4a1)

4 months agomds,include: add charmap optmetadata
Patrick Donnelly [Mon, 26 Aug 2024 16:22:13 +0000 (12:22 -0400)]
mds,include: add charmap optmetadata

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 1ffaa3614542580c578581d57e396170054e68bd)

4 months agomds,include: add inode_t optional metadata
Patrick Donnelly [Mon, 26 Aug 2024 16:21:10 +0000 (12:21 -0400)]
mds,include: add inode_t optional metadata

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit d958bcb73c64a11cd0c6e81d63945ec20bdf30b5)

4 months agoclient: hide alternate_name from API
Patrick Donnelly [Tue, 10 Sep 2024 20:47:39 +0000 (16:47 -0400)]
client: hide alternate_name from API

The dentry alternate_name was exposed primarily to facilitate testing. Instead,
put these methods in the TestClient scaffolding to allow reading/manipulating
alternate_name.

Because we will be using alternate_name to handle encrypted names and the
normalized / case folded name, we do not want the application to change the
meaning of the metadata out-of-band.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 1e34963af11210ebd940e20219728b91031e720f)

4 months agoclient: move alternate_name once
Patrick Donnelly [Thu, 12 Sep 2024 21:17:49 +0000 (17:17 -0400)]
client: move alternate_name once

Client::update_dentry_lease also moves alternate_name from the lease
which causes it to zero out alternate_name on the second move.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 9c276fd9b63072ce11864e310c0206d3424e1bcc)

4 months agoclient: optimize alternate_name passing to helper
Patrick Donnelly [Wed, 4 Sep 2024 20:12:25 +0000 (16:12 -0400)]
client: optimize alternate_name passing to helper

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit f346e9a2caba9b3bf0b7a76a9653941eb402ccf4)

4 months agoclient: relocate definition
Patrick Donnelly [Thu, 12 Sep 2024 22:39:33 +0000 (18:39 -0400)]
client: relocate definition

It doesn't need to be public; the API does not expose alternate_name.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 45ff4994f250e56fc720ce5e97ed72d0d0c3cc3d)

4 months agoclient: print dentry with alternate_name on dump
Patrick Donnelly [Wed, 23 Oct 2024 16:32:55 +0000 (12:32 -0400)]
client: print dentry with alternate_name on dump

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 5c0fa1128c446a4737347dfaa100e802f3ff7ebe)

4 months agoclient: move inode dump to print method
Patrick Donnelly [Wed, 23 Oct 2024 16:32:05 +0000 (12:32 -0400)]
client: move inode dump to print method

There is no functional change.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit c2e551260cc6f88000cfcbb25d3ed3a57b029b7e)

4 months agomds: add debugging for encoding lease stat
Patrick Donnelly [Wed, 23 Oct 2024 17:58:59 +0000 (13:58 -0400)]
mds: add debugging for encoding lease stat

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit de8ceffe2b6bf07deabdcb19b19d8495e31b0886)

4 months agomds: make encode_lease a proper method
Patrick Donnelly [Wed, 23 Oct 2024 17:56:06 +0000 (13:56 -0400)]
mds: make encode_lease a proper method

So we can print debugging.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit c48f1db6ef561ea2cd1de91647db9e05a730ffcc)

4 months agomds: add fscrypt metadata for inode stat size
Patrick Donnelly [Wed, 23 Oct 2024 17:59:57 +0000 (13:59 -0400)]
mds: add fscrypt metadata for inode stat size

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 59405d4da16d705ac8e509232cb986386e8ad551)

4 months agoclient: use DentryRef for ref counting in MetaRequest
Patrick Donnelly [Thu, 31 Oct 2024 00:38:36 +0000 (20:38 -0400)]
client: use DentryRef for ref counting in MetaRequest

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit ff42d8603704756c23e629bd9940e4969929e2ab)

4 months agoclient: add DentryRef
Patrick Donnelly [Thu, 31 Oct 2024 00:39:32 +0000 (20:39 -0400)]
client: add DentryRef

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 3c3d56fbbad08af536c293217377b6b50f755287)

4 months agoclient: add helper for determining if a perm check is necessary
Patrick Donnelly [Thu, 14 Nov 2024 17:36:14 +0000 (12:36 -0500)]
client: add helper for determining if a perm check is necessary

To be used in subsequent commits.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit 5f53a239a44deb60b81ab83b48e9ae3bc5b7e504)

4 months agoclient: cache client_permissions config
Patrick Donnelly [Thu, 14 Nov 2024 17:39:00 +0000 (12:39 -0500)]
client: cache client_permissions config

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit d27eb1aab68b2cd5345dfca58d3384ea4d9e3ffc)

4 months agoclient: add debugging for conf changes
Patrick Donnelly [Wed, 26 Feb 2025 23:23:41 +0000 (18:23 -0500)]
client: add debugging for conf changes

So logs show when they are modified.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit be954e09e48f96a8a85c6b1a7a83d2eca9ff446a)

4 months agoclient: sort configs
Patrick Donnelly [Thu, 14 Nov 2024 17:29:49 +0000 (12:29 -0500)]
client: sort configs

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit a84c396e7d34fc5af676f4dc4fdb0d81b2e84a3c)

4 months agoclient/UserPerm: add print method
Patrick Donnelly [Thu, 14 Nov 2024 18:34:57 +0000 (13:34 -0500)]
client/UserPerm: add print method

For debug prints.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit aeb07bb1cbfcf807367a71dafc2615a6cfd8921d)

4 months agoclient: note mount parameters in debug log
Patrick Donnelly [Thu, 27 Feb 2025 15:42:46 +0000 (10:42 -0500)]
client: note mount parameters in debug log

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 8e88fb004521a3be1f4fbf4a5c195c4b6c40e3a0)

4 months agoclient: print stat mode in octal
Patrick Donnelly [Tue, 25 Feb 2025 02:13:18 +0000 (21:13 -0500)]
client: print stat mode in octal

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit d6a5656387bd273c0cf9ebc3d990d0ccdddb153e)

4 months agocommon: add missing op string
Patrick Donnelly [Tue, 31 Dec 2024 18:10:27 +0000 (13:10 -0500)]
common: add missing op string

This gets converted in messenger douts.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit da50c6e581fd8f17b964543567d7e7f72a9e3d8e)

4 months agoinclude/filepath: add empty path check
Patrick Donnelly [Thu, 14 Nov 2024 18:33:11 +0000 (13:33 -0500)]
include/filepath: add empty path check

When passing an empty string to filepath, it would test if the first character
is '/' which is an invalid access through std::string_view.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Fixes: https://tracker.ceph.com/issues/66373
(cherry picked from commit e62fce4ec98ab03d9e71bd6e49bf2d8568a8fe71)

4 months agopython-common: add a utils function to replace distutils.util.strtobool
John Mulligan [Thu, 19 Sep 2024 00:44:39 +0000 (17:44 -0700)]
python-common: add a utils function to replace distutils.util.strtobool

As distutils is removed from python 3.12 ceph can no longer use the
simple conversion function once located in that module. Add our own
trivial replacement function.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 51516ba146e9602c0dea1de65b040d737d1dab6a)

4 months agoMerge PR #59616 into squid
Patrick Donnelly [Mon, 17 Mar 2025 19:24:47 +0000 (15:24 -0400)]
Merge PR #59616 into squid

* refs/pull/59616/head:
mds: move fscrypt_last_block to vector in mds_co mempool
mds: move fscrypt_file inode_t metadata to mds_co mempool
mds: move fscrypt_auth inode_t metadata to mds_co mempool
include/buffer: add helpers for uint8_t vectors

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 months agoMerge PR #61994 into squid
Patrick Donnelly [Mon, 17 Mar 2025 19:20:20 +0000 (15:20 -0400)]
Merge PR #61994 into squid

* refs/pull/61994/head:
release notes: removed lines added by automatic merge rule using 'union'
mds: use system error codes instead of CEPHFS_EXXX codes
mds,client: change result field handling in the MClientReply message
mds: prepare infra to replace CEPHFS_EXXX codes to system codes
pybind/cephfs: switch CEPHFS_E error codes to system error codes
PendingReleaseNotes: add note on client/mds error codes

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoMerge PR #62058 into squid
Patrick Donnelly [Mon, 17 Mar 2025 19:19:14 +0000 (15:19 -0400)]
Merge PR #62058 into squid

* refs/pull/62058/head:
mds: do not process client metrics message with fast dispatch

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
4 months agoMerge pull request #62267 from aaSharma14/wip-70436-squid
Aashish Sharma [Mon, 17 Mar 2025 06:23:38 +0000 (11:53 +0530)]
Merge pull request #62267 from aaSharma14/wip-70436-squid

squid: mgr/dashboard: Add ceph_daemon filter to rgw overview grafana panel queries

Reviewed-by: Nizamudeen A <nia@redhat.com>
4 months agorelease notes: removed lines added by automatic merge rule using 'union' 61994/head
Igor Golikov [Sun, 16 Mar 2025 11:18:53 +0000 (11:18 +0000)]
release notes: removed lines added by automatic merge rule using 'union'

Signed-off-by: Igor Golikov <igolikov@ibm.com>
4 months agoMerge pull request #62320 from zdover23/wip-doc-2025-03-15-backport-62319-to-squid
Zac Dover [Sat, 15 Mar 2025 03:23:47 +0000 (13:23 +1000)]
Merge pull request #62320 from zdover23/wip-doc-2025-03-15-backport-62319-to-squid

squid: doc/rados/troubleshooting: Improve troubleshooting-pg.rst

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
4 months agodoc/rados/troubleshooting: Improve troubleshooting-pg.rst 62320/head
Anthony D'Atri [Sat, 15 Mar 2025 02:44:18 +0000 (22:44 -0400)]
doc/rados/troubleshooting: Improve troubleshooting-pg.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 56a21cbc03e352867608c4cf0623d5566fb60cc8)

4 months agoMerge pull request #62317 from zdover23/wip-doc-2025-03-15-backport-62316-to-squid
Anthony D'Atri [Sat, 15 Mar 2025 02:46:54 +0000 (22:46 -0400)]
Merge pull request #62317 from zdover23/wip-doc-2025-03-15-backport-62316-to-squid

squid: doc/rados/operations: improve crush-map-edits.rst

4 months agodoc/rados/operations: improve crush-map-edits.rst 62317/head
Anthony D'Atri [Sat, 15 Mar 2025 01:59:57 +0000 (21:59 -0400)]
doc/rados/operations: improve crush-map-edits.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 59a894713a9e3540ed74c763cf856636bf300099)

4 months agoMerge pull request #62297 from zdover23/wip-doc-2025-03-14-backport-62119-to-squid
Anthony D'Atri [Fri, 14 Mar 2025 12:19:14 +0000 (08:19 -0400)]
Merge pull request #62297 from zdover23/wip-doc-2025-03-14-backport-62119-to-squid

squid: doc: fixup #58689 - document SSE-C iam condition key

4 months agodoc: fixup #58689 - document SSE-C iam condition key 62297/head
dawg [Wed, 5 Mar 2025 09:12:57 +0000 (10:12 +0100)]
doc: fixup #58689 - document SSE-C iam condition key

Signed-off-by: dawg <code@dawg.eu>
(cherry picked from commit 7b4ac886621b71abb9356bce6c44b3c36b2c0ee2)

4 months agoMerge PR #57675 into squid
Patrick Donnelly [Thu, 13 Mar 2025 16:32:36 +0000 (12:32 -0400)]
Merge PR #57675 into squid

* refs/pull/57675/head:
doc: document new --output-file switch
test/cli: ignore tmp_file_template
qa/workunits: add --output-file test in cephtool workunit
common,ceph: add output file switch to dump json to
common/options: add configs for temporary files made by daemons
common/Formatter: write the pending string on flush

Reviewed-by: Nitzan Mordechai <nmordech@redhat.com>
4 months agoMerge pull request #59698 from rhcs-dashboard/wip-67929-squid
Nizamudeen A [Thu, 13 Mar 2025 14:35:05 +0000 (20:05 +0530)]
Merge pull request #59698 from rhcs-dashboard/wip-67929-squid

squid: qa/mgr/dashboard: fix test race condition

4 months agoMerge pull request #62265 from zdover23/wip-doc-2025-03-13-backport-62249-to-squid
Anthony D'Atri [Thu, 13 Mar 2025 12:07:55 +0000 (08:07 -0400)]
Merge pull request #62265 from zdover23/wip-doc-2025-03-13-backport-62249-to-squid

squid: doc/monitoring: Improve index.rst

4 months agoMerge pull request #62086 from aaSharma14/wip-70251-squid
Aashish Sharma [Thu, 13 Mar 2025 08:14:18 +0000 (13:44 +0530)]
Merge pull request #62086 from aaSharma14/wip-70251-squid

squid: mgr: fix subuser creation via dashboard

Reviewed-by: Nizamudeen A <nia@redhat.com>
4 months agoqa/tests: retry the api call after making the request 59698/head
Nizamudeen A [Mon, 10 Feb 2025 18:18:56 +0000 (23:48 +0530)]
qa/tests: retry the api call after making the request

based on the pointer from Bill in https://tracker.ceph.com/issues/62972#note-75

Fixes: https://tracker.ceph.com/issues/62972
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 1588712b558f229d54fdfab744f2480f15333067)

4 months agoqa/dashboard: fix test_list_enabled_module failure
Nizamudeen A [Wed, 30 Oct 2024 14:01:10 +0000 (19:31 +0530)]
qa/dashboard: fix test_list_enabled_module failure

Check the ports availability and go for a new port if the current one is
not available

Fixes: https://tracker.ceph.com/issues/62972
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit a2a4a3415c0e5ceef2cb01d3bcdf5eb1fff23803)

4 months agoqa/dashboard: fix tasks.mgr.dashboard.test_health.HealthTest
Nizamudeen A [Mon, 28 Oct 2024 05:45:25 +0000 (11:15 +0530)]
qa/dashboard: fix tasks.mgr.dashboard.test_health.HealthTest

as per: https://tracker.ceph.com/issues/47612#note-14

Fixes: https://tracker.ceph.com/issues/47612
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 79d61bbb58cb34f9da678e37b4373fc84bd393f5)

4 months agoqa/tests: fix test_list_enabled_modules timeout error
Nizamudeen A [Fri, 30 Aug 2024 11:46:57 +0000 (17:16 +0530)]
qa/tests: fix test_list_enabled_modules timeout error

This test deals with enabling/disabling the modules. The assumption I
have is after enabling the
module test will wait for an active mgr but its not able to find it in
time and it fails. so taking inspiration from https://github.com/ceph/ceph/pull/58995/commits/6c7253be6f6fbfa6faed7a539cb78847fec04580 adding retries and logs to see if that's the case

Fixes: https://tracker.ceph.com/issues/62972
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit b2da7394ee02abd6525372d94cab090818cd6c8e)

4 months agoqa/mgr/dashboard: fix test race condition
Ernesto Puerta [Thu, 1 Aug 2024 23:39:40 +0000 (01:39 +0200)]
qa/mgr/dashboard: fix test race condition

Fixes: https://tracker.ceph.com/issues/66844
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
(cherry picked from commit 6c7253be6f6fbfa6faed7a539cb78847fec04580)

4 months agomgr/dashboard: Add ceph_daemon filter to rgw overview grafana panel 62267/head
Aashish Sharma [Thu, 28 Nov 2024 05:58:59 +0000 (11:28 +0530)]
mgr/dashboard: Add ceph_daemon filter to rgw overview grafana panel
queries

Currently rgw_servers filtering is not working in RGW Overview garfana graphs.
It is showing data of all the RGW services, even though filter set to single service.
This PR intends to solve this issue

Fixes: https://tracker.ceph.com/issues/69074
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit 666f8faf11c0a639ce6ead06026850dd72a14d41)

4 months agodoc/monitoring: Improve index.rst 62265/head
Anthony D'Atri [Wed, 12 Mar 2025 13:31:19 +0000 (09:31 -0400)]
doc/monitoring: Improve index.rst

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 1bc67295c8b75475455ff702998ae4d7fb2ec749)

4 months agoMerge pull request #62257 from rhcs-dashboard/wip-70425-squid
afreen23 [Thu, 13 Mar 2025 01:55:59 +0000 (07:25 +0530)]
Merge pull request #62257 from rhcs-dashboard/wip-70425-squid

squid: mgr/dashboard: pin lxml to fix run-dashboard-tox-make-check failure

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agomgr/dashboard: pin lxml to fix run-dashboard-tox-make-check failure 62257/head
Nizamudeen A [Wed, 12 Mar 2025 07:06:42 +0000 (12:36 +0530)]
mgr/dashboard: pin lxml to fix run-dashboard-tox-make-check failure

xmlsec had an upgrade yesterday night and python3-saml might need to
adapt its library accordingly I suppose. Testing a fix by pinning lxml

Another approach is being tried out separately
https://github.com/ceph/ceph/pull/62239, but that is failing with some
other errors.

Fixes: https://tracker.ceph.com/issues/70411
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 1f84505f1232dd8445df1a2a819fa000062d3934)

 Conflicts:
src/pybind/mgr/dashboard/requirements.txt
 - didn't add the dependency that are present in main and only added the
   lxml pinning

4 months agoMerge pull request #62177 from guits/wip-70367-squid
Guillaume Abrioux [Wed, 12 Mar 2025 16:13:11 +0000 (17:13 +0100)]
Merge pull request #62177 from guits/wip-70367-squid

squid: ceph-volume: allow zapping partitions on multipath devices

4 months agomgr: fix subuser creation via dashboard 62086/head
Hannes Baum [Wed, 6 Nov 2024 08:46:09 +0000 (09:46 +0100)]
mgr: fix subuser creation via dashboard

Subusers couldn't be created through the dashboard, because the get call was overwritten with Python magic due to it being the function under the HTTP call.
The get function was therefore split into an "external" and "internal" function, whereas one
can be used by functions without triggering the magic. Since the user object was then returned correctly, json.loads could be removed.

Signed-off-by: Hannes Baum <hannes.baum@cloudandheat.com>
(cherry picked from commit 90e221d0b53ad137e912b8cbd84935a8755f1fe7)

4 months agoMerge pull request #62125 from ifed01/wip-ifed-fragmentation-command-squid
Igor Fedotov [Wed, 12 Mar 2025 09:32:07 +0000 (12:32 +0300)]
Merge pull request #62125 from ifed01/wip-ifed-fragmentation-command-squid

squid: tool/ceph-bluestore-tool: fix wrong keyword for 'free-fragmentation' command

Reviewed-by: ackupczyk@ibm.com
4 months agoMerge pull request #61475 from shraddhaag/wip-68949-squid
SrinivasaBharathKanta [Wed, 12 Mar 2025 06:55:54 +0000 (12:25 +0530)]
Merge pull request #61475 from shraddhaag/wip-68949-squid

squid: qa/standalone/mon/mon_cluster_log.sh: retry check for log line

4 months agoMerge pull request #60784 from kchheda3/wip-68997-squid
SrinivasaBharathKanta [Wed, 12 Mar 2025 06:55:27 +0000 (12:25 +0530)]
Merge pull request #60784 from kchheda3/wip-68997-squid

squid: rgw/notification: add rgw notification specific debug log subsystem

4 months agoMerge pull request #61971 from Jayaprakash-ibm/wip-time-measure-fix-squid
Adam Kupczyk [Tue, 11 Mar 2025 18:34:40 +0000 (19:34 +0100)]
Merge pull request #61971 from Jayaprakash-ibm/wip-time-measure-fix-squid

squid : os/bluestore : Assigning a named variable to ceph::time_guard to prevent immediate destruction

4 months agoMerge pull request #62208 from aaSharma14/wip-67935-squid
afreen23 [Tue, 11 Mar 2025 09:46:17 +0000 (15:16 +0530)]
Merge pull request #62208 from aaSharma14/wip-67935-squid

squid: mgr/dashboard: Fix variable capitalization in embedded rbd-details panel

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 months agoMerge pull request #62042 from nbalacha/wip-69982-squid
Sunil Angadi [Tue, 11 Mar 2025 09:19:47 +0000 (14:49 +0530)]
Merge pull request #62042 from nbalacha/wip-69982-squid

squid: rbd-mirror: fix possible recursive lock of ImageReplayer::m_lock

4 months agoMerge pull request #62044 from nbalacha/wip-70096-squid
Sunil Angadi [Tue, 11 Mar 2025 09:19:09 +0000 (14:49 +0530)]
Merge pull request #62044 from nbalacha/wip-70096-squid

squid: librbd: fix a crash in get_rollback_snap_id

4 months agoMerge pull request #62128 from idryomov/wip-70190-squid
Sunil Angadi [Tue, 11 Mar 2025 09:18:30 +0000 (14:48 +0530)]
Merge pull request #62128 from idryomov/wip-70190-squid

squid: librbd: fix a deadlock on image_lock caused by Mirror::image_disable()

4 months agoMerge pull request #62130 from idryomov/wip-65720-squid
Sunil Angadi [Tue, 11 Mar 2025 09:17:56 +0000 (14:47 +0530)]
Merge pull request #62130 from idryomov/wip-65720-squid

squid: librbd: add rbd_diff_iterate3() API to take source snapshot by ID

4 months agomds: use system error codes instead of CEPHFS_EXXX codes
Igor Golikov [Tue, 18 Feb 2025 12:47:52 +0000 (12:47 +0000)]
mds: use system error codes instead of CEPHFS_EXXX codes

Signed-off-by: Igor Golikov <igolikov@ibm.com>
Fixes: https://tracker.ceph.com/issues/64611
(cherry picked from commit 7055fa53c50062c285386db488bcdaee57c5dd1c)

4 months agomgr/dashboard: Fix variable capitalization in embedded rbd-details panel 62208/head
Juan Ferrer Toribio [Tue, 3 Sep 2024 09:02:42 +0000 (11:02 +0200)]
mgr/dashboard: Fix variable capitalization in embedded rbd-details panel

Fix capitalization of image and pool variables in embedded grafana rbd-details panel

Fixes: https://tracker.ceph.com/issues/67849
Signed-off-by: Juan Ferrer Toribio <22457707+juan-ferrer-toribio@users.noreply.github.com>
(cherry picked from commit dfca044b6466d599fc4eb50f31bc40949e91e70e)

4 months agoMerge pull request #62161 from phlogistonjohn/wip-70344-squid
Adam King [Mon, 10 Mar 2025 20:01:09 +0000 (16:01 -0400)]
Merge pull request #62161 from phlogistonjohn/wip-70344-squid

squid: build-with-container: fixes and enhancements

Reviewed-by: Adam King <adking@redhat.com>
4 months agoMerge pull request #62192 from zdover23/wip-doc-2025-03-10-backport-62176-to-squid
Anthony D'Atri [Mon, 10 Mar 2025 04:41:17 +0000 (00:41 -0400)]
Merge pull request #62192 from zdover23/wip-doc-2025-03-10-backport-62176-to-squid

squid: doc/releases: Add ordering comment to releases.yml

4 months agodoc/releases: Add ordering comment to releases.yml 62192/head
Anthony D'Atri [Sat, 8 Mar 2025 15:58:37 +0000 (10:58 -0500)]
doc/releases: Add ordering comment to releases.yml

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
(cherry picked from commit 2290a904bd6a3194f77b76d7deb0c9d24c8b4b93)

4 months agoceph-volume: allow zapping partitions on multipath devices 62177/head
Guillaume Abrioux [Fri, 7 Mar 2025 16:23:02 +0000 (17:23 +0100)]
ceph-volume: allow zapping partitions on multipath devices

ceph-volume refuses to zap a device if it is a partition on a multipath
device due to an overly strict condition. This change ensures that only
full mapper devices (excluding partitions) are blocked from being zapped,
allowing partitions on multipath devices to be processed correctly.

Fixes: https://tracker.ceph.com/issues/70363
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 16daa6a687c0536324b06536af12ce4e8fc04087)

4 months agoMerge pull request #62066 from dmick/wip-70242-squid
Dan Mick [Sun, 9 Mar 2025 01:55:39 +0000 (17:55 -0800)]
Merge pull request #62066 from dmick/wip-70242-squid

squid: container/build.sh: remove local container images

4 months agoMerge pull request #62035 from ceph/template-squid
David Galloway [Fri, 7 Mar 2025 19:42:14 +0000 (14:42 -0500)]
Merge pull request #62035 from ceph/template-squid

Links to Jenkins jobs in PR comment commands / Remove deprecated commands

4 months agodoc: document the new container build tool and link to it in README 62161/head
John Mulligan [Fri, 14 Feb 2025 19:51:03 +0000 (14:51 -0500)]
doc: document the new container build tool and link to it in README

Add a new markdown file in the root of the tree, ContainerBuild.md, that
can serve as a basic introduction to the new container build tools
recently merged to ceph.
Add a small 'breadcrumb' section to the project README.md to help find
this new document.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 313546146c429e784ec291b686907f47b33c595c)

4 months agoscript/build-with-container: add support for overlay dir
John Mulligan [Thu, 20 Feb 2025 00:17:30 +0000 (19:17 -0500)]
script/build-with-container: add support for overlay dir

The source dir (aka homedir, default /ceph) is mounted in the container
read-write. This is needed as the various ceph build scripts expect to
write things into the tree - often this is in the build directory - but
not always. This can lead to small messes and/or situations that are
confusing to debug, especially if one is jumping between distros often.
Add an option to use an overlay volume for the homedir - by default we
enable a persistent overlay with a supplied "upper dir" where files that
were written will appear. One can also enable a temporary overlay that
forgets the writes when the container exits - maybe useful when doing
experiments in 'interactive' mode.

To use this option run the command with the `--overlay=<dir>` option.
For example: `./src/script/build-with-container.py -b build.inner
--overlay-dir build.ovr`. This will create a directory
`build.ovr/content` automatically and all new files will appear there.
For example the build directory will appear at
`build.ovr/content/build.inner`.

To use the temporary overlay use a `-` as the directory name. For
example: `./src/script/build-with-container.py -b build.inner
--overlay-dir -`

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 794e3d0b25a05e019e549eb51ba0ddba1268d5a6)

4 months agoscript/build-with-container: skip dnf cache dir volume mounts on docker
John Mulligan [Thu, 20 Feb 2025 14:50:49 +0000 (09:50 -0500)]
script/build-with-container: skip dnf cache dir volume mounts on docker

When using docker the --volume option is not available during build
(docker [buildx] build), unlike podman. Since passing these volumes must
be conditional on them being set up I see no way to handle this short of
just disabling the option on docker. Log the fact that it's being
skipped - the only other issue is that we pointlessly set up some dirs
and the build may be a bit slower.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 4208a736652190fdaad3006c435f6c068e81a093)

4 months agoscript/build-with-container: remove default --volume arg from ctr build
John Mulligan [Wed, 19 Feb 2025 18:20:36 +0000 (13:20 -0500)]
script/build-with-container: remove default --volume arg from ctr build

On the original github pr #59841 user fayak kindly informed us that the
--volume option was not supported by docker build. Since this section
was a leftover from a previous way of constructing the builder image and
was no longer needed we simply removed it.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 612a9d6808f4f1d4f93aeca055acba064e7a1209)

4 months agoscript/build-with-container.py: build builder image with --pull=always
John Mulligan [Wed, 19 Feb 2025 18:20:01 +0000 (13:20 -0500)]
script/build-with-container.py: build builder image with --pull=always

Construct the builder image using the --pull=always flag to initiate a
pull of the base image (centos, ubuntu, etc) in order to avoid using a
stale base image. Since the script automatically (by default) avoids
building if a matching tag is in local container storage it is handy to
use a fresh base when it *is* time to build something. Otherwise, you
end up in a situation like I sometimes do - using a months old base
unintentionally.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit f6e6188e30a9d765e86bd2d710666cfbdeb0818c)

4 months agoscript/build-with-container: add a common packages target
John Mulligan [Fri, 14 Feb 2025 19:50:42 +0000 (14:50 -0500)]
script/build-with-container: add a common packages target

Add a `packages` target to build-with-container.py that requests a build
of packages, whatever package type is native to the distro selected.
For example `./src/script/build-with-container.py -d ubuntu22.04 -e
packages` will automatically select a deb packages build where
`./src/script/build-with-container.py -d centos9 -e packages` will
trigger rpm packages to be built. The underlying package-type specific
targets remain unchanged.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 37b7d509c59348ae11badd6673cb49ce9ce303fa)

4 months agoscript/build-with-container: support custom tag suffixes
John Mulligan [Fri, 14 Feb 2025 16:44:35 +0000 (11:44 -0500)]
script/build-with-container: support custom tag suffixes

Previously, one could use the `--tag` option to completely override the
container tag generated by the script. However, there are cases where
one may want to add information to the tag rather than override it.
Allow the tag value to start with a plus (+) character that indicates
that the remainder of the string is to be suffixed to the generated tag.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 30836c4ed4b9332f22b31897ce4ece0ad4da6fc0)

4 months agoscript/build-with-container: add --base-branch cli option
John Mulligan [Fri, 14 Feb 2025 16:37:04 +0000 (11:37 -0500)]
script/build-with-container: add --base-branch cli option

Add a command line option --base-branch that allows the user to supply a
custom base branch name. git doesn't make determining this easy so we
always assume a base branch of 'main' by default - but this option lets
one change that.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit ff34bf7241f1a1072f74494cc8f50156e0076019)

4 months agosrc/script: rename CEPH_BRANCH to CEPH_BASE_BRANCH for build container
John Mulligan [Fri, 14 Feb 2025 16:24:29 +0000 (11:24 -0500)]
src/script: rename CEPH_BRANCH to CEPH_BASE_BRANCH for build container

Previously, we were passing build argument of CEPH_BRANCH, but that was
a bit misleading as we expect the current branch to vary a bit (as users
will be using branches to develop and test the code). What we actually
care about is the base branch ('main', 'squid', etc) as that is fed into
our bootstrap script and we want the option to simple variations based
on the name of said base branch.
Rename CEPH_BRANCH to CEPH_BASE_BRANCH for clarity.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit a1d49d557cfcc75bab6121e652350a6bfec3409f)

4 months agoscript/build-with-container: add --current-branch cli option
John Mulligan [Fri, 14 Feb 2025 16:24:06 +0000 (11:24 -0500)]
script/build-with-container: add --current-branch cli option

Add a new --current-branch argument that lets the user supply a name for
the current branch. This allows the automatic tag generation to avoid
calling git - something useful if the tree is not using a git checkout
(like a tarball). It also allows you to pull a temporary branch in git
but ignore it and act like the temporary branch is the base branch.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit c1713c5bc37b7e31bd84555066c06a72bb0f025b)

4 months agoscript/build-with-container: add more distro aliases
John Mulligan [Tue, 11 Feb 2025 23:36:13 +0000 (18:36 -0500)]
script/build-with-container: add more distro aliases

Add a system to define distro name aliases and use that to define some
additional aliases, primarily to match ubuntu codenames rather than
version numbers. Requested by Zack.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 65f055f0d8390b9787007433d16cf3a1737584ff)

4 months agoscript/build-with-container: apply black formatting to file
John Mulligan [Thu, 20 Feb 2025 00:21:27 +0000 (19:21 -0500)]
script/build-with-container: apply black formatting to file

After the last set of fixes and enhancements I forgot to reformat the
file. This applies standard `black` formatting to the file.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit de855aec1c7a483ca5f0971a149860e8aaee8f7f)

4 months agoMerge pull request #61435 from idryomov/wip-57864-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:28:56 +0000 (14:28 -0800)]
Merge pull request #61435 from idryomov/wip-57864-squid

squid: qa/tasks: Include stderr on tasks badness check.

Reviewed-by: Laura Flores <lflores@redhat.com>
4 months agoMerge pull request #61110 from NitzanMordhai/wip-67137-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:28:17 +0000 (14:28 -0800)]
Merge pull request #61110 from NitzanMordhai/wip-67137-squid

squid: test/neorados: timeout test won't reconnect at timeout

Reviewed-by: Laura Flores <lflores@redhat.com>
4 months agoMerge pull request #61864 from ljflores/wip-69962-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:19:17 +0000 (14:19 -0800)]
Merge pull request #61864 from ljflores/wip-69962-squid

squid: qa/tasks: improve ignorelist for thrashing OSDs

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
4 months agoMerge pull request #61639 from prazumovsky/close-range-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:18:43 +0000 (14:18 -0800)]
Merge pull request #61639 from prazumovsky/close-range-squid

squid: common: use close_range on Linux

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
4 months agoMerge pull request #61335 from idryomov/wip-69135-squid
Yuri Weinstein [Wed, 5 Mar 2025 22:17:28 +0000 (14:17 -0800)]
Merge pull request #61335 from idryomov/wip-69135-squid

squid: qa/suites/upgrade/reef-x: sync log-ignorelist with quincy-x

Reviewed-by: Samuel Just <sjust@redhat.com>
4 months agoMerge pull request #61910 from aclamk/wip-aclamk-bs-fragmentation-health-squid
Laura Flores [Wed, 5 Mar 2025 17:05:19 +0000 (11:05 -0600)]
Merge pull request #61910 from aclamk/wip-aclamk-bs-fragmentation-health-squid

squid: os/bluestore: Add health warning for bluestore fragmentation