]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
15 months agoqa/tasks: add error condition to exec functions
John Mulligan [Tue, 27 Feb 2024 14:48:25 +0000 (09:48 -0500)]
qa/tasks: add error condition to exec functions

Looking at the code that expands `all-roles` and `all-hosts` there's no
proper error checking for when these values appear but there are >1
top-level roles in the task config. If a user does this it'll fail
but in a somewhat unclear manner. Add a new condition that raises a
clear exception in this case hopefully saving someone future debugging
time.

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

15 months agoqa/tasks: reduce duplicated code
John Mulligan [Tue, 27 Feb 2024 14:44:51 +0000 (09:44 -0500)]
qa/tasks: reduce duplicated code

All `exec`-style function in teuthology appear to have a transformation
block that expands names like `all-roles` and `all-hosts`. With the new
cephadm.exec task that block appeared twice in cephadm.py. This change
removes the duplication by creating an _expand_roles function that
can be called from the command executing functions.

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

15 months agoqa/tasks: add a template filter to map a role name to a remote
John Mulligan [Mon, 26 Feb 2024 21:17:22 +0000 (16:17 -0500)]
qa/tasks: add a template filter to map a role name to a remote

Add a `role_to_remote` template filter function that has the ability to
map a role name to a remote. Attributes of the remote can then be
used to get the actual node ip or name.

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

15 months agoqa/tasks: a new cephadm exec task similar to vip.exec but generalized
John Mulligan [Mon, 26 Feb 2024 21:16:57 +0000 (16:16 -0500)]
qa/tasks: a new cephadm exec task similar to vip.exec but generalized

Add a new cephadm.exec task that works similarly to the existing
vip.exec but instead of only considering VIP related string replacements
it uses that templating feature that was recently added to the
cephadm module for generalized string templating.

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

15 months agoqa/tasks: add a cephadm.exclude role
John Mulligan [Mon, 26 Feb 2024 18:47:04 +0000 (13:47 -0500)]
qa/tasks: add a cephadm.exclude role

Add a cephadm.exclude role that excludes a test node from cluster setup
and related commands. I need this as I have  test node that will be set
up as an AD Domain Controller for testing Samba and do not want that
node to be have *any* other services running on it.

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

15 months agoqa/tasks: allow passing stdin string to cephadm shell commands
John Mulligan [Sat, 24 Feb 2024 19:26:36 +0000 (14:26 -0500)]
qa/tasks: allow passing stdin string to cephadm shell commands

There are cases where I want to pass some large-ish strings to ceph
commands executed via cephadm shell. Allow items within the commands
list to be dicts containing a command (as before) and an optional
stdin variable. This change also supports possible future extensions as
well.

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

15 months agoqa/tasks: add a new cephadm task for setting up samba ad dc
John Mulligan [Tue, 20 Feb 2024 23:28:58 +0000 (18:28 -0500)]
qa/tasks: add a new cephadm task for setting up samba ad dc

Add a new task function to cephadm.py that sets up a container running
the Samba based domain controller on a node using podman or docker.
Much of the function actually deals with disabling systemd-resolved
because that service conflicts with the DNS server component of the DC.

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

15 months agodoc/cephadm: add a file documenting the smb service
John Mulligan [Sat, 10 Feb 2024 14:06:53 +0000 (09:06 -0500)]
doc/cephadm: add a file documenting the smb service

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

15 months agomgr/cephadm: add some tests for the new smb service
John Mulligan [Thu, 14 Dec 2023 00:36:46 +0000 (19:36 -0500)]
mgr/cephadm: add some tests for the new smb service

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

15 months agomgr/cephadm: simplify _get_container_image a bit
John Mulligan [Fri, 5 Jan 2024 15:45:08 +0000 (10:45 -0500)]
mgr/cephadm: simplify _get_container_image a bit

Because the "if-ladder" was only ever assigning a single variable with
a value it can be directly replaced by a dict & dict-lookup which is
much more succinct.
Also take the opportunity to sort the (non-comment) lines as there's
no meaning to the previous order and this makes it easier for a reader
to scan through.

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

15 months agomgr/cephadm: add the samba container image for smb daemons
John Mulligan [Fri, 15 Dec 2023 18:15:19 +0000 (13:15 -0500)]
mgr/cephadm: add the samba container image for smb daemons

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

15 months agomgr/cepahdm: add various touch points to enable smb service
John Mulligan [Thu, 4 Jan 2024 21:38:08 +0000 (16:38 -0500)]
mgr/cepahdm: add various touch points to enable smb service

Add the smb service by name or by type to one of the many, many touch
points in the orchestrator and cephadm packages needed to get the
orchestrator aware of smb.

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

15 months agomgr/cephadm: add a new smb ceph service subclass
John Mulligan [Wed, 13 Dec 2023 21:10:11 +0000 (16:10 -0500)]
mgr/cephadm: add a new smb ceph service subclass

