]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Patrick Donnelly [Tue, 30 Mar 2021 21:55:54 +0000 (14:55 -0700)]
qa: update mds_pre_upgrade to no longer stop standbys
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
2cd3494771b41216ad99a3bf462e2462b30254b6 )
Patrick Donnelly [Tue, 30 Mar 2021 21:53:04 +0000 (14:53 -0700)]
qa: update mds_pre_upgrade to disable standby-replay
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
8e0b9bcad67352a5ad0d91993e8fb26f482a08de )
Patrick Donnelly [Tue, 30 Mar 2021 21:06:28 +0000 (14:06 -0700)]
qa: add tests for compat manipulation and upgrade
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
295971b9c6520389b6780bfa3bddc3606eaba6dd )
Conflicts:
qa/tasks/cephfs/test_admin.py: trivial
Patrick Donnelly [Wed, 31 Mar 2021 13:45:08 +0000 (06:45 -0700)]
doc: remove deprecated compat commands
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
54b649af9b43b8ff48f39b033cc69f4d4e3b1b30 )
Patrick Donnelly [Tue, 30 Mar 2021 21:46:45 +0000 (14:46 -0700)]
doc: update MDS upgrade procedure
Now that CompatSet changes to the FSMap no longer cause old MDS to
suicide.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
efb70f2b336b119ca99fe2abb79428ab4d3453a2 )
Patrick Donnelly [Tue, 30 Mar 2021 21:26:08 +0000 (14:26 -0700)]
mon,mds: use per-MDS compat to inform replacement
This diff makes the following changes:
- FSMap::compat is now just a "default compat" of currently unknown
utility. It is used when constructing a new file system but does
not really have any effect or current use.
- The `mds compat *` CLI commands are deprecated. They manipulate
the default compat which has no useful effect.
- Each MDS sends its compat to the mons in its beacon. This is from
MDSMap::get_compat_set_all() at MDS boot. This CompatSet does not
change for the duration of the MDS lifetime.
- Mons record each MDS compat in the FSMap to inform standby failover.
An MDS is only promoted if it is compatible with the file system
compat.
- Mons upgrade (merge) the file system compat when (a) the number of
*in* MDS is 1 (effected by max_mds=1) and (b) the mons are promoting a
standby with a new compat. A file system is never upgraded when there
is more than 1 rank to prevent two MDS with incompatible compat.
- A suite of `fs compat` commands exist to manipulate the file system
compat. These exist mostly for testing.
The consequence of these changes is that the upgrade procedure for MDS
can be updated to no longer require turning off all MDS but rank 0
before performing any upgrades. A CompatSet change would cause all MDS
receiving the new MDSMap to suicide due to incompatibility (if so).
Instead, the monitors will no longer assign an incompatible MDS to a
file system and enforce an upgrade procedure if incompatibilities exist.
Fixes: https://tracker.ceph.com/issues/49720
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
58eaa237b0a16d3c934ded77ed4dc53137d9b4a1 )
Conflicts:
src/mds/FSMap.h: trivial
src/mon/MDSMonitor.cc: trivial
src/mon/MonCommands.h: work around removed OBSOLETE commands
Patrick Donnelly [Tue, 30 Mar 2021 21:07:46 +0000 (14:07 -0700)]
mon: do not update inline incompat except via mds
The MDS_FEATURE_INCOMPAT_INLINE feature indicates that an MDS knows how
to read/write inline data and that the file system may have it. The
separate setting for inline_data protects this file system feature.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
8cdc36c89da224eb8e86ee6ed80cd2eb65354587 )
Patrick Donnelly [Wed, 17 Mar 2021 16:55:04 +0000 (09:55 -0700)]
mds: add MDSMap method for creating null MDSMap
It's not necessary to distribute a CompatSet with the null mdsmap. We
only need to communicate that the MDS is not part of any map.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
4a10b6016ff76f80e27574ad2ab40ac5b0266264 )
Patrick Donnelly [Tue, 6 Apr 2021 15:20:54 +0000 (08:20 -0700)]
mds: only update beacon epoch if newer
This is a defensive programming change. We don't want the beacon epoch
to ever go backwards.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
0256ae010f61520a67f95fcd3e8522784ea56f8b )
Patrick Donnelly [Tue, 30 Mar 2021 21:13:42 +0000 (14:13 -0700)]
mds: harden standby_mds lookup
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
b8ad8a8c821ba57d64aa349a9da7117867b0f401 )
Patrick Donnelly [Tue, 30 Mar 2021 19:40:58 +0000 (12:40 -0700)]
mon/FSCommands: accept generic ostream rather than stringstream
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
31c8edd603e7db84529eacde1771aef01dbde089 )
Conflicts:
src/mon/FSCommands.cc: trivial
Patrick Donnelly [Mon, 5 Apr 2021 14:55:20 +0000 (07:55 -0700)]
include: add less verbose CompatSet dump
For printing in `fs dump`.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
56b36e69fae0fcfb5081ede3934f1d63cde0494a )
Patrick Donnelly [Tue, 30 Mar 2021 21:10:28 +0000 (14:10 -0700)]
include: add dump operator for Feature
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
5da02036eefe60c89e11f53d4bacb0e41e03e794 )
Patrick Donnelly [Tue, 30 Mar 2021 19:39:36 +0000 (12:39 -0700)]
include: add const qualifier to appropriate CompatSet methods
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
d179fa2bc0262854b1e001e0c9db3d2f508bf647 )
Zhi Zhang [Thu, 4 Feb 2021 03:57:26 +0000 (11:57 +0800)]
mon/MDSMonitor.cc: fix join fscid not applied with pending fsmap at boot
Fixes: https://tracker.ceph.com/issues/49157
Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
(cherry picked from commit
4ab87e2eecbdcb4932775e871c3ae2f793880c20 )
Yuri Weinstein [Mon, 16 Aug 2021 20:58:44 +0000 (13:58 -0700)]
Merge pull request #42536 from batrick/i51940
pacific: MDSMonitor: monitor crash after upgrade from ceph 15.2.13 to 16.2.4
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Mon, 16 Aug 2021 17:26:11 +0000 (10:26 -0700)]
Merge pull request #42773 from neha-ojha/wip-52244-pacific
pacific: os/bluestore: make deferred writes less aggressive for large writes
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Yuri Weinstein [Mon, 16 Aug 2021 15:50:33 +0000 (08:50 -0700)]
Merge pull request #42135 from dang/wip-dang-41991-backport
pacific: RGW - Bucket Remove Op: Pass in user
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 16 Aug 2021 15:50:00 +0000 (08:50 -0700)]
Merge pull request #40696 from singuliere/wip-50156-pacific
pacific: rgw/notification: fix persistent notification hang when ack-levl=none
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
Yuri Weinstein [Mon, 16 Aug 2021 15:49:17 +0000 (08:49 -0700)]
Merge pull request #40695 from singuliere/wip-50157-pacific
pacific: rgw/notification: fixing the "persistent=false" flag
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 16 Aug 2021 15:48:39 +0000 (08:48 -0700)]
Merge pull request #40693 from singuliere/wip-50214-pacific
pacific: rgw: objectlock: improve client error messages
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Igor Fedotov [Mon, 9 Aug 2021 15:18:20 +0000 (18:18 +0300)]
test/store_test: more testing for deferred writes
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
324ea6b425e5898eca6e86264fa4d34cb868a6ae )
Igor Fedotov [Mon, 9 Aug 2021 16:14:33 +0000 (19:14 +0300)]
os/bluestore: enforce one more non-inclusive comparision against prefer_deferred_size
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
cb30c9965854e7dbfe851ed0cfaf113b16bcab5e )
Adam Kupczyk [Mon, 9 Aug 2021 13:59:46 +0000 (15:59 +0200)]
os/bluestore: Better handling of deferred write trigger
Now deferred write in _do_alloc_write does not depend on blob size,
but on size of extent allocated on disk.
It is now possible to set bluestore_prefer_deferred_size way larger than
bluestore_max_blob_size and still get desired behavior.
Example: for deferred=256K, blob=64K : when op write is 128K both blobs will be
written as deferred. When op write is 256K then all will go as regular write.
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit
06ac561a72a93bd24d05b6c2266d66fee49228b8 )
Igor Fedotov [Mon, 9 Aug 2021 15:18:35 +0000 (18:18 +0300)]
os/bluestore: account for alignment with max_blob_size when splitting
write I/O into chunks.
Without the fix the following write seq:
0~4M
4096~4M
produces tons of deferred writes at the second stage.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
b06bcf99f50cf7db5856eb1f6cd56100a0d0bbbc )
Igor Fedotov [Fri, 6 Aug 2021 23:22:12 +0000 (02:22 +0300)]
os/bluestore: introduce l_bluestore_write_deferred_bytes perf counter.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
f38f18c149b9347a26d845539eaeef29979e9006 )
Igor Fedotov [Fri, 6 Aug 2021 18:32:23 +0000 (21:32 +0300)]
os/bluestore: use non-inclusive comparision against prefer_deferred_size
Fixes: https://tracker.ceph.com/issues/52089
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
f1c4448fc549ed58bb58f920dfa16886e4910315 )
Igor Fedotov [Fri, 6 Aug 2021 14:50:13 +0000 (17:50 +0300)]
os/bluestore: improve logging around deferred writes
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
89a20d63ec7e255d36363bd8977c3fca1d277877 )
Igor Fedotov [Fri, 6 Aug 2021 12:23:52 +0000 (15:23 +0300)]
os/bluestore: fix missing 'l_bluestore_write_deferred' perf counter increment
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
dc367c4bbc701b04a5bde562e30ab5b9c1705657 )
Igor Fedotov [Fri, 6 Aug 2021 12:09:40 +0000 (15:09 +0300)]
os/bluestore: cosmetic cleanups
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
080531d6813b868eda562cf27babe18d8a974413 )
Ernesto Puerta [Thu, 12 Aug 2021 17:33:21 +0000 (19:33 +0200)]
Merge pull request #42679 from callithea/wip-51992-pacific
pacific: monitoring/grafana/cluster: use per-unit max and limit values
Guillaume Abrioux [Thu, 12 Aug 2021 11:35:45 +0000 (13:35 +0200)]
Merge pull request #42755 from guits/wip-50896-pacific
pacific: ceph-volume: Consider /dev/root as mounted
David Caro [Fri, 7 May 2021 15:58:23 +0000 (17:58 +0200)]
ceph-volume: consider /dev/root mounted
Fixes: https://tracker.ceph.com/issues/50604
Signed-off-by: David Caro <david@dcaro.es>
(cherry picked from commit
c7b959c35ff463cfbffa2abf0f56a1c1a5f594c8 )
Guillaume Abrioux [Wed, 11 Aug 2021 14:32:13 +0000 (16:32 +0200)]
Merge pull request #42493 from dsavineau/wip-51852-pacific
pacific: ceph-volume: lvm batch: fast_allocations(): avoid ZeroDivisionError
Guillaume Abrioux [Wed, 11 Aug 2021 14:29:33 +0000 (16:29 +0200)]
Merge pull request #42546 from dsavineau/wip-51958-pacific
pacific: ceph-volume/tests: retry when destroying osd
Ernesto Puerta [Mon, 9 Aug 2021 08:58:25 +0000 (10:58 +0200)]
Merge pull request #42606 from s0nea/wip-dashboard-pacific-translations
mgr/dashboard: update translations for pacific
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
Ernesto Puerta [Mon, 9 Aug 2021 08:53:38 +0000 (10:53 +0200)]
Merge pull request #42298 from callithea/wip-51636-pacific
pacific: monitoring: fix Physical Device Latency unit
Reviewed-by: Waad Alkhoury <walkhour@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: clwluvw <NOT@FOUND>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Yuri Weinstein [Sat, 7 Aug 2021 16:23:58 +0000 (09:23 -0700)]
Merge pull request #42642 from cfsnyder/wip-51696-pacific
pacific: rgw: fail as expected when set/delete-bucket-website attempted on a non-exis…
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Sat, 7 Aug 2021 16:23:00 +0000 (09:23 -0700)]
Merge pull request #42566 from cfsnyder/wip-51514-pacific
pacific: rgw/notifications: support metadata filter in CompleteMultipartUploa…
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Sat, 7 Aug 2021 16:22:13 +0000 (09:22 -0700)]
Merge pull request #41367 from cbodley/wip-50845
pacific: rgw: deprecate the civetweb frontend
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:30:51 +0000 (09:30 -0700)]
Merge pull request #42637 from cfsnyder/wip-51779-pacific
pacific: rgw : add check for tenant provided in RGWCreateRole
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:30:29 +0000 (09:30 -0700)]
Merge pull request #42635 from cfsnyder/wip-50645-pacific
pacific: rgw: allow rgw-orphan-list to process multiple data pools
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:30:01 +0000 (09:30 -0700)]
Merge pull request #42634 from cfsnyder/wip-51014-pacific
pacific: rgw: remove quota soft threshold
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:29:26 +0000 (09:29 -0700)]
Merge pull request #42633 from cfsnyder/wip-50679-pacific
pacific: rgw: fix segfault related to explicit object manifest handling
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:27:59 +0000 (09:27 -0700)]
Merge pull request #42631 from cfsnyder/wip-50465-pacific
pacific: rgw/notifications: delete bucket notification object when empty
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:27:35 +0000 (09:27 -0700)]
Merge pull request #42626 from cfsnyder/wip-52007-pacific
pacific: rgw: avoid occuring radosgw daemon crash when access a conditionally …
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:27:07 +0000 (09:27 -0700)]
Merge pull request #42625 from cfsnyder/wip-51751-pacific
pacific: RGW Zipper - Make sure bucket list progresses
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:26:27 +0000 (09:26 -0700)]
Merge pull request #42638 from cfsnyder/wip-50708-pacific
pacific: rgw: fix bucket object listing when marker matches prefix
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:25:15 +0000 (09:25 -0700)]
Merge pull request #42649 from cfsnyder/wip-50379-pacific
pacific: rgw/amqp/test: fix mock prototype for librabbitmq-0.11.0
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:24:52 +0000 (09:24 -0700)]
Merge pull request #42647 from cfsnyder/wip-49555-pacific
pacific: rgw/notification: add exception handling for persistent notification thread
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:24:26 +0000 (09:24 -0700)]
Merge pull request #42646 from cfsnyder/wip-50463-pacific
pacific: rgw/multisite: return correct error code when op fails
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:24:03 +0000 (09:24 -0700)]
Merge pull request #42645 from cfsnyder/wip-52051-pacific
pacific: rgw: when deleted obj removed in versioned bucket, extra del-marker added
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:23:32 +0000 (09:23 -0700)]
Merge pull request #42644 from cfsnyder/wip-51804-pacific
pacific: rgw/http/notifications: support content type in HTTP POST messages
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:22:56 +0000 (09:22 -0700)]
Merge pull request #42641 from cfsnyder/wip-50367-pacific
pacific: rgw: during reshard lock contention, adjust logging
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:22:09 +0000 (09:22 -0700)]
Merge pull request #42640 from cfsnyder/wip-51801-pacific
pacific: rgw: radosgw-admin errors if marker not specified on data/mdlog trim
Reviewed-by: Adam Emerson <aemerson@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:20:49 +0000 (09:20 -0700)]
Merge pull request #42639 from cfsnyder/wip-51781-pacific
pacific: rgw : modfiy error XML for deleterole
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:19:08 +0000 (09:19 -0700)]
Merge pull request #42656 from cfsnyder/wip-51785-pacific
pacific: rgw multisite: metadata sync treats all errors as 'transient' for retry
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:18:38 +0000 (09:18 -0700)]
Merge pull request #42655 from cfsnyder/wip-50803-pacific
pacific: radosgw-admin: skip GC init on read-only admin ops
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:18:07 +0000 (09:18 -0700)]
Merge pull request #42654 from cfsnyder/wip-50731-pacific
pacific: rgw/rgw_file: Fix the return value of read() and readlink()
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:17:41 +0000 (09:17 -0700)]
Merge pull request #42653 from cfsnyder/wip-50728-pacific
pacific: rgw : add check empty for sync url
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:16:42 +0000 (09:16 -0700)]
Merge pull request #42652 from cfsnyder/wip-50711-pacific
pacific: rgw: fix for mfa resync crash when supplied with only one totp_pin.
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:13:19 +0000 (09:13 -0700)]
Merge pull request #42651 from cfsnyder/wip-51771-pacific
pacific: test/rgw: fix use of poll() with timers in unittest_rgw_dmclock_scheduler
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:12:42 +0000 (09:12 -0700)]
Merge pull request #42650 from cfsnyder/wip-50642-pacific
pacific: rgw/sts: read_obj_policy() consults iam_user_policies on ENOENT
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Thu, 5 Aug 2021 16:12:15 +0000 (09:12 -0700)]
Merge pull request #42648 from cfsnyder/wip-50094-pacific
pacific: librgw/notifications: initialize kafka and amqp
Reviewed-by: Casey Bodley <cbodley@redhat.com>
David Caro [Wed, 16 Jun 2021 08:32:15 +0000 (10:32 +0200)]
monitoring/grafana/cluster: use per-unit max and limit values
The value we get is a perunit, so the limits and the max value should
be over 1, not 100. Note that the value being shown was correct, it
was the gauge that was not showing the correct indicators.
Signed-off-by: David Caro <david@dcaro.es>
(cherry picked from commit
c98129803935e720bb068fcf3700812c550f61b4 )
Casey Bodley [Tue, 13 Jul 2021 18:14:21 +0000 (14:14 -0400)]
qa/rgw: run multisite tests with metadata sync error injection
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
cff6bf37e65964d2d987231598659f08a84b9410 )
Casey Bodley [Tue, 13 Jul 2021 17:18:27 +0000 (13:18 -0400)]
rgw: limit concurrency of metadata sync
limit the number of concurrent RGWMetaSyncSingleEntryCRs that each mdlog
shard is allowed to spawn. use META_SYNC_SPAWN_WINDOW=20 to match data-
and bucket sync
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
a07add0a5408f0480e93ea5920bc013119ba6401 )
Casey Bodley [Tue, 13 Jul 2021 17:54:36 +0000 (13:54 -0400)]
rgw: metadata sync treats all errors as 'transient'
collect_children() had a special case for EAGAIN that it treated as
a 'transient' error, which set the can_adjust_marker = false to bail out
of RGWMetaSyncShardCR and retry from the previous marker
but the http client doesn't return EAGAIN - rgw_http_error_to_errno()
defaults to EIO - so this retry logic based on can_adjust_marker never
runs. on any other error, RGWMetaSyncSingleEntryCR would not call
marker_tracker->finish() to advance the sync status marker, and
RGWMetaSyncShardCR would continue on with full- or incremental sync
without ever attempting to retry the failed entries
a detailed comment in collect_children() describes a different strategy
for handling 'permanent' errors, but that was never fully elaborated.
i also don't think there's a reasonable way to differentiate between
transient and permanent errors, so this treats all errors as transient
to be retried
if an error really is permanent for a given metadata key, metadata sync
will get stuck there and require manual intervention
Fixes: https://tracker.ceph.com/issues/39657
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
866d66b8749b28ec626a8d0adba3d14fdd8abead )
Mark Kogan [Mon, 26 Apr 2021 09:15:11 +0000 (12:15 +0300)]
radosgw-admin: skip GC init on read-only admin ops
Fixes: https://tracker.ceph.com/issues/50520
Signed-off-by: Mark Kogan <mkogan@redhat.com>
(cherry picked from commit
9ac1991fc798af7e0ba0fac18209b71b5ae3f02b )
Conflicts:
src/rgw/rgw_admin.cc
src/rgw/rgw_rados.h
src/rgw/rgw_sal.cc
src/rgw/rgw_sal.h
Cherry-pick notes:
- Conflicts due to move from of RGWStoreManager in rgw_sal_rados.h to StoreManager in rgw_sal.h
luo rixin [Tue, 29 Dec 2020 06:39:21 +0000 (14:39 +0800)]
rgw/rgw_file: Fix the return value of read() and readlink()
Fixes: https://tracker.ceph.com/issues/49189
Signed-off-by: Dai zhiwei <daizhiwei3@huawei.com>
Signed-off-by: luo rixin <luorixin@huawei.com>
(cherry picked from commit
bfd83e8fa142873a0bdf09a4d1ad1b04127f5885 )
cao.leilc [Fri, 2 Apr 2021 03:55:54 +0000 (11:55 +0800)]
rgw : add check empty for sync url
Fixes: https://tracker.ceph.com/issues/50103
Signed-off-by: caolei <halei15848934852@163.com>
(cherry picked from commit
3a4e0b79310b21eeee37043d5419887bb41c0cf6 )
Pritha Srivastava [Fri, 16 Apr 2021 08:28:27 +0000 (13:58 +0530)]
rgw: fix for mfa resync crash when supplied with only one totp_pin.
The fix returns an appropriate error message.
fixes: https://tracker.ceph.com/issues/50394
Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
(cherry picked from commit
1b943419c45a9b17be71668bd023aeb814171b2c )
Casey Bodley [Tue, 20 Jul 2021 16:50:25 +0000 (12:50 -0400)]
test/rgw: use spawn library for test_rgw_dmclock_scheduler
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
a8e3589a2c875b6fadc853c75f20cb9256f294ca )
Casey Bodley [Mon, 19 Jul 2021 22:07:47 +0000 (18:07 -0400)]
test/rgw: fix use of poll() with timers in unittest_rgw_dmclock_scheduler
the AsyncScheduler uses an asio timer to dispatch work to its executor
with an optional delay. when no delay is requested, it waits on the
timer with an expiration time in the past (crimson::dmclock::TimeZero)
tests are failing here because poll() is returning without executing the
handlers of those expired timers
asio implements these timers with timerfd and epoll. debugging with
strace, i see that these timers armed with timerfd_settime() are not
always immediately ready according to epoll_wait():
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 3
epoll_create1(EPOLL_CLOEXEC) = 4
timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC) = 5
epoll_ctl(4, EPOLL_CTL_ADD, 3, {events=EPOLLIN|EPOLLERR|EPOLLET, data={u32=
14164052 , u64=
14164052 }}) = 0
epoll_ctl(4, EPOLL_CTL_ADD, 5, {events=EPOLLIN|EPOLLERR, data={u32=
14164064 , u64=
14164064 }}) = 0
timerfd_settime(5, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=1}}, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}) = 0
epoll_wait(4, [{events=EPOLLIN, data={u32=
14164052 , u64=
14164052 }}], 128, 0) = 1
epoll_wait(4, [], 128, 0) = 0
epoll_wait(4, [], 128, 0) = 0
epoll_wait(4, [], 128, 0) = 0
epoll_wait(4, [], 128, 0) = 0
epoll_wait(4, [{events=EPOLLIN, data={u32=
14164064 , u64=
14164064 }}], 128, 0) = 1
in this example, it took 6 calls to context.poll() before it was ready
to execute the timer's handler
to work around this, replace calls to context.poll() with calls to
context.run_for() with a very short duration
Fixes: https://tracker.ceph.com/issues/42788
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
21baed999e31c5e69c75f0cbb8757ef91585d917 )
Casey Bodley [Tue, 6 Apr 2021 19:35:54 +0000 (15:35 -0400)]
rgw: read_obj_policy() consults iam_user_policies on ENOENT
when the head object doesn't exist, read_obj_policy() has to decide
whether to return ENOENT or EACCES
when there's a bucket policy, we check whether it has s3ListBucket
permissions. when there's an assumed role, we also need to check
against the role's policies in s->iam_user_policies
Fixes: https://tracker.ceph.com/issues/49780
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
5dc9375fa1888242f388f8b502f445f3ddc891f7 )
Yuval Lifshitz [Sun, 11 Apr 2021 16:37:39 +0000 (19:37 +0300)]
rgw/amqp/test: fix mock prototype for librabbitmq-0.11.0
also use extern C for to get compilation errors when
function prototype change
Fixes: https://tracker.ceph.com/issues/50291
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit
2ba598ec4c294bd09d2df18ccd2096382e303d39 )
Yuval Lifshitz [Fri, 12 Mar 2021 06:56:45 +0000 (08:56 +0200)]
librgw/notifications: initialize kafka and amqp
Fixes: https://tracker.ceph.com/issues/49738
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit
178f6bdac97b57300bbe0956633cf686a7e3ccee )
Yuval Lifshitz [Wed, 17 Feb 2021 14:07:18 +0000 (16:07 +0200)]
rgw/notification: add exception handling for persistent notification thread
Fixes: https://tracker.ceph.com/issues/49322
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit
915963ecb9effcb1f2d38f444c1bb9307f8ffbe1 )
Conflicts:
src/rgw/rgw_notify.cc
Yuval Lifshitz [Wed, 7 Apr 2021 09:49:50 +0000 (12:49 +0300)]
rgw/multisite: return correct error code when op fails
when trying to disable/enbale sync on non-master zone
Fixes: https://tracker.ceph.com/issues/50201
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit
83e89dfa3358fe91597d6714483f96b21a234ae6 )
J. Eric Ivancich [Tue, 15 Jun 2021 19:20:33 +0000 (15:20 -0400)]
rgw: when deleted obj removed in versioned bucket, extra del-marker added
After initial checks are complete, this will read the OLH earlier than
previously to check the delete-marker flag and under the bug's
conditions will return -ENOENT rather than create a spurious delete
marker.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit
69d7589fb1305b7d202ffd126c3c835e7cd0dda3 )
Yuval Lifshitz [Mon, 5 Jul 2021 19:13:58 +0000 (22:13 +0300)]
rgw/http/notifications: support content type in HTTP POST messages
Fixes: https://tracker.ceph.com/issues/51530
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit
6a1688b57d1e329cecd0c26c494cb08c9a4c3079 )
Ernesto Puerta [Wed, 4 Aug 2021 14:52:49 +0000 (16:52 +0200)]
Merge pull request #42629 from rhcs-dashboard/wip-52049-pacific
pacific: mgr/dashboard: show perf. counters for rgw svc. on Cluster > Hosts
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Ernesto Puerta [Wed, 4 Aug 2021 14:49:17 +0000 (16:49 +0200)]
Merge pull request #42628 from rhcs-dashboard/wip-52048-pacific
pacific: mgr/dashboard: fix ssl cert validation for rgw service creation
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
mengxiangrui [Tue, 6 Jul 2021 11:58:55 +0000 (19:58 +0800)]
rgw: fail as expected when set/delete-bucket-website attempted on a non-existent bucket, rgw should return HTTP 404 and NoSuchBucket.
Fixes: https://tracker.ceph.com/issues/51536
Signed-off-by: xiangrui meng <mengxr@chinatelecom.cn>
(cherry picked from commit
c623aa45d35b269c6701a57e44ac05bb29a79dc8 )
J. Eric Ivancich [Wed, 14 Apr 2021 17:55:22 +0000 (13:55 -0400)]
rgw: during reshard lock contention, adjust logging
When RGW fails to get a lock on a reshard log, we log it in such a way
that it looks like an error. Instead we'll make sure that the log
message is informational.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit
6d3dee37791ad427a3435c493a1d7874ba075674 )
Zulai Wang [Sat, 22 May 2021 13:21:10 +0000 (21:21 +0800)]
rgw: remove quota soft threshold
Remove quota soft threshold, which causes expensive checks for sharded buckets
Fixes: 14eabd4aa7b8a2e2c0c43fe7f877ed2171277526
Signed-off-by: Zulai Wang <wangzl31@outlook.com>
(cherry picked from commit
32a39705765af0f87bec9101e5d337b797e05fea )
Conflicts:
src/common/options/rgw.yaml.in
Cherry-pick notes:
- Options defined in src/common/options.cc in Pacific vs src/common/options/rgw.yaml.in
Adam C. Emerson [Fri, 16 Jul 2021 15:20:39 +0000 (11:20 -0400)]
rgw: radosgw-admin errors if marker not specified on data/mdlog trim
Check that a marker was specified and trim if we don't have one.
Also: In a world where we're parsing for generation, it doesn't really
make sense to have a 'no marker specified' as separate from a marker
that is just an empty string.
Also: Successful datalog trim returns zero, not
-ENODATA, and radosgw-admin should expect this.
Fixes: https://tracker.ceph.com/issues/51712
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit
4cb6fcf7f4e9548a8a0dd017b49a6ea23bedffd6 )
Conflicts:
src/rgw/rgw_admin.cc
Cherry-pick notes:
- static_cast for RadosStore not needed in Pacific
cao.leilc [Thu, 10 Jun 2021 02:34:54 +0000 (10:34 +0800)]
rgw : modfiy error XML for deleterole
Fixes: https://tracker.ceph.com/issues/51157
Signed-off-by: caolei <halei15848934852@163.com>
(cherry picked from commit
c7ab6579c7655352d08a4c12fc3a6951217dbe6f )
J. Eric Ivancich [Fri, 30 Apr 2021 20:07:54 +0000 (16:07 -0400)]
rgw: fix bucket object listing when marker matches prefix
When an iniitial marker that ends with a delimiter is provided, it
prevents listing of that "subdirectory" due to new logic at the cls
level to make listing more efficient. The fix catches that situation.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit
220ef4b22d1d1667eb4f2c300a0b788e87b9067d )
cao.leilc [Thu, 17 Jun 2021 12:04:23 +0000 (20:04 +0800)]
rgw : add check for tenant provided in RGWCreateRole
Fixes: https://tracker.ceph.com/issues/51206
Signed-off-by: caolei <halei15848934852@163.com>
(cherry picked from commit
3c99ac14080c9f5b1611c9bbe4a223a9fd2927a0 )
Conflicts:
src/rgw/rgw_rest_role.cc
Cherry-pick notes:
- Pacific constructs role explicitly vs. using store->get_role(), and does not wrap in a unique_ptr
J. Eric Ivancich [Thu, 15 Apr 2021 21:18:09 +0000 (17:18 -0400)]
rgw: allow rgw-orphan-list to process multiple data pools
We now allow multiple data pools to be specified either on the
command-line or at the prompt. The list should be space-separated.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit
bde1278a5de3e9363c0f136b6ebc913bbb5e269d )
Mark Kogan [Mon, 26 Apr 2021 12:36:08 +0000 (15:36 +0300)]
rgw: fix segfault related to explicit object manifest handling
Fixes: https://tracker.ceph.com/issues/50467
Signed-off-by: Mark Kogan <mkogan@redhat.com>
(cherry picked from commit
ae00453515b17d25a5d42430e744855b020ccec6 )
Yuval Lifshitz [Tue, 9 Mar 2021 10:36:09 +0000 (12:36 +0200)]
rgw/notifications: delete bucket notification object when empty
Fixes: https://tracker.ceph.com/issues/49650
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
(cherry picked from commit
08e9846fd5a040887e2ddbfca36da97777fc76f6 )
Conflicts:
src/rgw/rgw_pubsub.cc
Cherry-pick notes:
- RGWPubSub methods take a DoutPrefixProvider as first argument in Pacific
Alfonso Martínez [Wed, 4 Aug 2021 09:11:50 +0000 (11:11 +0200)]
mgr/dashboard: show perf. counters for rgw svc. on Cluster > Hosts
- Use service_map_id to retrieve perf. counters for rgw services.
- Move logic from controller to CephService.
Fixes: https://tracker.ceph.com/issues/52022
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
(cherry picked from commit
69a87a1dea6fe148f2a81b1d7775f5ade9626c09 )
Alfonso Martínez [Tue, 3 Aug 2021 13:20:54 +0000 (15:20 +0200)]
mgr/dashboard: Cluster > Hosts > Performance Counters: do not show context bar.
Do not show the context bar (Object Gateway selection).
Fixes: https://tracker.ceph.com/issues/52022
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
(cherry picked from commit
73acb9b60d23e79bdcdd03437b0a813487420e33 )
Avan Thakkar [Thu, 29 Jul 2021 22:53:43 +0000 (04:23 +0530)]
mgr/dashboard: fix ssl cert validation for rgw service creation
Fixes: https://tracker.ceph.com/issues/51965
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit
5f52c00e5291b53b4fe9ab7f9fae5d499017f91b )
mengxiangrui [Fri, 16 Jul 2021 21:22:42 +0000 (05:22 +0800)]
rgw: avoid occuring radosgw daemon crash when access a conditionally redirected static website
Fixes: https://tracker.ceph.com/issues/51715
Signed-off-by: xiangrui meng <mengxr@chinatelecom.cn>
Signed-off-by: yupeng chen <chenyupeng@chinatelecom.cn>
(cherry picked from commit
865d13e9fa043954dce5110f4f8ae693af9604ce )
Daniel Gryniewicz [Thu, 1 Apr 2021 18:24:09 +0000 (14:24 -0400)]
RGW Zipper - Make sure bucket list progresses
The bucket list wrapper lost the automatic advancement of the marker for
each iteration. Some places manually set that marker, and it worked
fine, but some depended on it being automatically set. Fix it so that
the marker advances automatically each iteration.
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
(cherry picked from commit
9cd74053b8bd95d3dee6cac6723cb051768865c3 )
Ernesto Puerta [Tue, 3 Aug 2021 15:35:17 +0000 (17:35 +0200)]
Merge pull request #42585 from rhcs-dashboard/wip-51994-pacific
pacific: mgr/dashboard: cephadm-e2e job script: improvements
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Tatjana Dehler [Tue, 3 Aug 2021 11:38:43 +0000 (13:38 +0200)]
mgr/dashboard: update translations for pacific
Note: it's not a backport because the change is not intended to land in
master. It's pacific related only.
Signed-off-by: Tatjana Dehler <tdehler@suse.com>