]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agoMerge PR #24234 into master
Sage Weil [Mon, 24 Sep 2018 20:15:52 +0000 (15:15 -0500)]
Merge PR #24234 into master

* refs/pull/24234/head:
qa/suites/rados/thrash-old-clients/workloads/rbd_cls.yaml: skip parents test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge PR #24225 into master
Sage Weil [Mon, 24 Sep 2018 16:01:22 +0000 (11:01 -0500)]
Merge PR #24225 into master

* refs/pull/24225/head:
osd/ECBackend: suppress 'Error -2 reading object' if EC fast reads

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoqa/suites/rados/thrash-old-clients/workloads/rbd_cls.yaml: skip parents test 24234/head
Sage Weil [Mon, 24 Sep 2018 03:43:08 +0000 (22:43 -0500)]
qa/suites/rados/thrash-old-clients/workloads/rbd_cls.yaml: skip parents test

We can't (easily) build updated hammer packages, but all this sh script does
it run this one test binary with --gtest_filter arguments, so just do
it directly and skip the test explicitly here.  (Newer version of the .sh
understand the environemnt variable but the hammer version does not.)

Fixes: http://tracker.ceph.com/issues/36104
Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24078 from Songweibin/wip-rbd-trash-state
Jason Dillaman [Mon, 24 Sep 2018 14:19:13 +0000 (10:19 -0400)]
Merge pull request #24078 from Songweibin/wip-rbd-trash-state

rbd: not allowed to restore an image when it is being deleted

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #23743 from trociny/wip-rbd-config-pool
Jason Dillaman [Mon, 24 Sep 2018 14:19:01 +0000 (10:19 -0400)]
Merge pull request #23743 from trociny/wip-rbd-config-pool

librbd: pool and image level config overrides

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #23568 from rhcs-dashboard/wip-24573-landing-page
Lenz Grimmer [Mon, 24 Sep 2018 13:32:48 +0000 (15:32 +0200)]
Merge pull request #23568 from rhcs-dashboard/wip-24573-landing-page

mgr/dashboard: New Landing Page

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Kanika Murarka <kmurarka@redhat.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agoMerge pull request #23570 from jcsp/wip-rook-api
John Spray [Mon, 24 Sep 2018 11:12:10 +0000 (12:12 +0100)]
Merge pull request #23570 from jcsp/wip-rook-api

mgr/rook: update for v1beta1 API

Reviewed-by: Sebastian Wagner <swagner@suse.com>
6 years agoMerge PR #24133 into master
Sage Weil [Sun, 23 Sep 2018 16:17:03 +0000 (11:17 -0500)]
Merge PR #24133 into master

* refs/pull/24133/head:
common/Finisher: convert to ceph::mutex etc
common/ceph_mutex: ceph::{mutex,condition_variable,lock_guard}
common/mutex_debug: take const char * to ctor, and require a name
common/mutex_debug: add lockdep support for recursive_mutex_debug
common/mutex_debug: fix whitespace
common/mutex_debug: refactor to remove intermediate class
common/lockdep: add recursive flag for _will_lock
do_cmake.sh: default to Debug build
.gitignore: ignore build.*/

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoosd/ECBackend: suppress 'Error -2 reading object' if EC fast reads 24225/head
Sage Weil [Sat, 22 Sep 2018 15:42:20 +0000 (10:42 -0500)]
osd/ECBackend: suppress 'Error -2 reading object' if EC fast reads

When fast reads are enabled, it's possible for the ordering of a shard
read to not be enforced with respect to writes that come after because
the read completes on the primary before all shards reply.  This can lead
to an ENOENT on the non-primary, and an ERR message in the cluster log,
even though everything is fine.  (The reply will go back to the primary
with the error but it will be ignored since the read has completed.)

Suppress the error message so we don't see these ERR messages in the
cluster log during the normal course of events.

Fixes: http://tracker.ceph.com/issues/26972
Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #24202 into master
Sage Weil [Sat, 22 Sep 2018 15:28:39 +0000 (10:28 -0500)]
Merge PR #24202 into master

* refs/pull/24202/head:
mon/MonClient: fix wait for monmap+config is non-cephx case