Will be used in a later commit to implement deploying smb instances.

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

15 months agopython-common: define a new SMBSpec service spec type
John Mulligan [Wed, 13 Dec 2023 21:10:37 +0000 (16:10 -0500)]
python-common: define a new SMBSpec service spec type

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

15 months agopython-common: reformat ServiceSpec class level service type lists
John Mulligan [Thu, 14 Dec 2023 00:20:45 +0000 (19:20 -0500)]
python-common: reformat ServiceSpec class level service type lists

Reformat the ServiceSpec classes properties KNOWN_SERVICE_TYPES and
REQUIRES_SERVICE_ID. These were previously strings that were converted
to lists via a call to split. With a string there's very little a human
or a tool can do to validate the content. Changing these into proper
lists in the source code brings clarity of intent and the ability to
analyze the code. Because there's no semantic difference what services
are listed where (this means the type could probably be a set - a quest
for another day) I also took the opportunity to sort the contents of the
lists and add some basic comments for what these lists are for.

It also removes the use of (ugly, IMO) line continuations. The downside
is that it makes more total lines, but if that bugs you - use code
folding :-).

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

15 months agomgr/cephadm: refactor keyring simplification out of get_keyring_with_caps
John Mulligan [Fri, 5 Jan 2024 15:24:10 +0000 (10:24 -0500)]
mgr/cephadm: refactor keyring simplification out of get_keyring_with_caps

Refactor get_keyring_with_caps such that the keyring simplification code
is moved into a new function that can be used in other locations.
get_keyring_with_caps will now call the new function to return the
simplified & consistent keyring output.

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

15 months agomgr/cephadm: reformat the _service_classes variable
John Mulligan [Wed, 13 Dec 2023 20:49:12 +0000 (15:49 -0500)]
mgr/cephadm: reformat the _service_classes variable

Reformat the _service_classes variable so that it uses a multi-line list
with a single item on each line in a more black-ish style that is more
readable (especially if you use code-folding wisely).
Sort the list while we're at it.

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

15 months agomgr/orchestrator: fix the sorting of the imports
John Mulligan [Wed, 13 Dec 2023 21:05:27 +0000 (16:05 -0500)]
mgr/orchestrator: fix the sorting of the imports

While ceph doesn't enforce sorted imports I prefer them when possible. I
had once sorted these imports but then nvmeof came along an ruined
things. Put nvmeof back in it's place.

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

15 months agomgr/orchestrator: clean up import style
John Mulligan [Wed, 13 Dec 2023 19:37:17 +0000 (14:37 -0500)]
mgr/orchestrator: clean up import style

In the seemingly never-ending fight against line continuations and just
blatting tons of stuff onto single lines another small victory is won.

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

15 months agomgr/cephadm: fix test failure on newer python
John Mulligan [Wed, 13 Dec 2023 19:33:20 +0000 (14:33 -0500)]
mgr/cephadm: fix test failure on newer python

Tests that touch this enum fail for me locally but pass in the CI. This
seems to be due to new enum related behavior in Python 3.11.
See: https://blog.pecar.me/python-enum
Instead of fixing it as suggested in the above blog, adding a __str__
method works on all python versions I care to know about.

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

15 months agocephadm: fix issue joining to ad by using a virtual hostname
John Mulligan [Tue, 16 Jan 2024 20:37:27 +0000 (15:37 -0500)]
cephadm: fix issue joining to ad by using a virtual hostname

The not-a-real-fqdn hostname that the containers got were causing
performance issues joining AD (and running testjoin and winbind).
Define a virtual hostname that can be passed in from the service or
automatically derived from the system's hostname.

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

15 months agocephadm: add a basic deployment test for an smb daemon
John Mulligan [Wed, 6 Dec 2023 20:14:32 +0000 (15:14 -0500)]
cephadm: add a basic deployment test for an smb daemon

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

15 months agocephadm: import and enable deployment of SMB daemon class
John Mulligan [Wed, 6 Dec 2023 20:14:32 +0000 (15:14 -0500)]
cephadm: import and enable deployment of SMB daemon class

Enable the use of the SMB container daemon form class by importing, and
thus registering, it. Note that the only way to invoke this feature is
by hand rolling some JSON to feed to the `ceph _orch deploy` command.
Connecting this with the cephadm mgr module is left as a future task.

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

15 months agocephadm: add an SMB daemon module and classes
John Mulligan [Wed, 6 Dec 2023 20:14:31 +0000 (15:14 -0500)]
cephadm: add an SMB daemon module and classes

Add an incomplete but largely viable SMB/Samba container daemon form
implementation to cephadm. Currently unused but it lays out some of the
basics needed to create smb sharing using samba containers under cephadm
orchestration.

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

15 months agocephadm: add a default constant value for samba server container image
John Mulligan [Tue, 21 Nov 2023 22:11:37 +0000 (17:11 -0500)]
cephadm: add a default constant value for samba server container image

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

