Conversation
|
@cbodley , @mattbenjamin @smanjara : requesting a quick feedback on the changes in this PR. Doc changes and teuthology changes still to be done. |
|
The changes have been tested locally and work fine. |
8fdc0ec to
167e89f
Compare
|
The test case also works fine locally. I want to schedule a teuthology run, where do I add rgw config options for multisite tests? @smanjara @cbodley @alimaredia |
hi @pritha-srivastava you could add them in qa/suites/rgw/multisite/overrides.yaml |
Thank you @smanjara |
167e89f to
644eb75
Compare
in case the request is forwarded from secondary in a multi-site setup. authenticating with the system user creds of which are used to sign the request. Permissions are still derived from the role. Fixes: ceph/ceph#56576 Resolves: rhbz#2271595 Signed-off-by: Pritha Srivastava <[email protected]> (cherry picked from commit 1b3e1a6)
|
jenkins test make check |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
in case the request is forwarded from secondary in a multi-site setup. authenticating with the system user creds of which are used to sign the request. Permissions are still derived from the role. Fixes: ceph#56576 Resolves: rhbz#2271595 Signed-off-by: Pritha Srivastava <[email protected]> (cherry picked from commit 1b3e1a6)
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This pull request has been automatically closed because there has been no activity for 90 days. Please feel free to reopen this pull request (or open a new one) if the proposed change is still appropriate. Thank you for your contribution! |
|
@pritha-srivastava @smanjara what is this PR stalled on? |
I will rebase and update the PR. |
644eb75 to
6bff1be
Compare
i think the unnecessary "zone conn" abstraction is what's making this so difficult. that abstraction assumes there's only ever one identity, which isn't good enough for the test coverage we need in the test_bucket_create_with_tenant() example, it's running could you do similar with the sts and iam connections, instead of relying on changes to zone_rados.py? you can still use the
i'm not familiar with those, but cc @clwluvw who added them |
| log.debug('ZonegroupConns::__init__ alt_user=%s', alt_user.name) | ||
| zone_conn = z.get_conn(user.credentials, alt_user.credentials) | ||
| non_account_zone_conn = z.get_conn(non_account_user.credentials) | ||
| non_account_alt_zone_conn = z.get_conn(non_account_alt_user.credentials) |
There was a problem hiding this comment.
With the changes to get_conn(), the current usage of non_account_* calls will be the issue.
I'm not sure about the motivation for passing alternate credentials to ZoneConn—it appears they are primarily used for creating the STS client. However, if we can extend ZoneConn to include support for an alternate user context, it might be possible to unify those independent non_account_* calls under the same framework.
171cbaf to
1293b8c
Compare
|
@cbodley @smanjara : the teuthology results are here: the tests are passing in both the jobs: |
cbodley
left a comment
There was a problem hiding this comment.
approved regardless, lets get this through the full suite 🚀
src/test/rgw/test_multi.py
Outdated
| alt_user_creds = gen_credentials() | ||
| log.debug('created alt_user_creds access key=%s secret=%s', alt_user_creds.access_key, alt_user_creds.secret) | ||
| alt_user = multisite.User('alt_tester', tenant=args.tenant, account='RGW11111111111111111') | ||
| log.debug('created alt_user=%s', alt_user.name) |
There was a problem hiding this comment.
are we still using stuff? or can these changes in test_multi.py be reverted?
There was a problem hiding this comment.
I have some code cleanup to do, will do so and update the PR
yes, scheduled one just now |
1293b8c to
9366433
Compare
in case the request is forwarded from secondary in a multi-site setup. authenticating with the system user creds of which are used to sign the request. Permissions are still derived from the role. Signed-off-by: Pritha Srivastava <[email protected]>
syncs, and then creating a bucket on both primary and secondary. The test name is test_assume_role_after_sync. Signed-off-by: Pritha Srivastava <[email protected]>
9366433 to
855db87
Compare
|
Teuthology tests have passed, except two: https://pulpito.ceph.com/prsrivas-2025-04-27_07:35:37-rgw-wip-rgw-assume-role-multisite-distro-default-smithi/
In the same run, the test in this PR has passed: |
|
does this not need backports? with account support for roles in squid, i think it would be nice to have there at least |
@pritha-srivastava I created a tracker https://tracker.ceph.com/issues/71113 for squid. would you please do the backport? |
thanks @smanjara. i added 'tentacle' to https://tracker.ceph.com/issues/71112 as well, since we forked on friday before this merged |
rgw/sts: by-passing authentication using temp creds
in case the request is forwarded from secondary in a multi-site setup. authenticating with the system user creds of which are used to sign the request.
Permissions are still derived from the role.
fixes https://tracker.ceph.com/issues/71112
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