Reviewed-by: Mark Nelson <mnelson@redhat.com>
6 years agoMerge PR #24217 into master
Sage Weil [Sat, 22 Sep 2018 15:27:41 +0000 (10:27 -0500)]
Merge PR #24217 into master

* refs/pull/24217/head:
osd/PG.cc: silence "-Wsign-compare" warnings

Reviewed-by: Erwan Velu <erwan@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agoMerge PR #24220 into master
Sage Weil [Sat, 22 Sep 2018 15:26:53 +0000 (10:26 -0500)]
Merge PR #24220 into master

* refs/pull/24220/head:
test/objectstore: set pool for fsck test

Reviewed-by: Jianpeng Ma <jianpeng.ma@intel.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #24157 into master 24223/head
Patrick Donnelly [Fri, 21 Sep 2018 20:01:14 +0000 (13:01 -0700)]
Merge PR #24157 into master

* refs/pull/24157/head:
qa: cleanup parallel execution of fsstress

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agogithubmap: update contributors
Patrick Donnelly [Fri, 21 Sep 2018 20:01:13 +0000 (13:01 -0700)]
githubmap: update contributors

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #24207 into master
Patrick Donnelly [Fri, 21 Sep 2018 18:55:42 +0000 (11:55 -0700)]
Merge PR #24207 into master

* refs/pull/24207/head:
script/ptl-tool.py: fix BASE_PATH

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoqa: cleanup parallel execution of fsstress 24157/head
Patrick Donnelly [Tue, 18 Sep 2018 21:57:05 +0000 (14:57 -0700)]
qa: cleanup parallel execution of fsstress

Two instances of fsstress clobber each other. Just build it in the local sandbox.

Fixes: http://tracker.ceph.com/issues/24177
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agocommon/Finisher: convert to ceph::mutex etc 24133/head
Sage Weil [Fri, 14 Sep 2018 22:19:26 +0000 (17:19 -0500)]
common/Finisher: convert to ceph::mutex etc

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/ceph_mutex: ceph::{mutex,condition_variable,lock_guard}
Sage Weil [Fri, 14 Sep 2018 22:19:12 +0000 (17:19 -0500)]
common/ceph_mutex: ceph::{mutex,condition_variable,lock_guard}

If CEPH_DEBUG_MUTEX is defined, use the [recursive_]mutex_debug classes
that implement lockdep and a bucnh of other random debug checks.  Also
typedef ceph::condition_variable to std::condition_variable_debug, which
adds addition assertions and debug checks.

If CEPH_DEBUG_MUTEX is not defined, then use the bare-bones C++ std::mutex
primitives... or as close as we can get to them.

Since the [recursive_]mutex_debug classes take a string argument for the
lockdep piece, define factory functions ceph::make_[recursive_]mutex that
either pass arguments to the debug implementations or toss them out.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/mutex_debug: take const char * to ctor, and require a name
Sage Weil [Thu, 20 Sep 2018 17:10:13 +0000 (12:10 -0500)]
common/mutex_debug: take const char * to ctor, and require a name

Require a name, like Mutex.

Most callers are passing a C string.  This may avoid a std::string
copy?

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/mutex_debug: add lockdep support for recursive_mutex_debug
Sage Weil [Mon, 17 Sep 2018 17:39:42 +0000 (12:39 -0500)]
common/mutex_debug: add lockdep support for recursive_mutex_debug

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/mutex_debug: fix whitespace
Sage Weil [Mon, 17 Sep 2018 16:02:15 +0000 (11:02 -0500)]
common/mutex_debug: fix whitespace

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/mutex_debug: refactor to remove intermediate class
Sage Weil [Mon, 17 Sep 2018 16:54:40 +0000 (11:54 -0500)]
common/mutex_debug: refactor to remove intermediate class

I don't see any purpose for this, and it prevents us from knowing whether
the mutex is recursive when _will_lock() is called.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/lockdep: add recursive flag for _will_lock
Sage Weil [Mon, 17 Sep 2018 16:40:17 +0000 (11:40 -0500)]
common/lockdep: add recursive flag for _will_lock

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agodo_cmake.sh: default to Debug build
Sage Weil [Mon, 17 Sep 2018 16:02:44 +0000 (11:02 -0500)]
do_cmake.sh: default to Debug build