15 months agocephadm: add generic methods for sharing namespaces across containers
John Mulligan [Sun, 3 Dec 2023 16:01:05 +0000 (11:01 -0500)]
cephadm: add generic methods for sharing namespaces across containers

In the future, some sidecar containers will need to share namespaces
with the primary container (or each other). Make it easy to set this up
by creating a enable_shared_namespaces function and Namespace enum.

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

15 months agoqa/tasks: replace uses of subst_vip with new templating function
John Mulligan [Thu, 22 Feb 2024 18:51:16 +0000 (13:51 -0500)]
qa/tasks: replace uses of subst_vip with new templating function

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

15 months agoqa/tasks: add templating functions to cephadm module
John Mulligan [Thu, 22 Feb 2024 18:49:10 +0000 (13:49 -0500)]
qa/tasks: add templating functions to cephadm module

Add functions to cephadm.py that will be later used to template
strings within the yaml files in the cephadm suites. This will be used
to replace the specific subst_vip call with generic calls that let
tests access "any" variables stored on the test ctx.

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

15 months agoqa/tasks: fix VIPs log line
John Mulligan [Tue, 20 Feb 2024 15:09:50 +0000 (10:09 -0500)]
qa/tasks: fix VIPs log line

While testing my previous patches were correct I noticed that the string
here was logged exactly as written, and was thus pretty useless.  This
was probably meant to be an f-string. So make it one. Also get rid of
the unnecessary map call, the list and IP address type can repr
themselves just fine IMO.

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

15 months agoqa/tasks: make _map_vips private
John Mulligan [Tue, 20 Feb 2024 00:18:08 +0000 (19:18 -0500)]
qa/tasks: make _map_vips private

Nothing outside of vip.py called map_vips, so let us make sure this
is considered a private function and prefix it with the underscore.

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

15 months agoqa/tasks: change map_vips to raise exceptions instead of returning None
John Mulligan [Tue, 20 Feb 2024 00:14:52 +0000 (19:14 -0500)]
qa/tasks: change map_vips to raise exceptions instead of returning None

None of the callers of map_vips ever checks for a None return. So
instead of handling any error conditions it would always just blow
up with a semi-obscure TypeError. Convert the function to always
raise an exception (one that tries to breifly explain the condition)
when something goes wrong. I also take the opportunity to make
more clearer logging and reduce an indentation level.

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

15 months agoMerge pull request #56861 from rhcs-dashboard/wip-65458-squid
Ivo Almeida [Mon, 15 Apr 2024 08:13:07 +0000 (09:13 +0100)]
Merge pull request #56861 from rhcs-dashboard/wip-65458-squid

squid: mgr/dashboard: fix snap schedule delete retention

Reviewed-by: afreen23 <NOT@FOUND>
15 months agoMerge pull request #56871 from zdover23/wip-doc-2024-04-14-backport-56870-to-squid
Anthony D'Atri [Sat, 13 Apr 2024 21:50:59 +0000 (17:50 -0400)]
Merge pull request #56871 from zdover23/wip-doc-2024-04-14-backport-56870-to-squid

squid: doc/cephfs: disambiguate "Reporting Free Space"

15 months agodoc/cephfs: disambiguate "Reporting Free Space" 56871/head
Zac Dover [Sat, 13 Apr 2024 10:48:21 +0000 (20:48 +1000)]
doc/cephfs: disambiguate "Reporting Free Space"

Make a few sentences clearer in doc/cephfs/ceph-auth.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 788ccff18149b16cb01947c5bcf3bde380090df0)

15 months agoMerge pull request #56670 from cbodley/wip-65292-squid
Casey Bodley [Fri, 12 Apr 2024 18:01:41 +0000 (19:01 +0100)]
Merge pull request #56670 from cbodley/wip-65292-squid

squid: rgw/pubsub: CreateTopic validates topic name

Reviewed-by: Yuval Lifshitz <ylifshit@ibm.com>
15 months agoMerge pull request #56069 from cbodley/wip-64818-squid
Casey Bodley [Fri, 12 Apr 2024 17:54:18 +0000 (18:54 +0100)]
Merge pull request #56069 from cbodley/wip-64818-squid

squid: rgw: replicate v2 topic/notification metadata

Reviewed-by: Adam Emerson <aemerson@redhat.com>
15 months agomgr/dashboard: fix snap schedule delete retention 56861/head
Ivo Almeida [Mon, 8 Apr 2024 13:39:49 +0000 (14:39 +0100)]
mgr/dashboard: fix snap schedule delete retention

Fixes: https://tracker.ceph.com/issues/65370
Signed-off-by: Ivo Almeida <ialmeida@redhat.com>
(cherry picked from commit 985637825a48a678b0d88887c5e322de65599fc7)

