| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
`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>
|
|\
| |
| |
| |
| | |
rgw/multisite: maintain endpoints connectable status and retry the requests to them when appropriate
Reviewed-by: Mark Kogan <mkogan@ibm.com>
|
| |
| |
| |
| | |
Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
|
|\ \
| |/
|/|
| |
| | |
rgw/lc: do not add datalog/bilog for some lc actions
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
|
| |
| |
| |
| | |
Signed-off-by: Juan Zhu <jzhu4@dev-10-34-20-139.pw1.bcc.bloomberg.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| | |
rgw/iam: fix role deletion replication
Reviewed-by: Casey Bodley <cbodley@redhat.com>
|
| |
| |
| |
| | |
Signed-off-by: Alex Wojno <awojno@bloomberg.net>
|
|\ \
| | |
| | |
| | |
| | | |
rgw: modify string match_wildcards with fnmatch
Reviewed-by: Casey Bodley <cbodley@redhat.com>
|
| |\ \
| | | |
| | | | |
Signed-off-by: qiuxinyidian <qiuxinyidian@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes: https://tracker.ceph.com/issues/62292
Signed-off-by: zhipeng li <qiuxinyidian@gmail.com>
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
test/rgw: annotating variables with maybe_unused
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 9d9258e06b78bb47fd0156d9bd7bb00b52a726b0.
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Ali Masarwa <ali.saed.masarwa@gmail.com>
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | | |
[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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
schedule_next_start_time
Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
statement
Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
rgw/sal: clean up read_stats_async() callbacks
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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>
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
rgw/test/lua: add lua integration tests suite
reviewed-by: TRYTOBE8TME, cbodley
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
Fixes: https://tracker.ceph.com/issues/63616
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
store/rados was renamed to driver/rados, so these include directories
aren't required
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Found by Yuval Lifshitz review.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: https://tracker.ceph.com/issues/58641
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
cmake: fix WITH_SYSTEM_LIBURING and make uring available outside of src/blk
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
also use kafka binaries insted of building from source
Fixes: https://tracker.ceph.com/issues/63205
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
rgw/lua: support reloading lua packages on all RGWs
reviwed-by: dang, cbodle, anthonyeleven
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| |/ / /
| | | |
| | | |
| | | | |
Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
rgw/async: use optional_yield for keystone and kms requests
Reviewed-by: Adam Emerson <aemerson@redhat.com>
Reviewed-by: Ali Maredia <amaredia@redhat.com>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
| |\ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | | |
RGW | Bucket Notification: migrating old entries to support persistency control
Reviewed-by: yuvalif <ylifshit@redhat.com>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Ali Masarwa <ali.saed.masarwa@gmail.com>
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
tools, rgw/test: add std:: qualifiers to 'move'
Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
to silence compiler warnings.
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`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>
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|