Signed-off-by: Sage Weil <sage@redhat.com>
6 years ago.gitignore: ignore build.*/
Sage Weil [Mon, 17 Sep 2018 15:59:15 +0000 (10:59 -0500)]
.gitignore: ignore build.*/

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24219 from p-na/fix-test-scrub
Laura Paduano [Fri, 21 Sep 2018 15:24:32 +0000 (17:24 +0200)]
Merge pull request #24219 from p-na/fix-test-scrub

 mgr/dashboard: Possible fix for some dashboard timing issues

Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Ricardo Dias <rdias@suse.com>
6 years agoMerge pull request #24179 from dillaman/wip-36074
Mykola Golub [Fri, 21 Sep 2018 15:15:09 +0000 (18:15 +0300)]
Merge pull request #24179 from dillaman/wip-36074

librbd: properly handle potential object map failures

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoscript/ptl-tool.py: fix BASE_PATH 24207/head
Neha Ojha [Thu, 20 Sep 2018 22:25:46 +0000 (15:25 -0700)]
script/ptl-tool.py: fix BASE_PATH

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agomgr/dashboard: Fix for some dashboard timing issues 24219/head
Patrick Nawracay [Mon, 17 Sep 2018 07:25:34 +0000 (09:25 +0200)]
mgr/dashboard: Fix for some dashboard timing issues

Specifically fixes the recurringly occurring `test_osd.py` error on the
`test_scrub` method. But this change should also prevent other issues of
the same kind. Issues of "same kind" are issues which occurr due to
tests which do not immediately result in a clean cluster status and
aren't manually programmed to wait for it.

Fixes: http://tracker.ceph.com/issues/36107
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
6 years agoMerge PR #23985 into master
Sage Weil [Fri, 21 Sep 2018 13:21:53 +0000 (08:21 -0500)]
Merge PR #23985 into master

* refs/pull/23985/head:
ceph-objectstore-tool: add back pool dne check
qa/suites/rados/singleton/reg11184: remove old test
ceph-objectstore-tool: import pg at original epoch
osd: handle null pg slot on startup
ceph-objectstore-tool: drop support for ancient export files
osd: avoid dropping osd_lock when pg osdmaps are not laggy
qa/standalone/osd/pg-merge.sh: add merge vs pg import test

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
6 years agoMerge PR #24064 into master
Sage Weil [Fri, 21 Sep 2018 13:21:33 +0000 (08:21 -0500)]
Merge PR #24064 into master

* refs/pull/24064/head:
osd: simplify init of fabricated pg
osd/PG: inherit pg history from merge source, if necessary
osd/osd_types: increasing pg_num_pending is also an interval change
osd: cancel pg merge if PGs are undersized
mon/OSDMonitor: handle ready_to_merge message that cancels the merge
osd/PG: only signal ready_to_merge if we have all replicas
osd/PG: move all mark_clean-ish activity into try_mark_clean()
osd/PG: use last_epoch_clean from ReadyToMerge point in time for fabricated history
osd: send last_epoch_clean when indicating PG is ready to merge
osd/osd_types: rename pg_num_pending_dec_epoch -> pg_num_dec_last_epoch_clean
osd,mon: stop setting pg_num_pending_dec_epoch

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agoosd/PG.cc: silence "-Wsign-compare" warnings 24217/head
Kefu Chai [Fri, 21 Sep 2018 10:49:17 +0000 (18:49 +0800)]
osd/PG.cc: silence "-Wsign-compare" warnings