15 months agoMerge pull request #56856 from guits/update-cv-func-tests-squid
Guillaume Abrioux [Fri, 12 Apr 2024 14:19:04 +0000 (16:19 +0200)]
Merge pull request #56856 from guits/update-cv-func-tests-squid

ceph-volume: update functional testing

15 months agoMerge pull request #56850 from zdover23/wip-doc-2024-04-12-backport-56831-to-squid
Anthony D'Atri [Fri, 12 Apr 2024 14:04:10 +0000 (10:04 -0400)]
Merge pull request #56850 from zdover23/wip-doc-2024-04-12-backport-56831-to-squid

squid: doc/cephfs: refine client-auth (3 of 3)

15 months agoMerge pull request #56750 from ronen-fr/wip-rf-unreserved-squid
Ronen Friedman [Fri, 12 Apr 2024 12:17:43 +0000 (15:17 +0300)]
Merge pull request #56750 from ronen-fr/wip-rf-unreserved-squid

squid:osd/scrub: disable scrub reservation queuing

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
15 months agoceph-volume: update functional testing 56856/head
Guillaume Abrioux [Thu, 11 Apr 2024 07:43:47 +0000 (09:43 +0200)]
ceph-volume: update functional testing

various changes for fixing ceph-volume functional testing.
cleaning up deploy.yml (drop py2 references)

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 90bfaaa2f0ab7e28c0f78189ccb83635e944e758)

15 months agosquid:osd/scrub: disable scrub reservation queuing 56750/head
Ronen Friedman [Sun, 7 Apr 2024 18:18:50 +0000 (13:18 -0500)]
squid:osd/scrub: disable scrub reservation queuing

as a temporary measure for Squid RC0. There are known problems in the
existing code, with patch PRs being tested. This change disables the
Reserver functionality, until such time as the patches are merged.

Note the following trackers:
- https://tracker.ceph.com/issues/65044
- https://tracker.ceph.com/issues/65072

Once these are solved, this commit should be reverted.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
15 months agoMerge pull request #56766 from ronen-fr/wip-65374-squid
Ronen Friedman [Fri, 12 Apr 2024 09:09:33 +0000 (12:09 +0300)]
Merge pull request #56766 from ronen-fr/wip-65374-squid

squid: tests/scripts: use 'tell pg deep-scrub pgid' instead of 'tell pgid deep-scrub'

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
15 months agodoc/cephfs: refine client-auth (3 of 3) 56850/head
Zac Dover [Thu, 11 Apr 2024 11:18:53 +0000 (21:18 +1000)]
doc/cephfs: refine client-auth (3 of 3)

Refine the final third of doc/cephfs/client-auth.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 44d1eeed703e968b374ec4d12fff3a2466a4c276)

15 months agoMerge pull request #56841 from zdover23/wip-doc-2024-04-12-backport-56784-to-squid
Anthony D'Atri [Fri, 12 Apr 2024 03:12:13 +0000 (23:12 -0400)]
Merge pull request #56841 from zdover23/wip-doc-2024-04-12-backport-56784-to-squid

doc/cephfs: refine client-auth (2 of 3)

15 months agodoc/cephfs: refine client-auth (2 of 3) 56841/head
Zac Dover [Tue, 9 Apr 2024 12:04:46 +0000 (22:04 +1000)]
doc/cephfs: refine client-auth (2 of 3)

Refine the second third of doc/cephfs/client-auth.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 083f56352b4fff662dff3c78b6a0c455605d02ff)

15 months agotest/rgw/notification: fix threading issue in test 56069/head
Yuval Lifshitz [Tue, 9 Apr 2024 10:00:08 +0000 (10:00 +0000)]
test/rgw/notification: fix threading issue in test

test_ps_s3_persistent_topic_stats may delete boto client threads
before they are done.
also, no need to run the http server twice

Fixes: https://tracker.ceph.com/issues/63909
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit 51e365927361db19b2ae2b270bab7f30fe3e51ee)

15 months agotest/rgw/notification: use polling instead of sleep
Yuval Lifshitz [Thu, 4 Apr 2024 17:14:31 +0000 (17:14 +0000)]
test/rgw/notification: use polling instead of sleep

when checking persistent stats queue length

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit 5581bc7d14f4c5814a7d43597aa77cacd6a2d125)

15 months agotest/rgw/notification: cleanup leftover topics
Yuval Lifshitz [Thu, 4 Apr 2024 16:25:33 +0000 (16:25 +0000)]
test/rgw/notification: cleanup leftover topics

this may happen when a test fails, and does not cleanup topics
it created. other tests that verify the number of topics may fail
because of that.
all tests that verify number of topics, should delete all topics at the
start of the test.

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit 9ae0de17e1a8c3a0527b04981eeb7e632da985ac)

15 months agotest/rgw/notification: use simpler multithreaded http server
Yuval Lifshitz [Mon, 25 Mar 2024 11:11:31 +0000 (11:11 +0000)]
test/rgw/notification: use simpler multithreaded http server

