Nathan Cutler [Mon, 20 Feb 2017 10:44:49 +0000 (11:44 +0100)]
tests: reduce stress-split-erasure-code-x86_64 dependency on stress-split
This patch breaks the symlinks for two files from stress-split that
are being changed by https://github.com/ceph/ceph/pull/13222 in a way
that would break this test otherwise.
Nathan Cutler [Mon, 20 Feb 2017 10:44:49 +0000 (11:44 +0100)]
tests: reduce stress-split-erasure-code dependency on stress-split
This patch breaks the symlinks for two files from stress-split that
are being changed by https://github.com/ceph/ceph/pull/13222 in a way
that would break this test otherwise.
Nathan Cutler [Tue, 14 Feb 2017 21:13:37 +0000 (22:13 +0100)]
tests: remove extra indentation in exec block
The exec block was indented by an extra space, causing
line 439, in parse_block_mapping_key
"expected <block end>, but found %r" % token.id, token.start_mark)
yaml.parser.ParserError: while parsing a block mapping
in "<string>", line 111, column 3:
sequential:
^
expected <block end>, but found '<block sequence start>'
in "<string>", line 126, column 4:
- exec:
^
Nathan Cutler [Mon, 13 Feb 2017 21:04:17 +0000 (22:04 +0100)]
tests: add require_jewel_osds to upgrade/hammer-x/tiering
Without this, the test tends to fail, but sometimes passes (apparently because
the "wait-for-healthy: true" in the last ceph.restart is racy - HEALTH_OK is
received before the MONs notice that all OSDs are running jewel without
require_jewel_osds.
Conflicts:
src/librbd/Journal.cc - trivial context difference (master does not
have "class SafeTimerSingleton"),
added "typedef ::journal::Journaler Journaler;" in
C_IsTagOwner template to fix build failure
Conflicts:
src/tools/rbd_mirror/CMakeLists.txt - file doesn't exist in jewel
(ported the patch to src/tools/Makefile-client.am)
src/tools/rbd_mirror/image_replayer/BootstrapRequest.cc - Journal is
implemented by a typedef in jewel
src/tools/rbd_mirror/image_replayer/OpenLocalImageRequest.cc -
no compat.h include in jewel, Journal is implemented by a typedef
in jewel
Yehuda Sadeh [Tue, 4 Oct 2016 00:00:41 +0000 (17:00 -0700)]
rgw_admin: add a few admin commands to the usage
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 91ed1216d7465a42d11546cb967c70997ea5b1d8)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Yehuda Sadeh [Mon, 3 Oct 2016 23:43:44 +0000 (16:43 -0700)]
rgw_admin: add bi purge command
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit aaf0d213eb39192ceb252c9c7db68c1a48ba1272)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit e2b8dc6113e2625bdf65ea6f2c42510229d04c87)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
cls/rgw: bi_list() fix is_truncated returned param
is_truncated was never set. Also, make sure that we don't return
more entries than requested.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 47f422a4e0382d53023af6f651433011606b8625)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
rgw_admin: require --yes-i-really-mean-it for bucket reshard
in the case where num shards are less or equal to current bucket
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 75da4375ee0e36c58f96cbf2920c3b9aadf12733)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit ac88b5d9e6bc3c8b59c500bf79a0e3daa923a47c)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
rgw: limit bucket reshard num shards to max possible
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit d9c88afec4b52848f9ad8957bab5a86fdafecded)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Changes scoping of json section, and push the --object param in so that
an object can be specified as a filter.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 716d096bbb8e836aefa6a451b799389d3bd85620)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
rgw_admin: use aio operations for bucket resharding
also created shards manager to make things slightly cleaner
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 97e7ee9ca213ccf4b8f537e02125bd0c4ef24103)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit dd712384ffe72ee23cbe0a20d7400aff7fb779a8)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 4cc7d3a33a28602b45ec04ff5384e6bc62b376cb)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
rgw_admin: reshard also links to new bucket instance
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 094fe3f0cfeb27b32abfc93b07054b60de363a20)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
rgw: rgw_link_bucket, use correct bucket structure for entry point
The bucket structure might be different than the one that we were using
before.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit f2d9fc015556d6d70e596f75c382cc7157add411)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
radosgw-admin: bucket reshard needs --num-shards to be specified
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit d0569f913340cb251c1a49f1e470b176d8b34346)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
was filtering entries, even if filter was not specified, and need to
set boundary for plain entries. Also, list_instance_entries() was not
working correctly, and added list_olh_entries().
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit f87c4b2c2a6ecadaf9f0e0cfef4b6061878a023b)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit d8c5931bceaa42ad47ae5ad9b2c32bb6c321484a)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Conflicts:
src/rgw/rgw_admin.cc
rgw: utilities to support raw bucket index operations
and other related changes.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit b01e732f3d597670f4f781be3db81786e63d5053)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Conflicts:
src/rgw/rgw_rados.cc
rgw: use bucket_info.bucket_id instead of marker where needed
We used to use these interchangeably, but they actually have diffent meaning.
The marker is the prefix we assign to the objects in this bucket, whereas
the bucket_id is the bucket instance's id. These used to hold the same
value, but with bucket resharding it's not going to be true anymore.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 94afaf722fc8289af6e75025ba7d783f11c4b7d0)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
cls/rgw: utilities to support raw bucket index operations
New flavour of bi_put() call, and a function to extract key off
a raw bi entry.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 9b3a2a40a5732689be98a940f7e6c3c4a6e73c53)
See: http://tracker.ceph.com/issues/17556
See: https://github.com/ceph/ceph/pull/11368 Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
Nathan Cutler [Mon, 6 Feb 2017 17:43:49 +0000 (18:43 +0100)]
tests: fix regression in qa/tasks/ceph_master.py
https://github.com/ceph/ceph/pull/13194 introduced a regression:
2017-02-06T16:14:23.162 INFO:tasks.thrashosds.thrasher:Traceback (most recent call last):
File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 722, in wrapper
return func(self)
File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 839, in do_thrash
self.choose_action()()
File "/home/teuthworker/src/github.com_ceph_ceph_master/qa/tasks/ceph_manager.py", line 305, in kill_osd
output = proc.stderr.getvalue()
AttributeError: 'NoneType' object has no attribute 'getvalue'
This is because the original patch failed to pass "stderr=StringIO()" to run().
Sage Weil [Fri, 3 Feb 2017 22:40:29 +0000 (17:40 -0500)]
osd: do not send ENXIO on misdirected op by default
In practice this tends to get bubbled up the stack as an error on
the caller, and they usually do not handle it properly. For example,
with librbd, this turns into EIO and break the VM.
Instead, this will manifest as a hung op on the client. That is
also not ideal, but given that the root cause here is generally a
bug, it's not clear what else would be better.
We already log an error in the cluster log, so teuthology runs will
continue to fail.
Conflicts:
src/librbd/ImageState.cc - added missing arg to RefreshRequest::create
src/librbd/exclusive_lock/PostAcquireRequest.cc -
deleted, does not exist in jewel
src/librbd/image/OpenRequest.cc - added missing arg to
RefreshRequest::create
src/librbd/internal.cc - added missing arg to ImageState::open
src/librbd/librbd.cc - added missing arg to ImageState::open
src/test/librbd/exclusive_lock/test_mock_PostAcquireRequest.cc -
deleted, does not exist in jewel
src/test/rbd_mirror/image_replayer/test_mock_CreateImageRequest.cc -
added missing arg to ImageState::open
src/test/rbd_mirror/test_PoolWatcher.cc - added missing arg to
ImageState::open
Piotr Dałek [Fri, 20 Jan 2017 15:07:10 +0000 (16:07 +0100)]
OSDMonitor: clear jewel+ feature bits when talking to Hammer OSD
During upgrade from Hammer to Jewel, when upgrading MONs first and OSDs
last, Jewel MONs send OSDMaps with components in encoding version not
encodable by Hammer OSDs, generating extra load on MONs due to requests
for full OSDMap after failing the CRC check.
Fix this by not including CEPH_FEATURE_NEW_OSDOP_ENCODING (which
is responsible for encoding pg_pool_t in version 24 instead of 21) and
CEPH_FEATURE_CRUSH_TUNABLES5 (responsible for adding chooseleaf_stable
field into encoded CRUSH map) when CEPH_OSDMAP_REQUIRE_JEWEL flag
is not present.
Note that this issue applies only to upgrade from Hammer to Jewel,
because direct upgrade from Hammer to any other later release is not
supported. For that reason, there is no need to have this patch in any
release other than Jewel.
Fixes: http://tracker.ceph.com/issues/18582 Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
Minor changes:
RGWCloneMetaLogCoroutine::state_read_shard_status(): use
boost::intrusive_ptr ctor instead of reset() to be compatible
with older boost versions (there's no bundled boost in jewel)