]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Andrew Schoen [Tue, 16 Jul 2019 15:29:40 +0000 (10:29 -0500)]
ceph-volume: fix deploy playbook for ansible~=2.6,<2.7
When testing the lumionus and mimic branch the import_role
ansible feature does not work as expected. Variables created by one
role is not available to the next role called when using
import_role. To fix this, we need to use the roles keyword instead.
This commit is only applies to luminous and mimic and should
only be applied there.
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit
b619988fbfafa7568e0ec51cfb56336a72460d44 )
Guillaume Abrioux [Wed, 13 Feb 2019 10:27:12 +0000 (11:27 +0100)]
ceph-volume: update deploy.yml
update deploy.yml accordingly with recent changes in ceph-ansible.
Fixes: ceph/ceph-ansible#3602
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit
da13da67bc1e8ba062c61a716eea485ae462db48 )
Yuri Weinstein [Thu, 11 Jul 2019 20:16:35 +0000 (13:16 -0700)]
Merge pull request #28123 from dillaman/wip-39461-mimic
mimic: rbd-mirror: clear out bufferlist prior to listing mirror images
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Yuri Weinstein [Thu, 11 Jul 2019 20:15:53 +0000 (13:15 -0700)]
Merge pull request #28133 from dillaman/wip-38441-mimic
mimic: librbd: ensure compare-and-write doesn't skip compare after copyup
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Yuri Weinstein [Thu, 11 Jul 2019 20:15:09 +0000 (13:15 -0700)]
Merge pull request #28770 from dillaman/wip-40573-mimic
mimic: librbd: properly track in-flight flush requests
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Yuri Weinstein [Thu, 11 Jul 2019 20:14:41 +0000 (13:14 -0700)]
Merge pull request #28814 from trociny/wip-40461-mimic
mimic: journal: properly advance read offset after skipping invalid range
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Yuri Weinstein [Wed, 10 Jul 2019 19:38:56 +0000 (12:38 -0700)]
Merge pull request #28161 from pdvian/wip-39426-mimic
mimic: mgr: deadlock
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Yuri Weinstein [Wed, 10 Jul 2019 19:38:12 +0000 (12:38 -0700)]
Merge pull request #28326 from cbodley/wip-40088
mimic: common: parse ISO 8601 datetime format
Reviewed-by: Sage Weil <sage@redhat.com>
Yuri Weinstein [Wed, 10 Jul 2019 19:37:48 +0000 (12:37 -0700)]
Merge pull request #28399 from xiexingguo/wip-fudege-for-m
mimic: mgr/balancer: fix fudge
Reviewed-by: Kefu Chai <kchai@redhat.com>
Yuri Weinstein [Wed, 10 Jul 2019 19:37:07 +0000 (12:37 -0700)]
Merge pull request #28645 from ifed01/wip-ifed-fix-40080-mimic
mimic: os/bluestore: fix duplicate allocations in bmap allocator
Reviewed-by: Sage Weil <sage@redhat.com>
Alfredo Deza [Wed, 10 Jul 2019 13:20:03 +0000 (09:20 -0400)]
Merge pull request #28948 from ceph/backport-mimic-28866
mimic: ceph-volume broken assertion errors after pytest changes
Reviewed-by: Alfredo Deza <adeza@redhat.com>
Alfredo Deza [Wed, 10 Jul 2019 13:19:19 +0000 (09:19 -0400)]
Merge pull request #28947 from ceph/backport-mimic-28836
mimic: ceph-volume tests add a sleep in tox for slow OSDs after booting
Reviewed-by: Alfredo Deza <adeza@redhat.com>
Alfredo Deza [Wed, 3 Jul 2019 18:59:18 +0000 (14:59 -0400)]
ceph-volume api.lvm catch IndexError when parsing dmmapper output
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
bfff70d07a1ccf7fb11a96dd7c63335cfc9b5e26 )
Alfredo Deza [Wed, 3 Jul 2019 18:58:31 +0000 (14:58 -0400)]
ceph-volume tests update to use error.value instead of str(error)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
484be7ffb1e0865ff840090a73036567a1f4f5d2 )
Alfredo Deza [Tue, 2 Jul 2019 12:34:01 +0000 (08:34 -0400)]
ceph-volume tests add a sleep in tox for slow OSDs after booting
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
b398f99f810d97c94af6d943aed4c11a5fd69c19 )
Alfredo Deza [Tue, 9 Jul 2019 20:02:13 +0000 (16:02 -0400)]
Merge pull request #28930 from ceph/backport-mimic-26739
mimic: ceph-volume: replace testinfra command with py.test
Reviewed-by: Alfredo Deza
Yuri Weinstein [Mon, 8 Jul 2019 20:01:45 +0000 (13:01 -0700)]
Merge pull request #28209 from votdev/add_tenant_to_bucket
mimic: rgw: Return tenant field in bucket_stats function
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 8 Jul 2019 20:01:21 +0000 (13:01 -0700)]
Merge pull request #28249 from pdvian/wip-39532-mimic
mimic: rgw: resharding of a versioned bucket causes a bucket stats discrepancy
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 8 Jul 2019 20:00:59 +0000 (13:00 -0700)]
Merge pull request #28348 from smithfarm/wip-39179-mimic
mimic: rgw: remove_olh_pending_entries() does not limit the number of xattrs to remove
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 8 Jul 2019 20:00:28 +0000 (13:00 -0700)]
Merge pull request #28409 from cbodley/wip-40147
mimic: rgw: fix bucket may redundantly list keys after BI_PREFIX_CHAR
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 8 Jul 2019 19:59:53 +0000 (12:59 -0700)]
Merge pull request #28422 from pdvian/wip-39697-mimic
mimic: rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 8 Jul 2019 19:59:26 +0000 (12:59 -0700)]
Merge pull request #28483 from pdvian/wip-39734-mimic
mimic: rgw: multisite: mismatch of bucket creation times from List Buckets
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 8 Jul 2019 19:59:03 +0000 (12:59 -0700)]
Merge pull request #28668 from smithfarm/wip-40348-mimic
mimic: tests: use curl in wait_for_radosgw() in util/rgw.py
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 8 Jul 2019 19:58:39 +0000 (12:58 -0700)]
Merge pull request #28711 from pdvian/wip-40133-mimic
mimic: rgw: TempURL should not allow PUTs with the X-Object-Manifest.
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Yuri Weinstein [Mon, 8 Jul 2019 19:58:14 +0000 (12:58 -0700)]
Merge pull request #28716 from smithfarm/wip-40507-mimic
mimic: rgw: conditionally allow builtin users with non-unique email addresses
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Alfredo Deza [Mon, 4 Mar 2019 14:05:07 +0000 (09:05 -0500)]
ceph-volume tests.simple replace testinfra command for py.test
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
e90ebc3264004cab3286895c843db43f20a4840b )
Alfredo Deza [Mon, 4 Mar 2019 14:04:51 +0000 (09:04 -0500)]
ceph-volume tests.lvm replace testinfra command for py.test
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
c4597fc63195c654b960f747f9d50a558fa719c0 )
Alfredo Deza [Mon, 4 Mar 2019 14:04:36 +0000 (09:04 -0500)]
ceph-volume tests.batch replace testinfra command for py.test
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
dc7501af69ccbdabb5e6a77a91696454855201e9 )
Nathan Cutler [Tue, 2 Jul 2019 08:24:58 +0000 (10:24 +0200)]
Merge pull request #28029 from ifed01/wip-ifed-dump-before-nospanid-mimic
mimic: os/bluestore: dump before "no-spanning blob id" abort
Reviewed-by: Neha Ojha <nojha@redhat.com>
Yuri Weinstein [Mon, 1 Jul 2019 20:13:31 +0000 (13:13 -0700)]
Merge pull request #28619 from xiexingguo/wip-40230
mimic: mon, osd: parallel clean_pg_upmaps
Reviewed-by: Neha Ojha <nojha@redhat.com>
Yuri Weinstein [Mon, 1 Jul 2019 20:06:17 +0000 (13:06 -0700)]
Merge pull request #28138 from dillaman/wip-39186-mimic
mimic: rbd: filter out group/trash snapshots from snap_list
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Yuri Weinstein [Mon, 1 Jul 2019 20:05:53 +0000 (13:05 -0700)]
Merge pull request #28139 from dillaman/wip-38563-mimic
mimic: librbd: race condition possible when validating RBD pool
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Yuri Weinstein [Mon, 1 Jul 2019 20:05:20 +0000 (13:05 -0700)]
Merge pull request #28150 from trociny/wip-37691-mimic
mimic: librbd: disable image mirroring when moving to trash
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Yuri Weinstein [Mon, 1 Jul 2019 20:04:49 +0000 (13:04 -0700)]
Merge pull request #28151 from dillaman/wip-38509-mimic
mimic: librbd: add missing shutdown states to managed lock helper
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Yuri Weinstein [Mon, 1 Jul 2019 20:02:40 +0000 (13:02 -0700)]
Merge pull request #28202 from dzafman/wip-39698
mimic: osd: Don't include user changeable flag in snaptrim related assert
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Yuri Weinstein [Mon, 1 Jul 2019 20:01:19 +0000 (13:01 -0700)]
Merge pull request #28232 from pdvian/wip-39518-mimic
mimic: osd: Don't evict after a flush if intersecting scrub range
Reviewed-by: David Zafman <dzafman@redhat.com>
Yuri Weinstein [Mon, 1 Jul 2019 20:00:46 +0000 (13:00 -0700)]
Merge pull request #28259 from pdvian/wip-39538-mimic
mimic: osd/PG: fix last_complete re-calculation on splitting
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Yuri Weinstein [Mon, 1 Jul 2019 19:57:35 +0000 (12:57 -0700)]
Merge pull request #28503 from pdvian/wip-39737-mimic
mimic: osd: Output Base64 encoding of CRC header if binary data present
Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Yuri Weinstein [Mon, 1 Jul 2019 19:57:01 +0000 (12:57 -0700)]
Merge pull request #28540 from pdvian/wip-39744-mimic
mimic: mon: paxos: introduce new reset_pending_committing_finishers for safety
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Yuri Weinstein [Mon, 1 Jul 2019 19:56:10 +0000 (12:56 -0700)]
Merge pull request #28574 from smithfarm/wip-40280-mimic
mimic: bluestore: 50-100% iops lost due to bluefs_preextend_wal_files = false
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Mykola Golub [Tue, 18 Jun 2019 09:24:28 +0000 (12:24 +0300)]
journal: properly advance read offset after skipping invalid range
Fixes: https://tracker.ceph.com/issues/40409
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit
7b8fd11fc6f49ca69a8484ee4b175b530b2dd2a3 )
Jason Dillaman [Mon, 29 Apr 2019 15:37:37 +0000 (11:37 -0400)]
librbd: remove special case for starting AioCompletion ops
All ops can be immediately started now that flush ops won't
accidentally block themselves.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
b5fc7ecaf7a3741d227ab5a9108392813dd03495 )
Conflicts:
src/librbd/io/AioCompletion.cc: assert/ceph_assert conflicts
src/librbd/io/ImageRequest.cc: assert/ceph_assert conflicts
Jason Dillaman [Mon, 29 Apr 2019 14:13:21 +0000 (10:13 -0400)]
librbd: simplify IO flush handling through AsyncOperation
Allow ImageFlushRequest to directly execute a flush call through
AsyncOperation. This will allow the flush to be directly linked
to its preceeding IOs.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
09e4127d5df1e2a79f2536dc784ec3730feea9ce )
Conflicts:
src/librbd/io/AsyncOperation.cc: trivial resolution
src/test/librbd/io/test_mock_CopyupRequest.cc: DNE
Matt Benjamin [Thu, 30 May 2019 15:15:23 +0000 (11:15 -0400)]
rgw: conditionally allow non-unique email addresses
Conditionally allow non-unique email address values for builtin
RGW users.
Fixes: http://tracker.ceph.com/issues/40089
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit
974791522007cca6d8fb30e83677f0ddd7c4e71d )
Conflicts:
src/rgw/rgw_user.cc
- changed '_conf.get_val<bool>' to '_conf->get_val<bool>'
Radoslaw Zarzynski [Fri, 28 Jul 2017 14:37:07 +0000 (10:37 -0400)]
rgw: TempURL should not allow PUTs with the X-Object-Manifest.
Fixes: http://tracker.ceph.com/issues/20797
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit
40e602bc3866598952eb0dd68ecec947dd7b70d6 )
Ali Maredia [Wed, 12 Jun 2019 20:12:47 +0000 (16:12 -0400)]
qa: use curl in wait_for_radosgw() in util/rgw.py
Signed-off-by: Ali Maredia <amaredia@redhat.com>
(cherry picked from commit
9c6afa3fb570629a57612f250a6a4890a65cbc6e )
Igor Fedotov [Tue, 11 Jun 2019 17:31:32 +0000 (20:31 +0300)]
os/bluestore: BitmapAllocator::allocate: log new extents only
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
a90d57ca05c902eab8ca19090b856ea0e08f5d2b )
Igor Fedotov [Tue, 11 Jun 2019 17:23:08 +0000 (20:23 +0300)]
os/bluestore: distinguis request and results in bitmap alloc log
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
84c2d4148574373c678ad8f00e35f9e209ba1f18 )
Igor Fedotov [Tue, 11 Jun 2019 17:05:09 +0000 (20:05 +0300)]
os/bluestore: fix duplicate allocations in bmap allocator
Fixes: http://tracker.ceph.com/issues/40080
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit
eac81bc85970287fce60178e80c37628b3df0e7d )
Conflicts:
src/os/bluestore/fastbmap_allocator_impl.cc
assert vs. ceph_assert mismatch
xie xingguo [Mon, 3 Jun 2019 08:43:25 +0000 (16:43 +0800)]
test: add parallel clean_pg_upmaps test
With parallel clean_pg_upmaps feature on, the total time cost
of the performance test which now can utilize up to 8 threads for
parallel upmap validating decreased from:
maybe_remove_pg_upmaps (~10000 pg_upmap_items) latency:104s
to:
clean_pg_upmaps (~10000 pg_upmap_items) latency:7s
Note that by default the mon uses only 4 worker threads for
CPU intensive background work, you could further increase
the "mon_cpu_threads" option value if you decided the
time-consuming of clean_pg_upmaps still matters.
Fixes: http://tracker.ceph.com/issues/40104
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
a45112a9761d7b11f62cf4dac9f3a8e093cdd78f )
xie xingguo [Mon, 3 Jun 2019 08:10:22 +0000 (16:10 +0800)]
mon/OSDMonitor: do clean_pg_upmaps the parallel way if necessary
There could definitely be some certain cases we could reliably
skip this kind of checking, but there is no easy way to separate
those out.
However, this is clearly the general way to do the massive pg
upmap clean-up job more efficiently and hence should make sense
in all cases.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
c395f45f1f4d6f5e2b538a34730d9c92d8f9ae8b )
xie xingguo [Sat, 1 Jun 2019 11:46:25 +0000 (19:46 +0800)]
osd/OSDMap: split clean_pg_upmaps into smaller helpers
- it's good to read.
- the updating pending_inc part should be made independent
since it is going to be racy while running in parallel.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
4d5cf1e4173e5151cc571af571edb2eab0bb46a7 )
Conflicts:
slight conflicts with pg-merge
xie xingguo [Mon, 17 Jun 2019 10:44:09 +0000 (18:44 +0800)]
osd: maybe_remove_pg_upmaps -> clean_pg_upmaps
It should always be the preferred option to kill the unnecessary
or duplicated code, which is good for maintenance.
Also I've noticed there is already a clean_temps helper, so re-naming
maybe_remove_pg_upmaps to clean_pg_upmaps to at least keep pace with
that sounds to be a natural choice for me..
Master PR: https://github.com/ceph/ceph/pull/28373
This does not follow the normal backport process
since this piece of code has been changed a lot for the past 18 months..
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
xie xingguo [Wed, 5 Jun 2019 02:41:52 +0000 (10:41 +0800)]
osd/OSDMapMapping: make ParallelPGMapper can accept input pgs
The existing "prime temp" machinism is a good inspiration
for cluster with a large number of pgs that need to do various
calculations quickly.
I am planning to do the upmap tidy-up work the same way, hence
the need for an alternate way of specifying pgs to process other
than taking directly from the map.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
f6fd4a312e0dda260f2c150334f06b531678ce47 )
Conflicts:
s/g_conf./g_conf->/
xie xingguo [Sat, 1 Jun 2019 06:22:39 +0000 (14:22 +0800)]
osd/OSDMap: maybe_remove_pg_upmaps - avoid do_crush twice
which is extremely time-consuming.
Half of the amount of time of calling maybe_remove_pg_upmaps
has been saved by applying this patch as a result..
Was: maybe_remove_pg_upmaps (~10000 pg_upmap_items) latency:104s
Now: maybe_remove_pg_upmaps (~10000 pg_upmap_items) latency:56s
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
02e5499b350bcd7d9eac98b2072052a9a4a1f535 )
Conflicts:
- s/nextmap/tmpmap/
- drop std:: namespace
xie xingguo [Sat, 1 Jun 2019 04:13:19 +0000 (12:13 +0800)]
osd/OSDMap: maybe_remove_pg_upmaps - s/pg_to_raw_up/pg_to_raw_upmap/
The upmap results are directly applied after calling
_pg_to_raw_osds, which means it basically has nothing to do
with the up/down status.
In other words, if a pg_upmap/pg_upmap_items remapped a pg
into some down osds and is now causing collided result,
we should still be able to detect and cancel that.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
d9ed406a61c46858dd8350af5c72d7b8824dcdd3 )
Conflicts:
s/nextmap/tmpmap/
xie xingguo [Sat, 1 Jun 2019 02:43:10 +0000 (10:43 +0800)]
test/osd: add performance test case for maybe_remove_pg_upmap
Tom Byrne reported that maybe_remove_pg_upmap might become
super inefficient for large clusters with balancer on.
To identify and resolve the problem, we need to add some good
measurements first.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
c0ce22b8c861fb76957b4cbbd59d9800e1ec09c3 )
Vitaliy Filippov [Wed, 6 Mar 2019 23:01:18 +0000 (02:01 +0300)]
osd/bluestore: Actually wait until completion in write_sync
This function is only used by RocksDB WAL writing so it must sync data.
This fixes #18338 and thus allows to actually set `bluefs_preextend_wal_files`
to true, gaining +100% single-thread write iops in disk-bound (HDD or bad SSD) setups.
To my knowledge it doesn't hurt performance in other cases.
Test it yourself on any HDD with `fio -ioengine=rbd -direct=1 -bs=4k -iodepth=1`.
Issue #18338 is easily reproduced without this patch by issuing a `kill -9` to the OSD
while doing `fio -ioengine=rbd -direct=1 -bs=4M -iodepth=16`.
Fixes: https://tracker.ceph.com/issues/18338 https://tracker.ceph.com/issues/38559
Signed-off-by: Vitaliy Filippov <vitalif@yourcmc.ru>
(cherry picked from commit
c703cf9a7632cbd9f17e148ef203509549a28571 )
Conflicts:
src/os/bluestore/KernelDevice.cc
- mimic has a single variable "fd_buffered" where master has an array "fd_buffereds"
Greg Farnum [Mon, 29 Apr 2019 22:39:59 +0000 (15:39 -0700)]
mon: paxos: introduce new reset_pending_committing_finishers for safety
There are asserts about the state of the system and pending_finishers which can
be triggered by running arbitrary commands through again. They are correct
when not restarting, but when we do restart we need to take care to preserve
the same invariants as appropriate. Use this function to be careful about
the order of committing_finishers v pending_finishers and to make sure they're
both empty before any Contexts actually get called.
We also reorder a call to finish_contexts on the waiting_for_writeable list for
similar reasons.
Fixes: http://tracker.ceph.com/issues/39484
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit
b17caec586ba2801593db61f91d66719d40b905e )
David Zafman [Sat, 4 May 2019 18:32:40 +0000 (11:32 -0700)]
osd: Output Base64 encoding of CRC header if binary data present
Add optional paramter so cleanbin() for bufferlist can include "Base64:"
Fixes: https://tracker.ceph.com/issues/39582
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
eea239c03ca8aeb9a1da742b07d8627fbe2317e2 )
Conflicts:
src/include/util.h : Resolved for cleanbin
src/osd/ReplicatedBackend.cc : Resolved for util.h
Casey Bodley [Thu, 9 May 2019 14:07:52 +0000 (10:07 -0400)]
test/rgw: add multisite test_bucket_creation_time()
does not create any buckets itself, but checks that all creation times
match on buckets created by other tests
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
8df991c5cc48a6709185edf506d8bdec4d28e371 )
Casey Bodley [Wed, 8 May 2019 18:35:25 +0000 (14:35 -0400)]
cls/user: cls_user_set_buckets_info overwrites creation_time
metadata sync of a new bucket entrypoint may call rgw_link_bucket()
(which in turn calls into cls user) without deleting/unlinking the
previous bucket entrypoint. this prevented the new bucket entrypoint
from overwriting the creation_time of the old one
Fixes: http://tracker.ceph.com/issues/39635
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
c469e5150a3e95b547a7d05d1ae08fa88fad7159 )
Yuri Weinstein [Mon, 10 Jun 2019 19:32:05 +0000 (12:32 -0700)]
Merge pull request #28457 from yuriw/wip-yuriw-40208-mimic
qa/tests: removed `1node` and `systemd` tests as ceph-deploy is not actively developed
Reviewed-by: Neha Ojha <nojha@redhat.com>
Yuri Weinstein [Sat, 8 Jun 2019 16:17:53 +0000 (09:17 -0700)]
qa/tests: removed `1node` and `systemd` tests as ceph-deploy is not actively developed
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
Abhishek Lekshmanan [Thu, 21 Feb 2019 16:06:52 +0000 (17:06 +0100)]
rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy
Right now we create a ERR_NO_SUCH_BUCKET ret code but continue further
processing. Since this ret code isn't returned at any stage we end up creating a
bucket instance anyway which shouldn't happen and then succeeding the client
call in cases like put bucket versioning. Return an error code early in these
cases
Fixes: http://tracker.ceph.com/issues/38420
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit
cf66a6d5a7eee294313a1a08d0524daf939747e5 )
Casey Bodley [Tue, 4 Jun 2019 20:40:36 +0000 (16:40 -0400)]
cls/rgw: test before accessing pkeys->rbegin()
if pkeys is empty here, dereferencing rbegin() will crash
Fixes: http://tracker.ceph.com/issues/39984
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
a936a06a657ce1cc118d75f66773aeda4167bbf3 )
Tianshan Qu [Tue, 21 May 2019 06:15:51 +0000 (14:15 +0800)]
rgw: fix bucket may redundantly list keys after BI_PREFIX_CHAR
Fixes: http://tracker.ceph.com/issues/39984
Signed-off-by: Tianshan Qu <tianshan@xsky.com>
(cherry picked from commit
dc3ffe99b910d04b68d70a1af2f38d877e05cd25 )
xie xingguo [Tue, 7 May 2019 09:10:21 +0000 (17:10 +0800)]
mgr/balancer: fix fudge
next_* simply record some intermediate results when balancer tries
to find something to optimize, whereas best_* are used for the
final outputs.
Fix by comparing origin_ow with best_ow when determining if we
should use a valid fudge value.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
8f46a351f1fa6f921b373aed4038efc0898a8a44 )
Yuri Weinstein [Tue, 4 Jun 2019 20:10:44 +0000 (13:10 -0700)]
Merge pull request #28389 from yuriw/wip-yuriw-whitelist-mimic
qa/tests: whitelisted 'application not enabled'
Yuri Weinstein [Tue, 4 Jun 2019 19:53:40 +0000 (12:53 -0700)]
qa/tests: whitelisted 'application not enabled'
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
Jenkins Build Slave User [Mon, 3 Jun 2019 15:18:57 +0000 (15:18 +0000)]
13.2.6
Yuri Weinstein [Sun, 2 Jun 2019 20:33:06 +0000 (13:33 -0700)]
Merge pull request #28356 from yuriw/wip-yuriw-whitelist-mimic
qa/tests: whitelisted POOL_APP_NOT_ENABLED
Yuri Weinstein [Fri, 31 May 2019 21:04:19 +0000 (14:04 -0700)]
qa/tests: whitelisted POOL_APP_NOT_ENABLED
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
Yuri Weinstein [Fri, 31 May 2019 14:55:40 +0000 (07:55 -0700)]
Merge pull request #28301 from yuriw/wip-yuriw-exl-python-mimic
qa/tests: added 'python3-cephfs','python3-rados' to excluded packadges
Casey Bodley [Fri, 5 Apr 2019 13:26:05 +0000 (09:26 -0400)]
rgw: limit entries in remove_olh_pending_entries()
If there are too many entries to send in a single osd op, the osd rejects
the request with EINVAL. This error happens in follow_olh(), which means
that requests against the object logical head (requests with no version
id) can't be resolved to the current object version. In multisite, this
also causes data sync to get stuck in retries
Fixes: http://tracker.ceph.com/issues/39118
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit
3805ea635a5f28656072b2cf5cdc9b5bf53b5e97 )
Conflicts:
src/rgw/rgw_rados.cc
- mimic ref.ioctx.operate() call takes ref.oid instead of ref.obj.oid
Yuri Weinstein [Wed, 29 May 2019 19:19:39 +0000 (12:19 -0700)]
qa/tests: added 'python3-cephfs','python3-rados' to excluded packadges
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
Yuri Weinstein [Thu, 30 May 2019 20:40:15 +0000 (13:40 -0700)]
Merge pull request #28129 from dillaman/wip-39728-mimic
mimic: qa/workunits/rbd: use https protocol for devstack git operations
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Sage Weil [Fri, 24 May 2019 22:09:53 +0000 (17:09 -0500)]
common/utime: don't pass %z to utime if there is a 'Z'
This fails on centos 7 for some reason.
If it's UTC, we don't need to parse the tz portion, so avoid the issue by
leaving the %z out of the fmt string.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
1d1c4782eea1fac0e9230ed5ac32b19517fdd616 )
Sage Weil [Thu, 25 Apr 2019 22:15:09 +0000 (17:15 -0500)]
common/utime: make parse() handle (our) ISO 8601 output
- optional subsecond values
- optional timezone offset
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
668d6e7f97bd37f1896611249cfae85bced4b096 )
Yuri Weinstein [Tue, 28 May 2019 21:42:01 +0000 (14:42 -0700)]
Merge pull request #28184 from yuriw/wip-yuriw-fix-distro-mimic
qa/tests: cleaned up supported distro
xie xingguo [Sat, 20 Apr 2019 08:34:12 +0000 (16:34 +0800)]
osd/PG: fix last_complete re-calculation on splitting
We add hard-limit for pg_logs now, which means we might keep trimming
old log entries irrespective of pg's current missing_set. This as a
result can cause the last_complete pointer moving far ahead of the real
on-disk version (the oldest need of missing_set, for instance) the
corresponding pg should have on splitting:
```
2019-04-19 06:41:52.559247
7efd4725c700 10 osd.2 271 Splitting pg[5.6( v 270'943 lc 0'0 (238'300,270'943] local-lis/les=250/251 n=943 ec=223/223 lis/c 250/223 les/251/224/0 250/271/229) [5,2] r=1 lpr=271 pi=[223,271)/4 crt=270'943 unknown NOTIFY m=518 mbc={}] into 5.16
2019-04-19 06:41:52.561413
7efd4725c700 10 osd.2 pg_epoch: 271 pg[5.6( v 270'943 lc 238'300 (238'300,270'943] local-lis/les=250/251 n=943 ec=223/223 lis/c 250/223 c/f 251/224/0 250/271/229) [5,2] r=1 lpr=271 pi=[223,271)/4 crt=270'943 lcod 0'0 unknown NOTIFY m=261 mbc={}] release_backoffs [MIN,MAX)
```
For the above example, parent's last_complete cursor changed from **0'0** to
**238'300** directly due to the effort of trying to catch up the oldest
log entry changing when splitting was done. However, back into v12.2.9 primary
would still reference shard's last_complete field when trying to figure out all
possible locations of a currently missing object (see PG::MissingLoc::add_source_info):
```c++
if (oinfo.last_complete < need) {
if (omissing.is_missing(soid)) {
ldout(pg->cct, 10) << "search_for_missing " << soid << " " << need
<< " also missing on osd." << fromosd << dendl;
continue;
}
}
```
Hence a wrongly calculated last_complete could then make primary mis-consider
that a specific shard might have the authoritative object it currently
looking for:
```
2019-04-19 06:41:52.904163
7fd4cfb5a700 10 osd.5 pg_epoch: 271 pg[5.6( v 270'943 lc 238'300 (238'300,270'943] local-lis/les=250/251 n=471 ec=223/223 lis/c 250/223 les/
c/f 251/224/0 250/271/229) [5,2] r=0 lpr=271 pi=[223,271)/4 crt=270'943 lcod 226'77 mlcod 0'0 peering m=16 mbc={}] proc_replica_log for osd.2: 5.6( v 270'943 lc 238'30
0 (238'300,270'943] local-lis/les=250/251 n=471 ec=223/223 lis/c 250/223 les/c/f 251/224/0 250/271/229) log((249'563,270'943], crt=270'943) missing(261 may_include_del
etes = 1)
2019-04-19 06:41:52.904645
7fd4cfb5a700 20 osd.5 pg_epoch: 271 pg[5.6( v 270'943 lc 238'300 (238'300,270'943] local-lis/les=250/251 n=471 ec=223/223 lis/c 250/223 les/
c/f 251/224/0 250/271/229) [5,2] r=0 lpr=271 pi=[223,271)/4 crt=270'943 lcod 226'77 mlcod 0'0 peering m=16 mbc={}] after missing 5:
624c3a7a :::benchmark_data_smithi190
_39968_object1382:head need 226'110 have 0'0
2019-04-19 06:41:53.567820
7fd4d035b700 10 osd.5 pg_epoch: 272 pg[5.6( v 270'943 lc 0'0 (238'300,270'943] local-lis/les=271/272 n=471 ec=223/223 lis/c 250/223 les/c/f
251/224/0 250/271/229) [5,2] r=0 lpr=271 pi=[223,271)/4 crt=270'943 lcod 226'77 mlcod 0'0 unknown m=16 u=13 mbc={255={(1+0)=220,(2+0)=28}}] search_for_missing 5:624c3a
7a:::benchmark_data_smithi190_39968_object1382:head 226'110 is on osd.2
```
note that ```5:
624c3a7a :::benchmark_data_smithi190_39968_object1382:head 226'110```
was actually missing on both primary and shard osd.2 whereas primary insisted that
object should exist on shard osd.2!
https://github.com/ceph/ceph/pull/26175 posted an indirect fix
for the above problem by ignoring last_complete when checking the missing set,
but it should generally make more sense to fill in the last_complete field correctly
whenever possible.
Hence coming this additional fix.
Fixes: http://tracker.ceph.com/issues/26958
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
aad5d47be64ed7feba79f540ec1debc45625a74f )
J. Eric Ivancich [Fri, 30 Nov 2018 02:46:04 +0000 (21:46 -0500)]
rgw: minor clean-up -- convert enum BIIndexType to enum class
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit
06fcac3ba04b69cc5788938642f8a17bfb520aa2 )
J. Eric Ivancich [Thu, 29 Nov 2018 23:02:45 +0000 (18:02 -0500)]
rgw: fix bad versioned bucket stats after reshard
When a versioned bucket is resharded, the stats for bucket index
entries of type PlainIdx and InstanceIdx were both accumulated to
determine the bucket stats. This caused a doubling of some stats, such
as bytes used. This fix makes certain that only PlainIdx entries are
accumulated. This works for unversioned buckets as well, as they only
have Plain Idx entries.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit
6379ec6a81bf469341a095b3b852678115fb99f7 )
David Zafman [Tue, 26 Mar 2019 22:53:10 +0000 (15:53 -0700)]
osd: Don't evict after a flush if intersecting scrub range
Fixes: http://tracker.ceph.com/issues/38840
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
459cbb5a6ca3b521b20f36f328f25f398d0ef1c4 )
Volker Theile [Wed, 22 May 2019 09:20:49 +0000 (11:20 +0200)]
rgw: Return tenant field in bucket_stats function
Fixes: tracker.ceph.com/issues/36681
Signed-off-by: Volker Theile <vtheile@suse.com>
(cherry picked from commit
9440776f0625451a535d87749d65c8835a76e261 )
David Zafman [Tue, 30 Apr 2019 03:20:18 +0000 (20:20 -0700)]
osd: Don't include user changeable flag in snaptrim related assert
Caused by:
a53ba7314c53e75d1e0b8a0edd29181db3c93863
Fixes: http://tracker.ceph.com/issues/38124
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
63c2060c2d9eef49dacf2ba240ccfbead9791f43 )
Conflicts:
src/osd/PrimaryLogPG.h (Use assert() in mimic)
Yuri Weinstein [Mon, 20 May 2019 23:36:36 +0000 (16:36 -0700)]
qa/tests: cleaned up supported distro
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
xie xingguo [Sat, 30 Mar 2019 03:26:19 +0000 (11:26 +0800)]
mgr/BaseMgrModule: drop GIL in ceph_store_set
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
5108860c385cc1d905588d2e92d80295e3222ca4 )
Conflicts:
src/mgr/ActivePyModules.cc : Resolved in set_store
xie xingguo [Sat, 30 Mar 2019 03:15:49 +0000 (11:15 +0800)]
mgr/BaseMgrModule: drop GIL in set_config
Holding GIL and run mon_command turns out to be easily deadlock-prone.
https://tracker.ceph.com/issues/35985 is a typical report, and here is
another.
Fix by using PyModuleConfig's own lock for protection of concurrent
accesses, which should be sufficient enough.
Fixes: http://tracker.ceph.com/issues/39040
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
96b7319cc92e13198e05398921404959005c26d9 )
Conflicts:
src/mgr/BaseMgrModule.cc : Resolved in ceph_config_set
Jason Dillaman [Sat, 23 Feb 2019 00:25:44 +0000 (19:25 -0500)]
rbd-mirror: image replay should retry asok registration upon failure
If the asok registration fails (perhaps due to a race condition with
a deleted and recreated image of the same name), periodically attempt
to register the missing asok hook.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
2d2d3bbc791e807bb0c83072aaeee023116884ce )
Jason Dillaman [Fri, 22 Feb 2019 18:52:43 +0000 (13:52 -0500)]
rbd-mirror: failure to initialize pool replayer should stop leader
The leader watcher should not start processing requests if it failed
to initialize.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
3723d44fa83f38572bf7587e1111005c8ba6ed69 )
Jason Dillaman [Fri, 22 Feb 2019 18:22:55 +0000 (13:22 -0500)]
rbd-mirror: fixed potential bootstrap cancel race condition
If the image replay was canceled prior to the start of the bootstrap
stage, the image replayer would be stuck attempting to shut down if
the bootstrap is paused behind an image sync.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
91b8a24ea58aee01ec8567195b5aabe11f74b87f )
Conflicts:
src/tools/rbd_mirror/ImageReplayer.cc: trivial resolution
Jason Dillaman [Fri, 22 Feb 2019 15:59:26 +0000 (10:59 -0500)]
rbd-mirror: complete pool watcher initialization if object missing
If the mirroring object is missing, complete the initialization and
continue to retry in the background. This is useful for cases where
the remote doesn't (yet) have mirroring enabled but the remote
pool watcher initialization is delaying the leader watcher promotion
to the point where the leader is blacklisted by its peers.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
80954cd914c86e11ffb6a8cbfcb21202cb8131b5 )
Jason Dillaman [Thu, 21 Feb 2019 17:37:38 +0000 (12:37 -0500)]
rbd-mirror: abort trash watcher initialization if create blacklisted
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
8b883d136be4454029af7c4c7e580936ad901156 )
Jason Dillaman [Thu, 21 Feb 2019 17:37:00 +0000 (12:37 -0500)]
rbd-mirror: avoid attempting to reacquire lock if blacklisted
The pool replayer state machine will automatically be restarted
when a blacklist is detected.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
ff37c5c348ee811675007fc90c6b09f094ebf372 )
Jason Dillaman [Tue, 19 Feb 2019 21:06:48 +0000 (16:06 -0500)]
librbd: add missing shutdown states to managed lock helper
The PRE_SHUTTING_DOWN and SHUTTING_DOWN states were missed
in the 'is_state_shutdown' helper method. This resulted in
rbd-mirror potentially entering an infinite loop during
shutdown.
http://tracker.ceph.com/issues/38387
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
82af5710ad49dd6e24c2736a9865e1a41add89a2 )
Jason Dillaman [Tue, 19 Feb 2019 20:48:38 +0000 (15:48 -0500)]
qa/workunits/rbd: delete pools before stopping rbd-mirror
This better mimics the behavior of teuthology and tests rbd-mirror
daemon's ability to handle a pool deletion.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
9d694ba3515f6077d2f66b272d3df1ab082b7bea )
Mykola Golub [Fri, 14 Dec 2018 16:47:00 +0000 (16:47 +0000)]
qa/workunits/rbd: add trash move/restore mirror test
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit
b29b4f0c712cb2a2e97ce3de0b15d9075927b172 )
Mykola Golub [Wed, 12 Dec 2018 15:42:49 +0000 (15:42 +0000)]
librbd: disable image mirroring when moving to trash
And enable when restoring if mirror pool mode set.
Fixes: https://tracker.ceph.com/issues/37596
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit
6844a52ebbc45a046b4a94909b48bc4fc0c305c7 )
Conflicts:
src/librbd/api/Trash.cc (the code is in src/librbd/internal.cc)
Jason Dillaman [Wed, 27 Feb 2019 19:08:04 +0000 (14:08 -0500)]
librbd: create state machine uses new validate pool state machine
Fixes: http://tracker.ceph.com/issues/38500
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
6a84ca3f24421a5150ae32e7ff380f4121d32b13 )
Conflicts:
src/librbd/image/CreateRequest.cc: trivial resolution