Fixes: https://tracker.ceph.com/issues/63909
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit 673adcbdbd01e64c8b76c3176e062571fb8710ac)

15 months agotest/rgw/notifications: do not delay http responses to notifications
Yuval Lifshitz [Tue, 20 Feb 2024 10:12:26 +0000 (10:12 +0000)]
test/rgw/notifications: do not delay http responses to notifications

we also increase the wating time after rerunning the http server
to allow fo the persistent notifications retries to finish

Fixes: https://tracker.ceph.com/issues/63909
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit ca6688696b9ac9f838ffe21951331b6a1974dae8)

15 months agorgw/notification: Load bucket attrs before calling publish_reserve.
kchheda3 [Thu, 4 Apr 2024 18:30:40 +0000 (14:30 -0400)]
rgw/notification: Load bucket attrs before calling publish_reserve.

As part of PR# 55657, publish_reserve would reload bucket to ensure bucket_attrs are loaded. However for lc events, where the bucket attrs were already loaded, the reloading was causing crash but there was no obvious root cause, so to avoid the crashes, remove reloading of bucket in publish_reserve and put the onus on callers to load the bucket before calling publish_reserve.

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit fa5d370663804db9752c99e79659aae031a7bf85)

15 months agotest/rgw/noitifications: run basic/http/migration tests with 2 RGWs
Yuval Lifshitz [Mon, 18 Mar 2024 16:44:39 +0000 (16:44 +0000)]
test/rgw/noitifications: run basic/http/migration tests with 2 RGWs

this is useful to:
* cover the cls_lock code with persistent notifications
* cover v1 to v2 migration collisions between RGWs

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit c0e540e6f11aa32b347ea6e7e9f03cad5d1913e8)

15 months agorgw/notifications: run v2 migration tests in teuthology
Yuval Lifshitz [Thu, 14 Mar 2024 12:21:19 +0000 (12:21 +0000)]
rgw/notifications: run v2 migration tests in teuthology

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit 67d43ae2538a611373159346855dab8701e176fb)

15 months agoRGW/Rados: Migrate topics to data path v2
Ali Masarwa [Tue, 9 Jan 2024 21:51:54 +0000 (23:51 +0200)]
RGW/Rados: Migrate topics to data path v2

also add migration tests

Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
(cherry picked from commit 1a7d1454801e3d7b888aa734c4e3b609febf417f)

15 months agorgw/notification: Support generating multisite sync delete events.
kchheda3 [Tue, 27 Feb 2024 20:11:48 +0000 (15:11 -0500)]
rgw/notification: Support generating multisite sync delete events.

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit 37069ac96b53d2d4927b9d6f743790847861ec8e)

15 months agorgw/notification: Make the Replication events to be aws compatible.
kchheda3 [Tue, 27 Feb 2024 19:24:43 +0000 (14:24 -0500)]
rgw/notification: Make the Replication events to be aws compatible.

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit 3ea110bb89a7f666de25f8a128fa8bbb231e304f)

15 months agorgw/notification: Make the Lifecycle events AWS compatible
kchheda3 [Tue, 27 Feb 2024 19:06:47 +0000 (14:06 -0500)]
rgw/notification: Make the Lifecycle events AWS compatible

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit ea6611327c9aa678c524e0d71e954bd735d60789)

15 months agoPendingReleaseNotes: announce the notification_v2 feature and its migration
Casey Bodley [Wed, 13 Mar 2024 22:47:35 +0000 (18:47 -0400)]
PendingReleaseNotes: announce the notification_v2 feature and its migration

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 4f0ff0f80ba0ef6273c31345e93244ccc37cfa69)

15 months agodoc/radosgw: document the notification_v2 zone feature
Casey Bodley [Wed, 13 Mar 2024 22:35:40 +0000 (18:35 -0400)]
doc/radosgw: document the notification_v2 zone feature

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 30d97250f945e0afdfe9ca52a97a42922091d4dd)

15 months agodoc/radosgw: generalize description of Zone Features
Casey Bodley [Wed, 13 Mar 2024 22:20:55 +0000 (18:20 -0400)]
doc/radosgw: generalize description of Zone Features

so they make sense outside of multisite configurations

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 0a97eb89e1d9c99e96fd215e9dc31febc2e44de5)

15 months agodoc/radosgw: move the Zone Features section to its own page
Casey Bodley [Wed, 13 Mar 2024 22:12:42 +0000 (18:12 -0400)]
doc/radosgw: move the Zone Features section to its own page

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit d5ac275694bce35d37d7226b2f63934e3c277cbd)

15 months agoqa/rgw: notification suite creates a realm
Casey Bodley [Thu, 7 Mar 2024 23:07:38 +0000 (18:07 -0500)]
qa/rgw: notification suite creates a realm

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7ef94cdb1c97f537561a7c8bb226d9d22ff709a8)