/ceph/src/osd/PG.cc: In member function 'void
PG::choose_async_recovery_ec(const std::map<pg_shard_t, pg_info_t>&,
const pg_info_t&, std::vector<int>*, std::set<pg_shard_t>*) const':
/ceph/src/osd/PG.cc:1572:32: warning: comparison of integer expressions
of different signedness: 'long int' and 'long unsigned int'
[-Wsign-compare]
     if (approx_missing_objects > cct->_conf.get_val<uint64_t>(
         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         "osd_async_recovery_min_cost")) {
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/ceph/src/osd/PG.cc: In member function 'void
PG::choose_async_recovery_replicated(const std::map<pg_shard_t,
pg_info_t>&, const pg_info_t&, std::vector<int>*, std::set<pg_shard_t>*)
const':
/ceph/src/osd/PG.cc:1625:33: warning: comparison of integer expressions
of different signedness: 'long int' and 'long unsigned int'
[-Wsign-compare]
     if (approx_missing_objects  > cct->_conf.get_val<uint64_t>(
         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         "osd_async_recovery_min_cost")) {
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agotest/objectstore: set pool for fsck test 24220/head
Kefu Chai [Fri, 21 Sep 2018 11:56:08 +0000 (19:56 +0800)]
test/objectstore: set pool for fsck test

since 0bd2546eaca72ed0122a9c2648df4bef05b0d5d2, we check the pool id
of object when performing fsck to ensure we are looking at the right
collection, but the test is still using the pool id set by the
constructor of hobject_t. so all objects we created in that test belong
to the POOL_META. while the collection is created with the pool id of
`555`. hence the test fails.

Fixes: http://tracker.ceph.com/issues/36099
Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #24139 from tchaikov/wip-fix-typos
Kefu Chai [Fri, 21 Sep 2018 08:56:31 +0000 (16:56 +0800)]
Merge pull request #24139 from tchaikov/wip-fix-typos

*/: fix typos in docs,messages,logs,comments

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Alfredo Deza <adeza@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Ricardo Dias <rdias@suse.com>
6 years agoMerge pull request #23317 from xiexingguo/wip-fix-polog-overtrim
Xie Xingguo [Fri, 21 Sep 2018 06:44:35 +0000 (14:44 +0800)]
Merge pull request #23317 from xiexingguo/wip-fix-polog-overtrim

osd/PrimaryLogPG: fix potential pg-log overtrimming

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Yan Jun <yan.jun8@zte.com.cn>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
6 years agotools: fix typos in user-visible message and comments 24139/head
Kefu Chai [Tue, 18 Sep 2018 03:32:56 +0000 (11:32 +0800)]
tools: fix typos in user-visible message and comments

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agotools,test: fix typos in comments and usage message
Kefu Chai [Tue, 18 Sep 2018 03:32:13 +0000 (11:32 +0800)]
tools,test: fix typos in comments and usage message

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoscript: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:31:57 +0000 (11:31 +0800)]
script: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agorgw: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:31:34 +0000 (11:31 +0800)]
rgw: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agopybind/rados: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:31:12 +0000 (11:31 +0800)]
pybind/rados: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agopybind/mgr: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:30:51 +0000 (11:30 +0800)]
pybind/mgr: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agomount,osdc: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:28:10 +0000 (11:28 +0800)]
mount,osdc: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agomgr/PyFormatter: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:27:25 +0000 (11:27 +0800)]
mgr/PyFormatter: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agomds: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:26:41 +0000 (11:26 +0800)]
mds: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocommon: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:23:48 +0000 (11:23 +0800)]
common: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agorbd: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:23:03 +0000 (11:23 +0800)]
rbd: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoclient: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:22:36 +0000 (11:22 +0800)]
client: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoceph-volume: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:22:14 +0000 (11:22 +0800)]
ceph-volume: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoqa: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:21:13 +0000 (11:21 +0800)]
qa: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agodebian/changelog: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:20:18 +0000 (11:20 +0800)]
debian/changelog: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocmake: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:19:53 +0000 (11:19 +0800)]
cmake: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agodoc: fix typos
Kefu Chai [Tue, 18 Sep 2018 03:19:18 +0000 (11:19 +0800)]
doc: fix typos

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #24126 from planetbeing/patch-1
Kefu Chai [Fri, 21 Sep 2018 03:47:03 +0000 (11:47 +0800)]
Merge pull request #24126 from planetbeing/patch-1

arch/arm: Allow ceph_crc32c_aarch64 to be chosen only if it is compil…

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #24191 into master
Sage Weil [Thu, 20 Sep 2018 22:30:42 +0000 (17:30 -0500)]
Merge PR #24191 into master

* refs/pull/24191/head:
src/include:fix unused parameter

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #23979 into master
Sage Weil [Thu, 20 Sep 2018 22:30:06 +0000 (17:30 -0500)]
Merge PR #23979 into master

