summaryrefslogtreecommitdiffstats
path: root/src/test/rgw (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rgw: SAL drivers take `boost::asio::io_context`Adam C. Emerson2024-01-244-4/+15
| | | | | | | `RadosDriver` needs it, and since SAL generally uses `optional_yield`, other stores are going to need it to implement that sensibly. Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
* Merge pull request #53320 from jzhu116-bloomberg/wip-62710Casey Bodley2024-01-241-0/+191
|\ | | | | | | | | rgw/multisite: maintain endpoints connectable status and retry the requests to them when appropriate Reviewed-by: Mark Kogan <mkogan@ibm.com>
| * rgw/multisite: add multisite test cases with some rgw instances downJane Zhu2024-01-221-0/+191
| | | | | | | | Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
* | Merge pull request #54759 from jzhu116-bloomberg/wip-63178Casey Bodley2024-01-181-6/+6
|\ \ | |/ |/| | | | | rgw/lc: do not add datalog/bilog for some lc actions Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
| * rgw/lc: remove default arguments in virtual functionsJane Zhu2024-01-101-6/+6
| | | | | | | | Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
* | test/rgw: metadata sync checkpoint waits on global 'sync' statusCasey Bodley2024-01-121-3/+5
|/ | | | | | | | | | | | | | | | in testing, i was seeing meta sync checkpoints finish even though sync hadn't started yet: ``` rgw_multi.tests: DEBUG: current meta sync status={ "sync_status": { "info": { "status": "building-full-sync-maps", ``` wait for the global status to reach "sync" before starting to compare period epochs or sync markers Signed-off-by: Casey Bodley <cbodley@redhat.com>
* Merge pull request #54829 from awojno-bloomberg/wip-fix-role-delete-replicationCasey Bodley2024-01-094-0/+49
|\ | | | | | | | | rgw/iam: fix role deletion replication Reviewed-by: Casey Bodley <cbodley@redhat.com>
| * rgw/iam: fix role deletion replicationAlex Wojno2023-12-204-0/+49
| | | | | | | | Signed-off-by: Alex Wojno <awojno@bloomberg.net>
* | Merge pull request #53156 from qiuxinyidian/rgw-devCasey Bodley2024-01-091-3/+2
|\ \ | | | | | | | | | | | | rgw: modify string match_wildcards with fnmatch Reviewed-by: Casey Bodley <cbodley@redhat.com>
| * \ Merge branch 'main' into rgw-devqiuxinyidian2023-12-2124-317/+1856
| |\ \ | | | | | | | | Signed-off-by: qiuxinyidian <qiuxinyidian@gmail.com>
| * | | rgw: modify string match_wildcards with fnmatchzhipeng li2023-12-211-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: https://tracker.ceph.com/issues/62292 Signed-off-by: zhipeng li <qiuxinyidian@gmail.com>
* | | | Merge pull request #52315 from ronen-fr/wip-rf-rgw-tassertsCasey Bodley2024-01-081-4/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | test/rgw: annotating variables with maybe_unused Reviewed-by: Casey Bodley <cbodley@redhat.com> Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
| * | | | test/rgw: annotating variables with maybe_unusedRonen Friedman2023-07-051-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some variables in test/rgw/rgw_cr_test.cc are only used in asserts, while this file is also used in builds without NDEBUG set. Adding the [[maybe_unused]] attribute clears the compilation warnings. Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
* | | | | Revert "spawn: use explicit strand executor"Casey Bodley2023-12-213-6/+6
| |_|/ / |/| | | | | | | | | | | | | | | | | | | This reverts commit 9d9258e06b78bb47fd0156d9bd7bb00b52a726b0. Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | | RGW:pubsub publish commit with etag populatedAli Masarwa2023-12-141-0/+64
| | | | | | | | | | | | | | | | Signed-off-by: Ali Masarwa <ali.saed.masarwa@gmail.com>
* | | | Merge pull request #54622 from BBoozmen/oozmen_lc_work_timeCasey Bodley2023-12-081-1/+236
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | [rgw][lc][rgw_lifecycle_work_time] adjust timing if the configured end time is less than the start time Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
| * | | rgw/lc: adjust timing if the configured end work-time is less than the ↵Oguzhan Ozmen2023-11-231-27/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | start-time LC work time is given in the form of "HH:MM-HH:MM"; the first part represents the "start_time" and the next "end_time". "should_work" function decides, given the current time, whether the LC worker can resume. It essentially checks whether the current time is within start and end times. Since there's no "date" (month/day/year) notion taken into account, a work time whose end_time (i.e., hour field) is less than start_time is not properly handled by "should_work". For example, "14:00-13:59" would normally mean to start LC processing at 2PM local time and allowing it to run for 24 hours. So, given such a work time range, "should_work" must return true for any given current_time. However, without this adjustment, it always returns false. The fix simply adds a "next day" adjustment if the end_time is configured to be less than the configured start_time. Fixes https://tracker.ceph.com/issues/63613 Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
| * | | unittesting/rgw/lc: add testcases for the units should_work and ↵Oguzhan Ozmen2023-11-231-0/+235
| | | | | | | | | | | | | | | | | | | | | | | | schedule_next_start_time Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
| * | | unittesting/rgw/lc: [non-functional change] remove commented out include ↵Oguzhan Ozmen2023-11-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | statement Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
* | | | rgw/acl: ACLGrant uses variant for grantee typesCasey Bodley2023-11-301-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use of `ACLGrant::get_id()` was awkward because most grantee types returned nothing, but emails were returned as `struct rgw_user`. change the internal representation into a variant, and expose getters for each grantee type so callers can handle each type specifically. the encoded format of `ACLGrant` remains unchanged Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | | rgw: ACLOwner as raw structCasey Bodley2023-11-301-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | this was a class with two protected members, but with a getter/setter for each. this 'encapsulation' only added unnecessary boilerplate Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | | Merge pull request #54619 from cbodley/wip-rgw-sal-get-stats-asyncCasey Bodley2023-11-291-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | rgw/sal: clean up read_stats_async() callbacks Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
| * | | | rgw/sal: unify ReadStatsCB for async user/bucket statsCasey Bodley2023-11-231-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `rgw::sal::Bucket::read_stats_async()` had returned stats as `map<RGWObjCategory, RGWStorageStats>`, but the only caller in rgw_quota.cc just summed up the categories into a single instance of `RGWStorageStats`. moving this summation up into rgw_rados' `RGWGetBucketStatsContext` allows us to unify these sal callbacks around `RGWStorageStats` alone the `RGWGetUserStats_CB`/`RGWGetBucketStats_CB` callbacks had inherited from `RefCountedObject` and required manual reference counting. switch to `boost::intrusive_ptr` for scope-based shared ownership Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | | rgw: fix spelling errorsJosh Soref2023-11-2710-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * access * acquire * across * algorithm * alternatively * ambiguous * attributes * authenticated * automatically * based * between * beware * bootstrap * bucket * cache * character * check * cleanup * combinations * committed * comparison * compatibility * concurrent * conditions * conjunction * connections * considered * contains * correct * creates * crypto * dependencies * dequeued * dequeuing * derivative * described * determine * deterministic * detritus * discrepancy * display * either way * elements * entirely * entries * error * everything * expected * explicitly * extend * false * fclose * feature * following * foreign * format * forward * functionality * functions * generated * getting * gracefully * happened * hashicorp * healthcheck * hierarchy * however * http * identify * idleness * ignored * incremental * information * initialization * length * locally * macros * malformed * means * mechanism * multipart * multiple * must * namespace * necessary * nonexistent * notifications * occurred * official * outputs * outputted * overridden * ownership * parallelism * partition * passthrough * pause * penguin * perform * permission * populated * position * preferably * prefixes * presumably * previous * print * quadruple * reference * regardless * registry * renewed * request * requires * reshard * resource * result to * satisfy * secret * separate * separator * setting * shouldn't * skipping * some * somehow * something * specific * struct * succeeded * success * successful * successfully * syntax * testing * truncated * unambiguously * unittest * unmodified * unnecessary * valid_action * verifying * versioning * visible * whatever * whenever Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* | | | Merge pull request #52931 from yuvalif/wip-yuval-lua-teuthologyYuval Lifshitz2023-11-247-0/+571
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | rgw/test/lua: add lua integration tests suite reviewed-by: TRYTOBE8TME, cbodley
| * | | | rgw/test/lua: add lua integration tests suiteYuval Lifshitz2023-11-237-0/+571
| |/ / / | | | | | | | | | | | | | | | | | | | | Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com> Fixes: https://tracker.ceph.com/issues/63616
* / / / rgw/test/kafka: let consumer read events from the beginningYuval Lifshitz2023-11-231-5/+6
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | in some cases the RGW may publish the notifications before the kafka consumer started reading the events from the topic Fixes: https://tracker.ceph.com/issues/62136 Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
* | | test/rgw: clean up unused include dirsCasey Bodley2023-11-101-22/+11
| | | | | | | | | | | | | | | | | | | | | store/rados was renamed to driver/rados, so these include directories aren't required Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | rgw/sal: Bucket owner as rgw_userCasey Bodley2023-11-092-19/+14
| | | | | | | | | | | | | | | | | | | | | stop maintaining a User pointer for the bucket owner, and use the stored rgw_user owner directly Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | rgw/sal: move User::create_bucket() to Bucket::create()Casey Bodley2023-11-072-40/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <cbodley@redhat.com>
* | | rgw: read existing placement and swift_ver_location outside of salCasey Bodley2023-11-061-1/+1
| | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | rgwlc: fix notification test importsMatt Benjamin2023-11-031-0/+1
| | | | | | | | | | | | | | | | | | Found by Yuval Lifshitz review. Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
* | | rgwlc: dispatch S3 notifications on transition and mpu abortMatt Benjamin2023-11-031-84/+131
| | | | | | | | | | | | | | | | | | Fixes: https://tracker.ceph.com/issues/58641 Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
* | | Merge pull request #50821 from cbodley/wip-cmake-uringCasey Bodley2023-10-312-2/+7
|\ \ \ | | | | | | | | | | | | | | | | cmake: fix WITH_SYSTEM_LIBURING and make uring available outside of src/blk Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
| * | | rgw: use granular asio includesCasey Bodley2023-10-202-2/+7
| | | | | | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
* | | | Merge branch 'main' into wip-topic-policyKrunal Chheda2023-10-276-99/+542
|\ \ \ \
| * | | | rgw/notifications/test: install java for kafka buildYuval Lifshitz2023-10-221-2/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | also use kafka binaries insted of building from source Fixes: https://tracker.ceph.com/issues/63205 Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
| * | | rgw: adding request context structureYuval Lifshitz2023-10-121-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this structure should be created at the frontend and trickle all the way to the RADOS layer. holding: dout prefix, optional yield and trace. in this commit, so far it was only added to the "complete()" sal interface, and to the "write_meta()" rados interface. in the future, it should be added to more sal interfaces, replacing the current way where dpp and optional yield are passed as sepearte arguments to all functions. in addition, if more information would be needed, it should be possible to add that information to the request context struct without changing many function prototypes basic test instructions: https://gist.github.com/yuvalif/1c7f1e80126bed5fa79345efb27fe1b1 Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
| * | | Merge pull request #52326 from yuvalif/wip-yuval-lua-reloadYuval Lifshitz2023-10-091-61/+59
| |\ \ \ | | | | | | | | | | | | | | | | | | | | rgw/lua: support reloading lua packages on all RGWs reviwed-by: dang, cbodle, anthonyeleven
| | * | | rgw/lua/doc: support reloading lua packages on all RGWsYuval Lifshitz2023-10-061-61/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | without requiring a restart of the RGWs test instructions: https://gist.github.com/yuvalif/95b8ed9ea73ab4591c59644a050e01e2 also use capitalized "Lua" in logs/doc Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
| * | | | test/rgw: don't compile POSIX test unless enabledLeonid Usov2023-10-081-10/+12
| |/ / / | | | | | | | | | | | | Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
| * | | Merge pull request #53684 from cbodley/wip-rgw-keystone-yieldCasey Bodley2023-10-021-22/+23
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | rgw/async: use optional_yield for keystone and kms requests Reviewed-by: Adam Emerson <aemerson@redhat.com> Reviewed-by: Ali Maredia <amaredia@redhat.com>
| | * | | rgw/async: use optional_yield for keystone and kms requestsCasey Bodley2023-09-261-22/+23
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | Merge pull request #53580 from AliMasarweh/wip-alimasa-persistent-q-migrationAli Masarwa2023-10-011-2/+2
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | RGW | Bucket Notification: migrating old entries to support persistency control Reviewed-by: yuvalif <ylifshit@redhat.com>
| | * | | RGW | Bucket Notification: migrating old entries to support persistency controlAli Masarwa2023-09-281-2/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Ali Masarwa <ali.saed.masarwa@gmail.com>
| * | | | Merge pull request #53615 from ronen-fr/wip-rf-great-moveRonen Friedman2023-09-261-2/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tools, rgw/test: add std:: qualifiers to 'move' Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
| | * | | | rgw/test: add std:: qualifiers to 'move'Ronen Friedman2023-09-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to silence compiler warnings. Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
| * | | | | rgw/sal: StoreBucket no longer wraps RGWBucketEntCasey Bodley2023-09-222-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `sal::Bucket` no longer needs to wrap `RGWBucketEnt` to support user bucket listings, so can be represented by `RGWBucketInfo` alone. the bucket stats interfaces that relied on RGWBucketEnt internally now return their result as either `RGWBucketEnt` or `RGWStorageStats` Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | | rgw/sal: list_buckets() returns RGWBucketEntsCasey Bodley2023-09-221-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `sal::User::list_buckets()` no longer returns a map of `sal::Bucket` handles. it now uses `std::span<RGWBucketEnt>` for input and output. `RGWBucketEnt` contains all of the information we need to satisfy ListBuckets requests, and also stores the `rgw_bucket` key for use with `Driver::get_bucket()` where a `sal::Bucket` handle is necessary `sal::BucketList` contains the span of results and the `next_marker`. the `is_truncated` flag was removed in favor of `!next_marker.empty()` the checks for `user->get_max_buckets()` on bucket creation now use a paginated `check_user_max_buckets()` helper function that limits the number of allocated entries to `rgw_list_buckets_max_chunk` Signed-off-by: Casey Bodley <cbodley@redhat.com>
| * | | | RGW - Add wait backoff to posix bucket cache testDaniel Gryniewicz2023-09-181-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CI appears to be really slow, and even a second of wait for inotify sometimes fails. Add an exponential backoff wait of up to ~25 seconds to hopefully make the test pass reliably. Signed-off-by: Daniel Gryniewicz <dang@redhat.com>