15 months agoqa/rgw: teach rgw.py to create an optional realm
Casey Bodley [Wed, 6 Mar 2024 19:04:46 +0000 (14:04 -0500)]
qa/rgw: teach rgw.py to create an optional realm

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 4ac0b7df3c15140bc9d904a1e12fac482c7130be)

15 months agorgw/notifications: delete persistent queue only if topic is deleted
Yuval Lifshitz [Tue, 13 Feb 2024 16:36:51 +0000 (16:36 +0000)]
rgw/notifications: delete persistent queue only if topic is deleted

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit 666e79f1fb78fe8128791e9e23159571f76cfe70)

15 months agorgw/notifications: handle migration state between v1 and v2
Yuval Lifshitz [Sat, 10 Feb 2024 16:38:30 +0000 (16:38 +0000)]
rgw/notifications: handle migration state between v1 and v2

test instructions:
https://gist.github.com/yuvalif/21449e301732b719cd1ed97c3eeeabb2

* during migration all topic and notification operations must fail with HTTP error code 503
* read operations should return the values of the v1 topics and notifications
* sending notifications should continue based on v1 values

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit bcd79d23df63e72839c652cbc20ebb67a024ba85)

15 months agorgw: move rgw_rest_pubsub.h out of driver/rados/
Casey Bodley [Tue, 13 Feb 2024 15:57:08 +0000 (10:57 -0500)]
rgw: move rgw_rest_pubsub.h out of driver/rados/

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 5b2ae726a95c9922a5c5ba984d6e170dd115128b)

15 months agorgw/pubsub: topic apis forward post body
Casey Bodley [Mon, 12 Feb 2024 21:44:00 +0000 (16:44 -0500)]
rgw/pubsub: topic apis forward post body

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 9d46c21bc6e522b1d85056e1e545125743aace65)

15 months agorgw/topic: metadata handler adds/removes persistent queues
Casey Bodley [Thu, 18 Jan 2024 20:34:16 +0000 (15:34 -0500)]
rgw/topic: metadata handler adds/removes persistent queues

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 633a5bef314b5fbc3087271d684f22f9beafb21a)

15 months agorgw/topic: remove unused RGWSI_Topic_RADOS
Casey Bodley [Wed, 10 Jan 2024 22:40:11 +0000 (17:40 -0500)]
rgw/topic: remove unused RGWSI_Topic_RADOS

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit be9cc0c7bc163f4e578bd5459866a2c1e5c8a2dd)

15 months agorgw/topic: add rgwrados::topic interface for topic metadata
Casey Bodley [Wed, 10 Jan 2024 20:33:25 +0000 (15:33 -0500)]
rgw/topic: add rgwrados::topic interface for topic metadata

add a new interface for topic metadata that doesn't depend on metadata
backends. this low-level interface is used by both RadosStore and the
topic metadata handler

remove Driver::delete_bucket_topic_mapping() from sal because the omap
object is deleted internally by rgwrados::topic::remove()

remove the RGWRados::topics_pool_ctx member

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 6d1d036afb2d1624674fef43f2e70ef3b3ae2859)

15 months agorgw/topic: metadata key format in rgw_pubsub.h
Casey Bodley [Wed, 10 Jan 2024 22:07:27 +0000 (17:07 -0500)]
rgw/topic: metadata key format in rgw_pubsub.h

the format of topic metadata keys is agnostic to the backend, so the
parsing/formatting functions should be in rgw_pubsub.h

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 1caf954dab136e7d5cff97f76ce362c1bfb8d3f4)

15 months agorgw: paginate ListTopics
Casey Bodley [Tue, 9 Jan 2024 23:55:40 +0000 (18:55 -0500)]
rgw: paginate ListTopics

rename read_topics()/write_topics() to 'v1' and only call them from
internal v1 call paths

public get_topics() now calls read_topics_v1() for the v1 case, and does
the paginated listing with driver->meta_list_keys_next() for v2

RGWPSListTopicsOp now uses the NextToken request/response params with
the paginated get_topics(), limiting responses to 100 entries like AWS

'radosgw-admin topic list' also paginates the listing according to
--max-entries to avoid reading everything into memory at once

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit db6c73a0cdcf60a920c91b6d4506df36d98b7308)

15 months agorgw/mdlog: add complete_entry() for most common usage
Casey Bodley [Fri, 5 Jan 2024 15:26:00 +0000 (10:26 -0500)]
rgw/mdlog: add complete_entry() for most common usage

metadata sync ignores entries other than MDLOG_STATUS_COMPLETE, so we
don't need to write separate prepare/complete entries. metadata
mutations can just call complete_entry() on success

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7827b2527f6b656331ae337ebc196c17b2716e48)

15 months agorgw/metadata: add RGWMetadataLister abstraction
Casey Bodley [Sun, 3 Dec 2023 19:10:30 +0000 (14:10 -0500)]
rgw/metadata: add RGWMetadataLister abstraction

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 6000732706890fa5d276d22972d1d83be32bb5c8)

