rgw: move forward_request_to_master() out of sal#50599
Conversation
6191a7a to
f6ee32a
Compare
f6ee32a to
2d301f1
Compare
2d301f1 to
e94dd36
Compare
|
fixed up the dbstore tests now that the caller no longer passes in an objv to |
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
e94dd36 to
9f9d53b
Compare
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
@cbodley needs rebase and merge |
|
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. |
9f9d53b to
7079703
Compare
Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
this avoids the need to construct a temporary rgw_bucket_key just to construct a rgw_bucket without an instance id Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
987cf04 to
f51364d
Compare
the rgw log seems to think the bucket created by bulk-upload only has a single shard, so doesn't find the object inside:
when i tried to reproduce this under vstart, it had the expected 11 shards:
the reproducer, including the magic curl command (where X-Auth-Token was copied from |
|
|
||
| using namespace std; | ||
|
|
||
| int forward_iam_request_to_master(const DoutPrefixProvider* dpp, |
There was a problem hiding this comment.
@cbodley : Just a question here - if in future we plan to add multisite replication for oidc-provider in rgw, where should this method be shifted to? rgw_rest_iam.h?
There was a problem hiding this comment.
rgw_rest_conn.* might be a good place since these functions depend on RGWRESTConn
the CreateBucket operation always has to deal with existing buckets, so we have to load the Bucket handle first anyway also moves the related placement and forward_request_to_master() logic out of sal entirely Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
Signed-off-by: Casey Bodley <[email protected]>
f51364d to
0ead6ff
Compare
|
jenkins test api |
|
qa in https://pulpito.ceph.com/cbodley-2023-11-07_19:46:35-rgw-wip-rgw-sal-forward-distro-default-smithi/ hit a strange |
|
oops, that rerun didn't use the right ceph branch. re-rerunning in https://pulpito.ceph.com/cbodley-2023-11-08_17:26:47-rgw-wip-rgw-sal-forward-distro-default-smithi/ edit: the rgw/crypt job passed there too |
| auto conn = RGWRESTConn{dpp->get_cct(), z->second.id, z->second.endpoints, | ||
| std::move(creds), zg->second.id, zg->second.api_name}; | ||
| bufferlist outdata; | ||
| constexpr size_t max_response_size = 128 * 1024; // we expect a very small response | ||
| int ret = conn.forward_iam_request(dpp, creds, req, nullptr, max_response_size, | ||
| &indata, &outdata, y); |
There was a problem hiding this comment.
oops, creds was moved into the RGWRESTConn ctor call above. i opened #55148 to address this
bucket creation/deletion were the only things that used it inside of sal. it's now the caller's responsibility to forward these requests before calling into sal. in order for
RGWBucketCreateto callforward_request_to_master()itself, other things like bucket placement needed to move out as wellrenamed the
sal::Driver::get_bucket()functions that load the bucket from storage toload_bucket(). the non-loadingget_bucket()function never fails, so it now returnsstd::unique_ptr<Bucket>directlybecause
RGWBucketCreatealways has to handle the existing-bucket case, i moved thecreate_bucket()function fromsal::Userintosal::Bucket::create(). that allows us to reuse the handle we allocated insal::Driver::load_bucket()finally, moves
Driver::forward_request_to_master()to a free function in rgw_op.cc, andDriver::forward_iam_request_to_master()to a free function in rgw_rest_role.ccShow 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 windows