* refs/pull/23979/head:
crush/CrushWrapper: fix crush tree json dumper

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #23978 into master
Sage Weil [Thu, 20 Sep 2018 22:29:47 +0000 (17:29 -0500)]
Merge PR #23978 into master

* refs/pull/23978/head:
mgr: add get_latest_counter() to C++ -> Python interface.
mgr: remove PerfCounterInstance::get_current()
mgr: remove PyFormatter copy constructor; shouldn't be called

Reviewed-by: John Spray <john.spray@redhat.com>
6 years agoMerge pull request #24150 from alfredodeza/wip-rm24794
Alfredo Deza [Thu, 20 Sep 2018 21:26:54 +0000 (17:26 -0400)]
Merge pull request #24150 from alfredodeza/wip-rm24794

ceph-volume: earlier detection for --journal and --filestore flag requirements

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoMerge PR #24107 into master
Sage Weil [Thu, 20 Sep 2018 19:29:55 +0000 (14:29 -0500)]
Merge PR #24107 into master

* refs/pull/24107/head:
common: Lock -> lock, Unlock -> lock, TryLock -> try_lock
common: Mutex::Locker -> std::lock_guard<Mutex>
common/Mutex: typedef lock_guard<Mutex> Locker
common/Mutex: Lock -> lock, Unlock -> unlock
common/Mutex: kill mutex_perf_counter

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoMerge pull request #24181 from dillaman/wip-36084
Mykola Golub [Thu, 20 Sep 2018 19:26:11 +0000 (22:26 +0300)]
Merge pull request #24181 from dillaman/wip-36084

rbd-mirror: instantiate the status formatter before changing state

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge pull request #23843 from cbodley/wip-rgw-dpp-datasync
Casey Bodley [Thu, 20 Sep 2018 18:03:19 +0000 (14:03 -0400)]
Merge pull request #23843 from cbodley/wip-rgw-dpp-datasync

rgw: log refactoring for data sync

Reviewed-by: Ali Maredia <amaredia@redhat.com>
6 years agoceph-objectstore-tool: add back pool dne check 23985/head
Sage Weil [Wed, 19 Sep 2018 12:16:19 +0000 (07:16 -0500)]
ceph-objectstore-tool: add back pool dne check

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoqa/suites/rados/singleton/reg11184: remove old test
Sage Weil [Tue, 18 Sep 2018 13:30:58 +0000 (08:30 -0500)]
qa/suites/rados/singleton/reg11184: remove old test

This bug was about filtering missing and divergent when doing a partial
PG import.  We don't support partial PG imports any more, so this can
go away!

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-objectstore-tool: import pg at original epoch
Sage Weil [Mon, 10 Sep 2018 18:24:19 +0000 (13:24 -0500)]
ceph-objectstore-tool: import pg at original epoch

- In the jewel era, we fast-forwarded the PG to the OSD's latest epoch
and cleared past_intervals.