15 months agorgw: RGWPubSub requires SiteConfig
Casey Bodley [Sun, 4 Feb 2024 20:17:47 +0000 (15:17 -0500)]
rgw: RGWPubSub requires SiteConfig

RGWPubSub constructor takes SiteConfig instead of zonegroup map

replace do_all_zonegroups_support_notification_v2() with a generic
function rgw::all_zonegroups_support() that handles non-realm
configurations too

remove unused sal::ZoneGroup::supports_feature()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 1fccdad21d5bcdebbdd7167b7ed18391a1e8d1e2)

15 months agorgw/rados: RGWTopicMetadataHandler doesn't depend on RGWPubSub
Casey Bodley [Sun, 4 Feb 2024 19:04:11 +0000 (14:04 -0500)]
rgw/rados: RGWTopicMetadataHandler doesn't depend on RGWPubSub

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 0b8b62bed0e79dd54d1baac240695b2a398d407f)

15 months agorgw/rados: store SiteConfig with RGWServices
Casey Bodley [Sun, 4 Feb 2024 18:43:10 +0000 (13:43 -0500)]
rgw/rados: store SiteConfig with RGWServices

make the SiteConfig available to all of RGWRados via svc.site instead
of storing it in sal::RadosStore

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 0057bb7d0f02974f3a8cb1d34e73ead8d92c3062)

15 months agoradosgw-admin: make SiteConfig available to commands
Casey Bodley [Sun, 4 Feb 2024 16:37:57 +0000 (11:37 -0500)]
radosgw-admin: make SiteConfig available to commands

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 0f333f1cc5a265015d4d436e1275ffadc2d0d8d4)

15 months agorgw/multisite-notification: allow enabling v1/v2 in tests
Yuval Lifshitz [Thu, 28 Dec 2023 12:05:09 +0000 (12:05 +0000)]
rgw/multisite-notification: allow enabling v1/v2 in tests

v1 could be enabled only in local tests. teuthology tests would run with v2

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit d2db9df224659cf711aee80479b5d462ff3ca716)

15 months agotest/rgw/notifications: support running tests in multisite environment
Yuval Lifshitz [Thu, 21 Dec 2023 18:18:45 +0000 (18:18 +0000)]
test/rgw/notifications: support running tests in multisite environment

both locally and in teuthology

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit 7502215d70a423e642e5147a0d444f627a7979f2)

15 months agorgw/multisite-notification: Add integration test for bucket notifications in multisit...
kchheda3 [Mon, 11 Dec 2023 20:47:30 +0000 (15:47 -0500)]
rgw/multisite-notification: Add integration test for bucket notifications in multisite config.

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit 1ed8df24ae0f279a6e7d294231b5e6c1e45fb663)

15 months agorgw/multisite-notification: Add omap object to store the mapping between bucket and...
kchheda3 [Thu, 21 Dec 2023 22:23:05 +0000 (17:23 -0500)]
rgw/multisite-notification: Add omap object to store the mapping between bucket and topics.

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit df668e9f65cec50227f671eb2e624c0ee02f2c37)

15 months agorgw/multisite-notification: Add support to replicate bucket notifications in multisit...
kchheda3 [Tue, 5 Dec 2023 17:26:48 +0000 (12:26 -0500)]
rgw/multisite-notification: Add support to replicate bucket notifications in multisite config.

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit ab74e2cfe4e3738b85d38a132f835d1dca113258)

15 months agorgw/multisite-notification: Add support to replicate topic creation in multisite...
kchheda3 [Mon, 27 Nov 2023 20:51:02 +0000 (15:51 -0500)]
rgw/multisite-notification: Add support to replicate topic creation  in multisite config

Signed-off-by: kchheda3 <kchheda3@bloomberg.net>
(cherry picked from commit c4a147d079cb9f268340e5f79ec5350a94296658)

15 months agotest/rgw/notifications: split tests between basic, kafka and amqp
Yuval Lifshitz [Thu, 22 Feb 2024 09:58:00 +0000 (09:58 +0000)]
test/rgw/notifications: split tests between basic, kafka and amqp

see comment: https://tracker.ceph.com/issues/64184#note-3

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit 6f28930602a2dfdcd402537c1a274df1836109ce)

15 months agoMerge pull request #56778 from epuertat/wip-65368-squid
Ernesto Puerta [Wed, 10 Apr 2024 08:55:38 +0000 (10:55 +0200)]
Merge pull request #56778 from epuertat/wip-65368-squid

squid: install-deps: enable copr ceph/grpc

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agoMerge pull request #56779 from zdover23/wip-doc-2024-04-09-backport-56754-to-squid
Anthony D'Atri [Tue, 9 Apr 2024 21:26:56 +0000 (17:26 -0400)]
Merge pull request #56779 from zdover23/wip-doc-2024-04-09-backport-56754-to-squid

