RGW: Migrate topics to data path v2#55214
Conversation
e6366ff to
891411e
Compare
891411e to
b3c4d50
Compare
b3c4d50 to
0ae0893
Compare
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
pleass see the ongoing design discussion here: #54868 (comment) |
0ae0893 to
81c11d3
Compare
81c11d3 to
900fb0e
Compare
900fb0e to
2c71a4c
Compare
|
early feedback: rados is the only backend that has topic metadata, so i think we should make this migration logic rados-specific that means we don't need to add new interfaces to rgw_sal.h, rgw_sal_filter.h, etc. and the migration code itself would be under driver/rados/ instead of class RGWPubSub |
|
p.s. there are additional commits in #55152, we should base the migration work on that |
d273ec9 to
42c6643
Compare
ok, so we need the separate loops. not just for the testing, but for the migration state handling to work. |
|
with #56005 and c83521c, the migration tests are now running in teuthology. @AliMasarweh, once you add the tests described here: #55214 (comment) to make sure that migration works, even without this will give 2 RGWs with one zone and one zonegroup. I will create a separate PR for running the notifications test suite with multiple RGWs, but I don't want it to be a blocker for squid. |
@yuvalif all you have to do is add another 'client' under the rgw task: diff --git a/qa/suites/rgw/notifications/tasks/amqp/0-install.yaml b/qa/suites/rgw/notifications/tasks/amqp/0-install.yaml
index 9e7852d4d25..4d5d9b890e3 100644
--- a/qa/suites/rgw/notifications/tasks/amqp/0-install.yaml
+++ b/qa/suites/rgw/notifications/tasks/amqp/0-install.yaml
@@ -4,6 +4,7 @@ tasks:
- openssl_keys:
- rgw:
client.0:
+ client.1:
overrides:
ceph:same for kafka and others |
|
@AliMasarweh @yuvalif can you please help me list the outstanding tasks here? i want to determine whether we can reasonably merge this week |
I think merging this week is very unlikely, unless we cut down on the requirements, |
|
can we please set up a meeting today or tomorrow to discuss? |
|
@yuvalif do we have a plan for the handling of internal topics? |
I pushed a change the solves the issue of internal topics |
|
before the latest fixes from 3436daf will build and run again. |
|
fixed the latest comments and squashed commits. teuthology is mostly passing: https://pulpito.ceph.com/yuvalif-2024-04-01_16:06:27-rgw:notifications-wip-yuval-notif-data-path-v2-distro-default-smithi/ |
also add migration tests Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
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>
|
latest teuthology: https://pulpito.ceph.com/yuvalif-2024-04-03_15:02:16-rgw:notifications-wip-yuval-notif-data-path-v2-distro-default-smithi/
|
RGW: Migrate topics to data path v2
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windowsjenkins test rook e2e