- In mimic, as of 2347ecb9614b0cd4cd9eae1d67b03119cc7ad18e, we brought the
PG up to date while updating past_intervals.  (At the same time we removed
the OSD's parallel past_intervals regeneration.)

The problem is that the tool then has to reimplement the past_intervals
update logic, and *also* has to cope with splits and merges.  Splits are
somewhat easier (until now we enable partial import of a PG into a split
child), but merges are not so easy.

This patch changes it so we import the PG and leave the pg_epoch matching
the import file.  The OSD is then responsible for bringing it up to date
with the latest map, and dealing with any intervening splits or merges.

We also adjust the safety check to ensure that we don't collide with
any existing PG, either a child we eventually split into, or a parent
we eventually merge into.

Fixes: http://tracker.ceph.com/issues/35955
Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #24197 into master
Sage Weil [Thu, 20 Sep 2018 17:16:05 +0000 (12:16 -0500)]
Merge PR #24197 into master

* refs/pull/24197/head:
doc: remove Calamari content from ceph-deploy

Reviewed-by: Alfredo Deza <adeza@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24201 from alfredodeza/wip-rm36088
Andrew Schoen [Thu, 20 Sep 2018 16:53:14 +0000 (11:53 -0500)]
Merge pull request #24201 from alfredodeza/wip-rm36088

ceph-volume  batch: allow journal+block.db sizing on the CLI

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agomon/MonClient: fix wait for monmap+config is non-cephx case 24202/head
Sage Weil [Thu, 20 Sep 2018 16:52:27 +0000 (11:52 -0500)]
mon/MonClient: fix wait for monmap+config is non-cephx case

In the auth_none case, we were exiting the get_monmap_and_config() loop
early, before we got a monmap, because the default constructed monmap
did not have the mimic feature.  Make sure we wait for both the monmap
and config.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agolibrbd: properly handle potential object map failures 24179/head
Jason Dillaman [Tue, 18 Sep 2018 18:37:12 +0000 (14:37 -0400)]
librbd: properly handle potential object map failures

Remove the "ceph_assert" statements and instead bubble any potential
error code up to the caller. The object map state machines should
attempt to return a 0 upon failure unless it was unable to flag the
object map as invalid.

Fixes: http://tracker.ceph.com/issues/36074
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge PR #24156 into master
Patrick Donnelly [Thu, 20 Sep 2018 16:31:50 +0000 (09:31 -0700)]
Merge PR #24156 into master

* refs/pull/24156/head:
qa/tests: removed knfs suite

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #24153 into master
Patrick Donnelly [Thu, 20 Sep 2018 16:31:15 +0000 (09:31 -0700)]
Merge PR #24153 into master

* refs/pull/24153/head:
qa/tests: removed knfs from crontab

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge pull request #23960 from votdev/feature_35695
Ricardo Marques [Thu, 20 Sep 2018 16:24:41 +0000 (17:24 +0100)]
Merge pull request #23960 from votdev/feature_35695

mgr/dashboard: Refactor role management

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
6 years agoMerge pull request #23829 from dillaman/wip-34534
Mykola Golub [Thu, 20 Sep 2018 15:52:57 +0000 (18:52 +0300)]
Merge pull request #23829 from dillaman/wip-34534

librbd: blacklisted client might not notice it lost the lock

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge PR #24185 into master
Patrick Donnelly [Thu, 20 Sep 2018 15:02:48 +0000 (08:02 -0700)]
Merge PR #24185 into master

* refs/pull/24185/head:
qa: install build dependencies for cfuse_workunit_kernel_untar_build.yaml

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agodoc/man/ceph-volume update batch command with new sizing flags 24201/head
Alfredo Deza [Thu, 20 Sep 2018 15:01:21 +0000 (11:01 -0400)]
doc/man/ceph-volume update batch command with new sizing flags

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoceph-volume tests.devices update fixture to include new size flags for strategies
Alfredo Deza [Thu, 20 Sep 2018 14:54:12 +0000 (10:54 -0400)]
ceph-volume tests.devices update fixture to include new size flags for strategies

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoceph-volume lvm.batch.filestore consume --journal-size
Alfredo Deza [Wed, 19 Sep 2018 21:40:24 +0000 (17:40 -0400)]
ceph-volume lvm.batch.filestore consume --journal-size

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoceph-volume lvm.batch.bluestore consume --block-db-size
Alfredo Deza [Wed, 19 Sep 2018 21:39:59 +0000 (17:39 -0400)]
ceph-volume lvm.batch.bluestore consume --block-db-size

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoMerge PR #23415 into master
Sage Weil [Thu, 20 Sep 2018 14:30:41 +0000 (09:30 -0500)]
Merge PR #23415 into master

* refs/pull/23415/head:
msgr/async: huge refactoring of protocol V1
msgr/async: fix forward declaration of DispatchQueue

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24175 from xiaomanh/master
Xie Xingguo [Thu, 20 Sep 2018 14:03:14 +0000 (22:03 +0800)]
Merge pull request #24175 from xiaomanh/master

doc: Fix Spelling Error In File dynamicresharding.rst

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoosd: simplify init of fabricated pg 24064/head
Sage Weil [Wed, 19 Sep 2018 17:35:53 +0000 (12:35 -0500)]
osd: simplify init of fabricated pg

This was similar (but different) to the logic in PG::merge_from().  Do not
do any initialization here, and instead rely on merge_from() to do the
right thing.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/dashboard: Increase usability of role management by enabling the user to check... 23960/head
Volker Theile [Fri, 7 Sep 2018 09:14:38 +0000 (11:14 +0200)]
mgr/dashboard: Increase usability of role management by enabling the user to check/uncheck all rows/columns of permissions

Fixes: https://tracker.ceph.com/issues/35695
Signed-off-by: Volker Theile <vtheile@suse.com>
6 years agoosd/PG: inherit pg history from merge source, if necessary
Sage Weil [Mon, 17 Sep 2018 17:51:41 +0000 (12:51 -0500)]
osd/PG: inherit pg history from merge source, if necessary

Having an accurate(ish) same_interval_since is important for making sure
any subsequent PastIntervals we add are consistent with the
last_epoch_clean value that the bounds are tested against.  Otherwise we
might have lec 100 and merge in 150, an interval changes gives us a pi of
[150,something) and we fail the bounds check.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/osd_types: increasing pg_num_pending is also an interval change
Sage Weil [Mon, 17 Sep 2018 12:41:15 +0000 (07:41 -0500)]
osd/osd_types: increasing pg_num_pending is also an interval change

If we move into the premerge period (pg_num_pending < pg_num), that is a
new interval.  Moving out again (canceling the merge) is also a new
interval.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: cancel pg merge if PGs are undersized
Sage Weil [Sat, 15 Sep 2018 21:36:55 +0000 (16:36 -0500)]
osd: cancel pg merge if PGs are undersized

If the PG is undersized, cancel the PG merge attempt early.  Undersized is
a bad thing because it makes merge more dangerous.

It's also bad because the PG won't be fully clean when it finishes
peering, which means last_epoch_clean can be something far in the past,
and past_intervals won't be empty.  Since we also take the past_intervals
from the source PG, we want to be confident that it is valid.  It *should*
match up with the target PG since they should have mapped to the same
OSDs since they were both clean at the ReadyToMerge point--in fact, they
should both be empty.  If a PG mapping change snuck in such that they did
map somewhere else, though, the same set of mapping changes will have
applied to both the source and target, so it should be safe.

(It would be better of the mon rejected the ReadyToMerge if the
mapping with the latest OSDMap has changed since the message was sent.
If we do that the situation is even better, but this change is still
appropriate.)

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: handle ready_to_merge message that cancels the merge
Sage Weil [Sat, 15 Sep 2018 19:51:22 +0000 (14:51 -0500)]
mon/OSDMonitor: handle ready_to_merge message that cancels the merge

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/PG: only signal ready_to_merge if we have all replicas
Sage Weil [Sat, 15 Sep 2018 19:40:18 +0000 (14:40 -0500)]
osd/PG: only signal ready_to_merge if we have all replicas

Only signal we are ready to merge if all replicas are in good shape.  If
they aren't, do nothing (yet).

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/PG: move all mark_clean-ish activity into try_mark_clean()
Sage Weil [Sat, 15 Sep 2018 19:31:41 +0000 (14:31 -0500)]
osd/PG: move all mark_clean-ish activity into try_mark_clean()

Keep it all in one place (try_mark_clean()).  The key behavioral change
is that we update last_epoch_clean and last_epoch_started when we are
peered too, only only when we are active.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/PG: use last_epoch_clean from ReadyToMerge point in time for fabricated history
Sage Weil [Wed, 12 Sep 2018 20:02:13 +0000 (15:02 -0500)]
osd/PG: use last_epoch_clean from ReadyToMerge point in time for fabricated history

If we are fabricating the pg history values, we need something that is
reasonably valid, but that won't screw up peering of the PG by indicating
that the PG has peered at some point later than when it really has.
Otherwise we can end up in a situation where everyone thinks there is a
newer pg info out there that doesn't actually exist, and the PG will end
up as incomplete.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: send last_epoch_clean when indicating PG is ready to merge
Sage Weil [Wed, 12 Sep 2018 20:00:09 +0000 (15:00 -0500)]
osd: send last_epoch_clean when indicating PG is ready to merge

The mon can put this in the pg_pool_t.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/osd_types: rename pg_num_pending_dec_epoch -> pg_num_dec_last_epoch_clean
Sage Weil [Wed, 12 Sep 2018 19:57:56 +0000 (14:57 -0500)]
osd/osd_types: rename pg_num_pending_dec_epoch -> pg_num_dec_last_epoch_clean

Change the content of this field to be the last_epoch_clean for the PG
when it tells the mon it is ready to be merged.

This will later be used to populate the last_epoch_clean and
last_epoch_started fields in PG::merge_from() in certain corner cases.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon: Lock -> lock, Unlock -> lock, TryLock -> try_lock 24107/head
Sage Weil [Fri, 14 Sep 2018 16:26:25 +0000 (11:26 -0500)]
common: Lock -> lock, Unlock -> lock, TryLock -> try_lock

Use the Lockable convention.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon: Mutex::Locker -> std::lock_guard<Mutex>
Sage Weil [Fri, 14 Sep 2018 15:54:21 +0000 (10:54 -0500)]
common: Mutex::Locker -> std::lock_guard<Mutex>

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/Mutex: typedef lock_guard<Mutex> Locker
Sage Weil [Fri, 14 Sep 2018 15:52:40 +0000 (10:52 -0500)]
common/Mutex: typedef lock_guard<Mutex> Locker

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/Mutex: Lock -> lock, Unlock -> unlock
Sage Weil [Fri, 14 Sep 2018 16:25:51 +0000 (11:25 -0500)]
common/Mutex: Lock -> lock, Unlock -> unlock

This aligns us with the Lockable concept, which means we can use
lock_guard<>, unique_lock<>, etc.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/Mutex: kill mutex_perf_counter
Sage Weil [Fri, 14 Sep 2018 16:04:00 +0000 (11:04 -0500)]
common/Mutex: kill mutex_perf_counter

This has a measurable overhead even when turned off, and we do not use it.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #23429 from joke-lee/wip-website-rule-num-limit
Casey Bodley [Thu, 20 Sep 2018 12:50:06 +0000 (08:50 -0400)]
Merge pull request #23429 from joke-lee/wip-website-rule-num-limit

rgw: website routing rules num limit

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
6 years agoMerge pull request #24028 from votdev/fix_rgw_status
Ricardo Marques [Thu, 20 Sep 2018 12:44:24 +0000 (13:44 +0100)]
Merge pull request #24028 from votdev/fix_rgw_status

mgr/dashboard: Catch LookupError when checking the RGW status

Reviewed-by: Patrick Nawracay <pnawracay@suse.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
6 years agodoc: remove Calamari content from ceph-deploy 24197/head
John Spray [Thu, 20 Sep 2018 12:11:53 +0000 (13:11 +0100)]
doc: remove Calamari content from ceph-deploy

Signed-off-by: John Spray <john.spray@redhat.com>
6 years agoMerge pull request #23823 from dillaman/wip-namespace-osd-check
Jason Dillaman [Thu, 20 Sep 2018 12:07:21 +0000 (08:07 -0400)]
Merge pull request #23823 from dillaman/wip-namespace-osd-check

librbd: prevent use of namespaces on pre-nautilus OSDs

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
6 years agoMerge pull request #22579 from dillaman/wip-pybind-rados
Jason Dillaman [Thu, 20 Sep 2018 12:06:32 +0000 (08:06 -0400)]
Merge pull request #22579 from dillaman/wip-pybind-rados

pybind/rados: new methods for manipulating self-managed snapshots

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoosd/PrimaryLogPG: fix potential pg-log overtrimming 23317/head
xie xingguo [Mon, 30 Jul 2018 10:56:56 +0000 (18:56 +0800)]
osd/PrimaryLogPG: fix potential pg-log overtrimming

In https://github.com/ceph/ceph/pull/21580 I set a trap to catch some wired
and random segmentfaults and in a recent QA run I was able to observe it was
successfully triggered by one of the test case, see:

```
http://qa-proxy.ceph.com/teuthology/xxg-2018-07-30_05:25:06-rados-wip-hb-peers-distro-basic-smithi/2837916/teuthology.log
```

The root cause is that there might be holes on log versions, thus the
approx_size() method should (almost) always overestimate the actual number of log entries.
As a result, we might be at the risk of overtrimming log entries.

https://github.com/ceph/ceph/pull/18338 reveals a probably easier way
to fix the above problem but unfortunately it also can cause big performance regression
and hence comes this pr..

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>