squid: doc/cephfs: refine client-auth (1 of 3)

15 months agoMerge pull request #56797 from zdover23/wip-doc-2024-04-10-backport-56796-to-squid
Anthony D'Atri [Tue, 9 Apr 2024 20:59:01 +0000 (16:59 -0400)]
Merge pull request #56797 from zdover23/wip-doc-2024-04-10-backport-56796-to-squid

squid: doc/mgr: remove Zabbix 1 information

15 months agodoc/mgr: remove Zabbix 1 information 56797/head
Zac Dover [Tue, 9 Apr 2024 20:04:28 +0000 (06:04 +1000)]
doc/mgr: remove Zabbix 1 information

Remove information about the installation of the Zabbix module and link
to a discussion of the reasoning behind Ceph's refusal to support
Zabbix.

John Jasen developed a procedure explaining how to install "Zabbix 2".
This commit removes outdated procedures and explains why those
procedures were removed. Immediately following this explanation, the
text includes an explanation of how to install "Zabbix 2".

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 29ac627956c5e5cdd4ed5f1316c20bc9e1fe0ff7)

15 months agoMerge pull request #56783 from epuertat/wip-65390-squid
Ernesto Puerta [Tue, 9 Apr 2024 14:49:24 +0000 (16:49 +0200)]
Merge pull request #56783 from epuertat/wip-65390-squid

squid: mgr/dashboard: update NVMeoF gRPC: "listener add" changes

15 months agomgr/dashboard: update NVMeoF gRPC 56783/head
Ernesto Puerta [Tue, 2 Apr 2024 17:36:21 +0000 (19:36 +0200)]
mgr/dashboard: update NVMeoF gRPC

To include latest changes to the listener add call.

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

15 months agodoc/cephfs: refine client-auth (1 of 3) 56779/head
Zac Dover [Mon, 8 Apr 2024 12:07:38 +0000 (22:07 +1000)]
doc/cephfs: refine client-auth (1 of 3)

Refine the first third of doc/cephfs/client-auth.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 82c5bac5df553f1e13a2df3a107b2692efa6fc27)

15 months agoinstall-deps: enable copr ceph/grpc 56778/head
Nizamudeen A [Wed, 27 Mar 2024 16:29:55 +0000 (21:59 +0530)]
install-deps: enable copr ceph/grpc

In dashboard, to generate nvmeof apis in el8 this is needed so that it
can download the python3-grpcio packages.
https://copr.fedorainfracloud.org/coprs/ceph/grpc/

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

15 months agoMerge pull request #56668 from batrick/wip-65289-squid
Leonid S. Usov [Tue, 9 Apr 2024 10:10:55 +0000 (13:10 +0300)]
Merge pull request #56668 from batrick/wip-65289-squid

squid: mds/quiesce: prevent an overflow of the wait duration

15 months agoMerge pull request #56695 from ceph/wip-lusov-qdb-clear-squid
Leonid S. Usov [Mon, 8 Apr 2024 22:31:48 +0000 (01:31 +0300)]
Merge pull request #56695 from ceph/wip-lusov-qdb-clear-squid

squid: mds/quiesce-db: always clear the db if a membership is lost

15 months agoMerge pull request #56761 from adk3798/squid-cephadm-pin-pyfakefs-version
Adam King [Mon, 8 Apr 2024 18:24:42 +0000 (14:24 -0400)]
Merge pull request #56761 from adk3798/squid-cephadm-pin-pyfakefs-version

squid: cephadm: pin pyfakefs version for tox tests

Reviewed-by: Casey Bodley <cbodley@redhat.com>
15 months agotests/scripts: use 'tell pg deep-scrub pgid' instead of 'tell pgid 56766/head
Ronen Friedman [Sun, 7 Apr 2024 07:48:35 +0000 (02:48 -0500)]
tests/scripts: use 'tell pg deep-scrub pgid' instead of 'tell pgid
deep-scrub'

as older OSD versions do not support the former.

Fixes: https://tracker.ceph.com/issues/64972
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
(cherry picked from commit dda89e77ae6d0a1c7f351c74192417bf60fde3f4)

15 months agocephadm: pin pyfakefs version for tox tests 56761/head
Adam King [Mon, 8 Apr 2024 14:48:18 +0000 (10:48 -0400)]
cephadm: pin pyfakefs version for tox tests

5.4.0 seems to have caused a number of permission issues
in the test. In order to unblock make check, let's pin it
to 5.3.5 for now.

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit ce71ce10b7551a649c9a64be992c0eddfa7e7243)

15 months agoMerge pull request #56739 from zdover23/wip-doc-2024-05-07-backport-56738-to-squid
Anthony D'Atri [Sun, 7 Apr 2024 12:28:13 +0000 (08:28 -0400)]
Merge pull request #56739 from zdover23/wip-doc-2024-05-07-backport-56738-to-squid

squid: doc/dev: refine "Concepts" 4 of 3