]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoqa/workunits/cephtool/test_daemon.sh: typo
Dan Mick [Wed, 30 Jul 2014 21:49:02 +0000 (14:49 -0700)]
qa/workunits/cephtool/test_daemon.sh: typo

Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 22d20f39b7355966554319d5a1aa888967607569)

10 years agoqa/workunits/cephtool/test_daemon.sh: allow local ceph command
Dan Mick [Wed, 30 Jul 2014 21:48:28 +0000 (14:48 -0700)]
qa/workunits/cephtool/test_daemon.sh: allow local ceph command

(cherry picked from commit 97a8d5a9fdbd3a25cc922c242ee57da58c57d0bc)

10 years agoceph.in: Pass global args to ceph-conf for proper lookup
Dan Mick [Tue, 29 Jul 2014 04:28:42 +0000 (21:28 -0700)]
ceph.in: Pass global args to ceph-conf for proper lookup

Fixes: #8944
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 6d89a99648630f81b85ad115fe7662dba6b08a55)

10 years agoqa/workunits/cephtool/test.sh: test osd pool get erasure_code_profile
Sage Weil [Thu, 17 Jul 2014 00:55:36 +0000 (17:55 -0700)]
qa/workunits/cephtool/test.sh: test osd pool get erasure_code_profile

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit ce9f12d7a2202948532fed9da4d763ed03f6b8fa)

Conflicts:
qa/workunits/cephtool/test.sh

10 years agomon: OSDMonitor: add "osd pool get <pool> erasure_code_profile" command
Ma Jianpeng [Thu, 17 Jul 2014 00:48:34 +0000 (17:48 -0700)]
mon: OSDMonitor: add "osd pool get <pool> erasure_code_profile" command

Enable us to obtain the erasure-code-profile for a given erasure-pool.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e8ebcb79a462de29bcbabe40ac855634753bb2be)

10 years agoosd/ReplicatedPG: observe INCOMPLETE_CLONES in is_present_clone()
Sage Weil [Thu, 24 Jul 2014 01:25:53 +0000 (18:25 -0700)]
osd/ReplicatedPG: observe INCOMPLETE_CLONES in is_present_clone()

We cannot assume that just because cache_mode is NONE that we will have
all clones present; check for the absense of the INCOMPLETE_CLONES flag
here too.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 63abf11390bb9b8dd604aae2b3e90596f9ab65ac)

10 years agoosd/ReplicatedPG: observed INCOMPLETE_CLONES when doing clone subsets
Sage Weil [Thu, 24 Jul 2014 01:24:51 +0000 (18:24 -0700)]
osd/ReplicatedPG: observed INCOMPLETE_CLONES when doing clone subsets

During recovery, we can clone subsets if we know that all clones will be
present.  We skip this on caching pools because they may not be; do the
same when INCOMPLETE_CLONES is set.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 41364711a66c89ce2e94435fe0d54eeda6092614)

10 years agoosd/ReplicatedPG: do not complain about missing clones when INCOMPLETE_CLONES is set
Sage Weil [Thu, 24 Jul 2014 01:23:56 +0000 (18:23 -0700)]
osd/ReplicatedPG: do not complain about missing clones when INCOMPLETE_CLONES is set

When scrubbing, do not complain about missing cloens when we are in a
caching mode *or* when the INCOMPLETE_CLONES flag is set.  Both are
indicators that we may be missing clones and that that is okay.

Fixes: #8882
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 956f28721dd98c5fb9eb410f4fe9e320b3f3eed3)

10 years agoosd/osd_types: add pg_pool_t FLAG_COMPLETE_CLONES
Sage Weil [Thu, 24 Jul 2014 01:21:38 +0000 (18:21 -0700)]
osd/osd_types: add pg_pool_t FLAG_COMPLETE_CLONES

Set a flag on the pg_pool_t when we change cache_mode NONE.  This
is because object promotion may promote heads without all of the clones,
and when we switch the cache_mode back those objects may remain.  Do
this on any cache_mode change (to or from NONE) to capture legacy
pools that were set up before this flag existed.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 54bf055c5dadc55acf5731e08712d529b180ffc5)

10 years agoqa/workunits: cephtool: adjust pool name where missing as it has changed
Joao Eduardo Luis [Thu, 10 Jul 2014 23:40:47 +0000 (00:40 +0100)]
qa/workunits: cephtool: adjust pool name where missing as it has changed

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 50e93c2138978f7f7c2fbafacc1611c8705a8eab)

10 years agoqa/workunits: cephtool: cleanup after pool creation
Joao Eduardo Luis [Thu, 10 Jul 2014 23:41:01 +0000 (00:41 +0100)]
qa/workunits: cephtool: cleanup after pool creation

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 6cd345732b15e84de17d743e06bc4d85569b79d4)

10 years agoqa/workunits: cephtool: pool needs to be a tier to be used as such
Joao Eduardo Luis [Tue, 8 Jul 2014 18:22:49 +0000 (19:22 +0100)]
qa/workunits: cephtool: pool needs to be a tier to be used as such

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 704b0a33f2071eabeb8c5b000a6805ef6d498961)

10 years agoqa/workunits: cephtool: test erroneous 'tier remove'
Joao Eduardo Luis [Tue, 8 Jul 2014 18:22:01 +0000 (19:22 +0100)]
qa/workunits: cephtool: test erroneous 'tier remove'

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 49db6767152092d503ccf8ead6f7cb069e152a22)

10 years agoqa/workunits: cephtool: test get/set on both tier and non-tier pools
Joao Eduardo Luis [Thu, 3 Jul 2014 14:32:46 +0000 (15:32 +0100)]
qa/workunits: cephtool: test get/set on both tier and non-tier pools

Make sure gets and sets of tiering-specific variables succeed on tier
pools and fail on non-tier pools.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 9fea033f30aec44a3273c623ec6c93eb1d7dd26b)

10 years agoqa/workunits: cephtool: split get/set on tier pools from get/set tests
Joao Eduardo Luis [Thu, 3 Jul 2014 14:24:51 +0000 (15:24 +0100)]
qa/workunits: cephtool: split get/set on tier pools from get/set tests

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit df5944955d96c041e65964a13b802028e9700904)

10 years agoqa/workunits: cephtool: test for 'osd pool {get,set}-quota'
Joao Eduardo Luis [Fri, 27 Jun 2014 21:20:51 +0000 (22:20 +0100)]
qa/workunits: cephtool: test for 'osd pool {get,set}-quota'

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit b927c0de7d5c7a78bf3c133be52cbc1d769974bb)

10 years agomon: OSDMonitor: 'osd pool' - if we can set it, we must be able to get it
Joao Eduardo Luis [Mon, 30 Jun 2014 16:51:47 +0000 (17:51 +0100)]
mon: OSDMonitor: 'osd pool' - if we can set it, we must be able to get it

Add support to get the values for the following variables:
 - target_max_objects
 - target_max_bytes
 - cache_target_dirty_ratio
 - cache_target_full_ratio
 - cache_min_flush_age
 - cache_min_evict_age

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit ddc04c83ff6842ca0b2f804b46099ea729b9fb6b)

10 years agoqa: support running under non privileged user
Loic Dachary [Tue, 1 Jul 2014 06:42:58 +0000 (08:42 +0200)]
qa: support running under non privileged user

If the test is run against a cluster started with vstart.sh (which is
the case for make check), the --asok-does-not-need-root disables the use
of sudo and allows the test to run without requiring privileged user
permissions.

Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 522174b066044e51a7019bd6cad81117e83c394e)

10 years agoqa/workunits/cephtool/test.sh: sudo ceph daemon
Sage Weil [Mon, 30 Jun 2014 23:38:10 +0000 (16:38 -0700)]
qa/workunits/cephtool/test.sh: sudo ceph daemon

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit bcc09f93761d46202742ca85cce498a352edd494)

10 years agoqa/workunits: cephtool: fix 'osd bench' test
Joao Eduardo Luis [Wed, 25 Jun 2014 20:25:29 +0000 (21:25 +0100)]
qa/workunits: cephtool: fix 'osd bench' test

Commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595 fixed an incorrect
behavior with the OSD's 'osd bench' value hard-caps.  The test wasn't
appropriately modified unfortunately.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 48e38ac6323f4a0e06b0dedd37ecd10dc339b1e3)

10 years agoqa/workunits: cephtool: only run heap profiler test if tcmalloc enabled
Joao Eduardo Luis [Wed, 25 Jun 2014 00:48:24 +0000 (01:48 +0100)]
qa/workunits: cephtool: only run heap profiler test if tcmalloc enabled

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 4b0809a13eb363a15e52a6a57372a0a31a64cef8)

10 years agoqa/workunits: cephtool: set +e for the tcmalloc tests
Joao Eduardo Luis [Tue, 24 Jun 2014 22:16:17 +0000 (23:16 +0100)]
qa/workunits: cephtool: set +e for the tcmalloc tests

Avoids failing the tests when tcmalloc is not present

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 5c4616e100297ba8639919aca7a9cb59e4bda54a)

10 years agoqa/workunits: cephtool: delete unnecessary function calls
Joao Eduardo Luis [Tue, 24 Jun 2014 21:47:31 +0000 (22:47 +0100)]
qa/workunits: cephtool: delete unnecessary function calls

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 67255435151627314cc2fc38732d4fb5efddc3cc)

10 years agoqa/workunits: cephtool: disable bash debug when not running tests
Joao Eduardo Luis [Tue, 24 Jun 2014 21:46:44 +0000 (22:46 +0100)]
qa/workunits: cephtool: disable bash debug when not running tests

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 946bd0dad4b027326b03c13405782b99ef0f91b2)

10 years agoqa/workunits: cephtool: allow running individual tests
Joao Eduardo Luis [Tue, 24 Jun 2014 21:39:34 +0000 (22:39 +0100)]
qa/workunits: cephtool: allow running individual tests

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 5d26575ef2d31d745ec4aa69ca1501cd76e5e8db)

10 years agoqa/workunits: cephtool: cleanup state after erasure-code-profile test
Joao Eduardo Luis [Tue, 24 Jun 2014 19:55:27 +0000 (20:55 +0100)]
qa/workunits: cephtool: cleanup state after erasure-code-profile test

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit f4184086d0d647e064e34308f678ef889e13c373)

10 years agoqa/workunits: cephtool: add/remove comments
Joao Eduardo Luis [Wed, 25 Jun 2014 00:17:58 +0000 (01:17 +0100)]
qa/workunits: cephtool: add/remove comments

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 780424df3a107c7da57fc28d64f9e7a4bb47f8e8)

10 years agoqa/workunits: cephtool: split into properly indented functions
Joao Eduardo Luis [Wed, 25 Jun 2014 23:55:46 +0000 (00:55 +0100)]
qa/workunits: cephtool: split into properly indented functions

The test was a big sequence of commands being run and it has been growing
organically for a while, even though it has maintained a sense of
locality with regard to the portions being tested.

This patch intends to split the commands into functions, allowing for a
better semantic context and easier expansion.  On the other hand, this
will also allow us to implement mechanisms to run specific portions of
the test instead of always having to run the whole thing just to test a
couple of lines down at the bottom (or have to creatively edit the test).

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 3d14a96f4b2b7094d05ead1dec7547d165857e31)

Conflicts:
qa/workunits/cephtool/test.sh

10 years agoqa/workunits: cephtool: move test line to where it's more appropriate
Joao Eduardo Luis [Wed, 25 Jun 2014 00:12:55 +0000 (01:12 +0100)]
qa/workunits: cephtool: move test line to where it's more appropriate

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 04658b7b2b5f98ae81ffb3f77303745e6d46eb81)

10 years agoqa/workunits: cephtool: split into functions
Joao Eduardo Luis [Wed, 25 Jun 2014 00:11:52 +0000 (01:11 +0100)]
qa/workunits: cephtool: split into functions

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit db6cc133ba4bb38b3c11eb835fd3983dc2f6b00e)

Conflicts:
qa/workunits/cephtool/test.sh

10 years agomon: test that pools used in tiers cannot be removed
Loic Dachary [Fri, 20 Jun 2014 07:38:39 +0000 (09:38 +0200)]
mon: test that pools used in tiers cannot be removed

Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 39a4b78177cb9896ff35ab05bcf8774bfc934f3a)

10 years agoqa/workunits/cephtool: test setting options using SI units
Joao Eduardo Luis [Fri, 23 May 2014 16:02:23 +0000 (17:02 +0100)]
qa/workunits/cephtool: test setting options using SI units

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 38405d3554dfb0caf2b0a2c010b95a61bdb99349)

Conflicts:
qa/workunits/cephtool/test.sh

10 years agomon: OSDMonitor: be scary about inconsistent pool tier ids
Joao Eduardo Luis [Wed, 2 Jul 2014 19:19:19 +0000 (20:19 +0100)]
mon: OSDMonitor: be scary about inconsistent pool tier ids

We may not crash your cluster, but you'll know that this is not something
that should have happened.  Big letters makes it obvious.  We'd make them
red too if we bothered to look for the ANSI code.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 8e5a8daf98052954f3880d2d3516841b5062466b)

10 years agoosd: pg_pool_t: clear tunables on clear_tier()
Joao Eduardo Luis [Wed, 2 Jul 2014 18:47:52 +0000 (19:47 +0100)]
osd: pg_pool_t: clear tunables on clear_tier()

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 64bdf6c92bc44adad5a49b9dc4f674789cee80b0)

10 years agomon: OSDMonitor: limit tier-specific pool set/get on non-tier pools
Joao Eduardo Luis [Wed, 2 Jul 2014 18:46:48 +0000 (19:46 +0100)]
mon: OSDMonitor: limit tier-specific pool set/get on non-tier pools

Fixes: 8696
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit f131dfbaedf6f451572e7aa3a83f653912122953)

10 years agomon/OSDMonitor: improve no-op cache_mode set check
Sage Weil [Thu, 24 Jul 2014 17:06:31 +0000 (10:06 -0700)]
mon/OSDMonitor: improve no-op cache_mode set check

If we have a pending pool value but the cache_mode hasn't changed, this is
still a no-op (and we don't need to block).

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 67d13d76f5692fa20649ea877f254c34094c11f6)

10 years agomon: OSDMonitor: disallow nonsensical cache-mode transitions
Joao Eduardo Luis [Sat, 3 May 2014 02:42:19 +0000 (03:42 +0100)]
mon: OSDMonitor: disallow nonsensical cache-mode transitions

Fixes: 8155
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit fd970bbc95d89bf66c9551feca17ac0afbf4d1e2)

10 years agomon: OSDMonitor: return immediately if 'osd tier cache-mode' is a no-op
Joao Eduardo Luis [Tue, 29 Apr 2014 17:03:56 +0000 (18:03 +0100)]
mon: OSDMonitor: return immediately if 'osd tier cache-mode' is a no-op

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit d01aa5bff30441eec1ffaa3e59a21187f8478475)

10 years agoosd/ReplicatedPG: debug obc locks
Sage Weil [Wed, 23 Jul 2014 01:01:14 +0000 (18:01 -0700)]
osd/ReplicatedPG: debug obc locks

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 356af4bf46d6387e2f1a59646548f9a77e49e5f8)

10 years agoosd/ReplicatedPG: greedily take write_lock for copyfrom finish, snapdir
Sage Weil [Tue, 22 Jul 2014 20:16:11 +0000 (13:16 -0700)]
osd/ReplicatedPG: greedily take write_lock for copyfrom finish, snapdir

In the cases where we are taking a write lock and are careful
enough that we know we should succeed (i.e, we assert(got)),
use the get_write_greedy() variant that skips the checks for
waiters (be they ops or backfill) that are normally necessary
to avoid starvation.  We don't care about staration here
because our op is already in-progress and can't easily be
aborted, and new ops won't start because they do make those
checks.

Fixes: #8889
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 6fe27823b8459271bf0c0e807493bb7cf1e4559b)

10 years agoosd: allow greedy get_write() for ObjectContext locks
Sage Weil [Tue, 22 Jul 2014 20:11:42 +0000 (13:11 -0700)]
osd: allow greedy get_write() for ObjectContext locks

There are several lockers that need to take a write lock
because there is an operation that is already in progress and
know it is safe to do so.  In particular, they need to skip
the starvation checks (op waiters, backfill waiting).

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 09626501d7a0ff964027fd7a534465b76bad23cb)

10 years agoqa/workunits/rest/test.py: make osd create test idempotent
Sage Weil [Wed, 2 Jul 2014 17:38:43 +0000 (10:38 -0700)]
qa/workunits/rest/test.py: make osd create test idempotent

Avoid possibility that we create multiple OSDs do to retries by passing in
the optional uuid arg.  (A stray osd id will make the osd tell tests a
few lines down fail.)

Fixes: #8728
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit bb3e1c92b6682ed39968dc5085b69c117f43cbb0)

10 years agoenforce rados put aligment
Lluis Pamies-Juarez [Wed, 18 Jun 2014 17:00:09 +0000 (10:00 -0700)]
enforce rados put aligment

Signed-off-by: Lluis Pamies-Juarez <lluis.pamies-juarez@hgst.com>
(cherry picked from commit 304b08a23a3db57010078046955a786fe3589ef8)
(cherry picked from commit dece65064d949b5afcc359cd408615883b5e002a)

10 years agouse llrintl when converting double to micro
Sage Weil [Thu, 31 Jul 2014 22:39:40 +0000 (15:39 -0700)]
use llrintl when converting double to micro

This avoids rounding error (noticeable on i386).

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 80911736bd61b6b88eac0974d24f21c15c5385a4)

Conflicts:
src/mon/OSDMonitor.cc

10 years agomsg/SimpleMessenger: drop local_conneciton priv link on shutdwon
Sage Weil [Fri, 25 Jul 2014 01:22:22 +0000 (18:22 -0700)]
msg/SimpleMessenger: drop local_conneciton priv link on shutdwon

This breaks ref cycles between the local_connection and session, and let's
us drop the explicit set_priv() calls in OSD::shutdown().

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 63c1711a9e237c14d137131f56751970ad1567b1)

10 years ago0.80.5 v0.80.5
Jenkins [Tue, 29 Jul 2014 12:24:39 +0000 (05:24 -0700)]
0.80.5

11 years agoosd: cancel agent_timer events on shutdown
Sage Weil [Fri, 9 May 2014 15:41:33 +0000 (08:41 -0700)]
osd: cancel agent_timer events on shutdown

We need to cancel all agent timer events on shutdown.  This also needs to
happen early so that any in-progress events will execute before we start
flushing and cleaning up PGs.

Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit c0dc245b662f1f9c640d7dd15fdf4cf26e729782)

Conflicts:
src/osd/OSD.cc

11 years agoosd: s/applying repop/canceling repop/
Sage Weil [Tue, 8 Jul 2014 23:11:44 +0000 (16:11 -0700)]
osd: s/applying repop/canceling repop/

The 'applying' language dates back to when we would wait for acks from
replicas before applying writes locally.  We don't do any of that any more;
now, this loop just cancels the repops with remove_repop() and some other
cleanup.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit ef40737eee4389faa7792661a0f9d15b3d0440f2)

11 years agoosd: clear PGBackend state on shutdown
Sage Weil [Tue, 8 Jul 2014 23:11:27 +0000 (16:11 -0700)]
osd: clear PGBackend state on shutdown

This was leaking state on shutdown whenever there were in-flight repops
that were canceled.

Fixes: #7891
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit cafceae6c243369d3616af8217884e7e029896b9)

11 years agoosd: separate cleanup from PGBackend::on_change()
Sage Weil [Tue, 8 Jul 2014 23:10:58 +0000 (16:10 -0700)]
osd: separate cleanup from PGBackend::on_change()

The generic portion of on_change() cleaned up temporary on-disk objects
and requires a Transaction.  The rest is clearing out in-memory state and
does not.  Separate the two.

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e299357e2a24474ab7a02e65ca0279336fd04b76)

11 years agoMerge remote-tracking branch 'origin/wip-8858-firefly' into firefly
Josh Durgin [Wed, 23 Jul 2014 17:09:19 +0000 (10:09 -0700)]
Merge remote-tracking branch 'origin/wip-8858-firefly' into firefly

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agomon: AuthMonitor: always encode full regardless of keyserver having keys 2134/head
Joao Eduardo Luis [Mon, 21 Jul 2014 23:25:37 +0000 (00:25 +0100)]
mon: AuthMonitor: always encode full regardless of keyserver having keys

On clusters without cephx, assuming an admin never added a key to the
cluster, the monitors have empty key servers.  A previous patch had the
AuthMonitor not encoding an empty keyserver as a full version.

As such, whenever the monitor restarts we will have to read the whole
state from disk in the form of incrementals.  This poses a problem upon
trimming, as we do every now and then: whenever we start the monitor, it
will start with an empty keyserver, waiting to be populated from whatever
we have on disk.  This is performed in update_from_paxos(), and the
AuthMonitor's will rely on the keyserver version to decide which
incrementals we care about -- basically, all versions > keyserver version.

Although we started with an empty keyserver (version 0) and are expecting
to read state from disk, in this case it means we will attempt to read
version 1 first.  If the cluster has been running for a while now, and
even if no keys have been added, it's fair to assume that version is
greater than 0 (or even 1), as the AuthMonitor also deals and keeps track
of auth global ids.  As such, we expect to read version 1, then version 2,
and so on.  If we trim at some point however this will not be possible,
as version 1 will not exist -- and we will assert because of that.

This is fixed by ensuring the AuthMonitor keeps track of full versions
of the key server, even if it's of an empty key server -- it will still
keep track of the key server's version, which is incremented each time
we update from paxos even if it is empty.

Fixes: #8851
Backport: dumpling, firefly

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit b551ae2bcea2dd17b37f5f5ab34251cc78de0e26)

11 years agoMerge pull request #2122 from ceph/wip-dencoder-firefly
Sage Weil [Mon, 21 Jul 2014 20:10:28 +0000 (13:10 -0700)]
Merge pull request #2122 from ceph/wip-dencoder-firefly

fix linking deps, cpeh-dencoder, etc., firefly backport

11 years agorgw: dump prefix unconditionally
Yehuda Sadeh [Fri, 18 Jul 2014 21:52:48 +0000 (14:52 -0700)]
rgw: dump prefix unconditionally

As part of issue #8858, and to be more in line with S3, dump the Prefix
field when listing bucket even if bucket is empty.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit d7209c11251d42227608bc54cc69232ef62ffe80)

11 years agorgw: list extra objects to set truncation flag correctly
Yehuda Sadeh [Thu, 17 Jul 2014 22:48:26 +0000 (15:48 -0700)]
rgw: list extra objects to set truncation flag correctly

Otherwise we end up returning wrong truncated value, and no data on the
next iteration.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit dc417e477d4ad262885c6b5f5987cf06d63b159d)

11 years agorgw: account common prefixes for MaxKeys in bucket listing
Yehuda Sadeh [Thu, 17 Jul 2014 18:45:44 +0000 (11:45 -0700)]
rgw: account common prefixes for MaxKeys in bucket listing

To be more in line with the S3 api. Beforehand we didn't account the
common prefixes towards the MaxKeys (a single common prefix counts as a
single key). Also need to adjust the marker now if it is pointing at a
common prefix.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 82d2d612e700f94a0bb2d9fb7555abf327be379b)

11 years agorgw: add NextMarker param for bucket listing
Yehuda Sadeh [Thu, 17 Jul 2014 18:24:51 +0000 (11:24 -0700)]
rgw: add NextMarker param for bucket listing

Partially fixes #8858.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 924686f0b6593deffcd1d4e80ab06b1e7af00dcb)

11 years agorgw: improve delmited listing of bucket
Yehuda Sadeh [Wed, 16 Jul 2014 22:21:09 +0000 (15:21 -0700)]
rgw: improve delmited listing of bucket

If found a prefix, calculate a string greater than that so that next
request we can skip to that. This is still not the most efficient way to
do it. It'll be better to push it down to the objclass, but that'll
require a much bigger change.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit e6cf618c257f26f97f60a4c1df1d23a14496cab0)

11 years agoutf8: export encode_utf8() and decode_utf8()
Yehuda Sadeh [Wed, 16 Jul 2014 23:05:58 +0000 (16:05 -0700)]
utf8: export encode_utf8() and decode_utf8()

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 49fc68cf8c3122c878ea9503c9c74d7046bc9c6f)

11 years agoceph-dencoder: don't link librgw.la (and rados, etc.) 2122/head
Sage Weil [Sat, 19 Jul 2014 05:44:51 +0000 (22:44 -0700)]
ceph-dencoder: don't link librgw.la (and rados, etc.)

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 34671108ce0b7597dba4f619732ecdb8933cda6e)

11 years agorgw: move a bunch of stuff into rgw_dencoder
Sage Weil [Sat, 19 Jul 2014 05:27:25 +0000 (22:27 -0700)]
rgw: move a bunch of stuff into rgw_dencoder

This will help out ceph-dencoder ...

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b1a641f307942cbf43036f75ef67fb30441dfe95)

11 years agolibosd_types, libos_types, libmon_types
Sage Weil [Sat, 19 Jul 2014 04:58:29 +0000 (21:58 -0700)]
libosd_types, libos_types, libmon_types

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1c170776cb8c0266f0f54f049ed07bbdb9c9ab5e)

Conflicts:

src/os/Makefile.am
src/os/ObjectStore.cc
src/osd/Makefile.am

11 years agoRevert "ceph.spec: move ceph-dencoder to ceph from ceph-common"
Sage Weil [Sat, 19 Jul 2014 03:55:39 +0000 (20:55 -0700)]
Revert "ceph.spec: move ceph-dencoder to ceph from ceph-common"

This reverts commit 95f5a448b52db545a2b9bbad47fdb287254f93ea.
(cherry picked from commit 58cc894b3252a848ebc2169bcc4980a0ae6cc375)

11 years agoRevert "debian: move ceph-dencoder to ceph from ceph-common"
Sage Weil [Sat, 19 Jul 2014 03:55:35 +0000 (20:55 -0700)]
Revert "debian: move ceph-dencoder to ceph from ceph-common"

This reverts commit b37e3bde3bd31287b11c069062280258666df7c5.
(cherry picked from commit f181f78b7473260a717bc8ab4fc4d73a80e3b5ba)

11 years agoconfigure: do not link leveldb with everything
Dan Mick [Fri, 18 Jul 2014 04:44:06 +0000 (21:44 -0700)]
configure: do not link leveldb with everything

Detect leveldb, but do not let autoconf blindly link it with everything on the
planet.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Sighed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 06a8f7b99c5533f397b34f448138220384df60ac)

11 years agoceph.spec: move ceph-dencoder to ceph from ceph-common
Sage Weil [Tue, 15 Jul 2014 00:02:05 +0000 (17:02 -0700)]
ceph.spec: move ceph-dencoder to ceph from ceph-common

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 95f5a448b52db545a2b9bbad47fdb287254f93ea)

11 years agodebian: move ceph-dencoder to ceph from ceph-common
Sage Weil [Mon, 14 Jul 2014 21:16:43 +0000 (14:16 -0700)]
debian: move ceph-dencoder to ceph from ceph-common

It links against the world currently (notably leveldb).  Not nice for the
client-side lib.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b37e3bde3bd31287b11c069062280258666df7c5)

11 years agologrotate.conf: fix osd log rotation under upstart
Sage Weil [Thu, 17 Jul 2014 23:40:06 +0000 (16:40 -0700)]
logrotate.conf: fix osd log rotation under upstart

In commit 7411c3c6a42bef5987bdd76b1812b01686303502 we generalized this
enumeration code by copying what was in the upstart scripts.  However,
while the mon and mds directories get a 'done' file, the OSDs get a 'ready'
file.  Bah!  Trigger off of either one.

Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 14a9ca602fa9573b0b6b94709b384bca02d12fac)

11 years agorgw: don't try to wait for pending if list is empty
Yehuda Sadeh [Wed, 16 Jul 2014 19:23:31 +0000 (12:23 -0700)]
rgw: don't try to wait for pending if list is empty

Fixes: #8846
Backport: firefly, dumpling

This was broken at ea68b9372319fd0bab40856db26528d36359102e. We ended
up calling wait_pending_front() when pending list was empty.
This commit also moves the need_to_wait check to a different place,
where we actually throttle (and not just drain completed IOs).

Reported-by: Sylvain Munaut <s.munaut@whatever-company.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit f9f2417d7db01ecf2425039539997901615816a9)

11 years agoremove suse service restarts
Alfredo Deza [Thu, 17 Jul 2014 14:06:37 +0000 (10:06 -0400)]
remove suse service restarts

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 0f11aaeefd7e8b49f88607937aade6113ebda52c)

11 years agoremove ceph restarts on upgrades for RPMs
Alfredo Deza [Wed, 16 Jul 2014 20:12:12 +0000 (16:12 -0400)]
remove ceph restarts on upgrades for RPMs

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit e3a5756f58ef5d07badf18ab08a26f47f7d232cb)

11 years agoset the default log level to WARNING
Alfredo Deza [Wed, 16 Jul 2014 15:07:13 +0000 (11:07 -0400)]
set the default log level to WARNING

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 420f0a471a31d1e56359ea642ed831e8a38b1e90)

11 years agoinit-ceph: wrap daemon startup with systemd-run when running under systemd
Sage Weil [Wed, 16 Jul 2014 01:11:41 +0000 (18:11 -0700)]
init-ceph: wrap daemon startup with systemd-run when running under systemd

We want to make sure the daemon runs in its own systemd environment.  Check
for systemd as pid 1 and, when present, use systemd-run -r <cmd> to do
this.

Probably fixes #7627

Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
Tested-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 3e0d9800767018625f0e7d797c812aa44c426dab)

11 years ago0.80.4 v0.80.4
Jenkins [Tue, 15 Jul 2014 19:13:55 +0000 (12:13 -0700)]
0.80.4

11 years agoXfsFileStoreBackend: default to disabling extsize on xfs
Samuel Just [Mon, 14 Jul 2014 20:29:37 +0000 (13:29 -0700)]
XfsFileStoreBackend: default to disabling extsize on xfs

This appears to be responsible for the deep scrub mismatches on some rbd
workloads.

Fixes: 8830
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 01cd3cdc726a3e838bce05b355a021778b4e5db1)

11 years agoRevert "Revert "rgw: if extra data pool name is empty, use data pool name instead""
Sage Weil [Mon, 14 Jul 2014 22:00:30 +0000 (15:00 -0700)]
Revert "Revert "rgw: if extra data pool name is empty, use data pool name instead""

This reverts commit 0b6bd2545925b5e8a80d41de1fda13ffe9d30e2b.

We confused commit 5fd8b0d1639c67e355f0fc0d7e6d7036618d87a1 with commit
b1a4a7cb91e164d1f8af8ce9319e3b3c1949858d in our tests.  We tested without
the latter, saw a failure, applied it and then reverted the former, and it
passed, but didn't actually resolve the problem.

This puts them both back in place and all should be well.

Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years ago0.80.3 v0.80.3
Jenkins [Fri, 11 Jul 2014 17:14:12 +0000 (17:14 +0000)]
0.80.3

11 years agorgw: fix RGWObjManifestRule decoder
Sage Weil [Thu, 10 Jul 2014 17:36:16 +0000 (10:36 -0700)]
rgw: fix RGWObjManifestRule decoder

Only decode the new field if it is a new struct.

Fixes: #8804
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit c4afaf9dabd261853a44b2e08f0911c075c1cd3a)

11 years ago0.80.2 v0.80.2
Jenkins [Wed, 9 Jul 2014 19:32:26 +0000 (19:32 +0000)]
0.80.2

11 years agoRevert "rgw: if extra data pool name is empty, use data pool name instead"
Josh Durgin [Wed, 9 Jul 2014 19:04:49 +0000 (12:04 -0700)]
Revert "rgw: if extra data pool name is empty, use data pool name instead"

This breaks multipart uploads on firefly, though not on master.
Revert for now so we can release 0.80.2.

This reverts commit 5fd8b0d1639c67e355f0fc0d7e6d7036618d87a1.

11 years agoMerge pull request #2083 from ceph/wip-8727.firefly
Sage Weil [Tue, 8 Jul 2014 17:06:01 +0000 (10:06 -0700)]
Merge pull request #2083 from ceph/wip-8727.firefly

messages: MForward: fix compat version

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agomessages: MForward: fix compat version 2083/head
Joao Eduardo Luis [Tue, 8 Jul 2014 15:46:27 +0000 (16:46 +0100)]
messages: MForward: fix compat version

A while ago we bumped the head version and reset the compat version to 0.
Doing this so happens to make the messenger assume that the message does
not support the compat versioning and sets the compat version to the head
version -- thus making compat = 2 when it should have been 1.

The nasty side-effect of this is that upgrading from emperor to firefly
will have emperor-leaders being unable to decode forwarded messages from
firefly-peons.

Fixes: #8727
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit c92feebb81f90344a085f8256f0ed03cdc2f14e1)

11 years agoceph.spec.in: add bash completion file for radosgw-admin
Dan Mick [Thu, 3 Jul 2014 23:11:24 +0000 (16:11 -0700)]
ceph.spec.in: add bash completion file for radosgw-admin

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit b70096307130bcbac176704493a63c5d039d3edc)

11 years agoceph.spec.in: rhel7-related changes:
Dan Mick [Thu, 3 Jul 2014 23:10:55 +0000 (16:10 -0700)]
ceph.spec.in: rhel7-related changes:

udev rules: /lib -> /usr/lib
/sbin binaries move to /usr/sbin or %{_sbindir}

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit 235e4c7de8f8efe491edefbdde8e5da4dfc44034)

Conflicts:
ceph.spec.in

11 years agoFix/add missing dependencies:
Dan Mick [Thu, 3 Jul 2014 23:08:44 +0000 (16:08 -0700)]
Fix/add missing dependencies:

- rbd-fuse depends on librados2/librbd1
- ceph-devel depends on specific releases of libs and libcephfs_jni1
- librbd1 depends on librados2
- python-ceph does not depend on libcephfs1

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit 7cf81322391b629b241da90181800ca1f138ce78)

Conflicts:
ceph.spec.in

11 years agoceph.spec.in: whitespace fixes
Dan Mick [Thu, 3 Jul 2014 23:05:00 +0000 (16:05 -0700)]
ceph.spec.in: whitespace fixes

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit ec8af52a5ede78511423a1455a496d46d580c644)

Conflicts:
ceph.spec.in

11 years agoceph.spec.in: split out ceph-common as in Debian
Dan Mick [Thu, 3 Jul 2014 23:04:10 +0000 (16:04 -0700)]
ceph.spec.in: split out ceph-common as in Debian

Move files, postun scriptlet, and add dependencies on ceph-common
where appropriate

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
(cherry picked from commit e131b9d5a5e90e87d8a8346cb96cb5a26135c144)

11 years agoMerge pull request #2057 from ceph/wip-8593-firefly
Sage Weil [Mon, 7 Jul 2014 16:40:51 +0000 (09:40 -0700)]
Merge pull request #2057 from ceph/wip-8593-firefly

mon: backport health check improvements

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon: check changes to the whole CRUSH map and to tunables against cluster features
Greg Farnum [Thu, 3 Jul 2014 23:30:49 +0000 (16:30 -0700)]
mon: check changes to the whole CRUSH map and to tunables against cluster features

When we change the tunables, or set a new CRUSH map, we need to make sure it's
supported by all the monitors and OSDs currently participating in the cluster.

Fixes: #8738
Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 54af8104816ccc76aad251aa47a6efc1bf879e7d)

11 years agoOSDMonitor: fix quorum_features comparison in check_cluster_features
Greg Farnum [Thu, 3 Jul 2014 22:24:30 +0000 (15:24 -0700)]
OSDMonitor: fix quorum_features comparison in check_cluster_features

We need to see if there's a feature which is not in the quorum_features,
not if there are no features in common!

Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 2280c0eaa9f3f733062085a5e7f7dc23c3bbe291)

11 years agoceph_test_rados_api_tier: disable LibRadosTierECPP::HitSetWrite
Sage Weil [Mon, 16 Jun 2014 19:57:36 +0000 (12:57 -0700)]
ceph_test_rados_api_tier: disable LibRadosTierECPP::HitSetWrite

Disable this test until hitget-get reliably works on EC pools (currently
it does not, and this test usually passes only because we get the in-memory
HitSet).

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit c5b5ed672c039cc4fa04772e065a59d3b1df803a)

11 years agoMerge pull request #2073 from ceph/wip-rgw-firefly-2
Sage Weil [Sat, 5 Jul 2014 04:18:32 +0000 (21:18 -0700)]
Merge pull request #2073 from ceph/wip-rgw-firefly-2

rgw: more firefly backports

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: set a default data extra pool name 2073/head
Yehuda Sadeh [Wed, 11 Jun 2014 23:50:41 +0000 (16:50 -0700)]
rgw: set a default data extra pool name

Fixes: #8585
Have a default name for the data extra pool, otherwise it would be empty
which means that it'd default to the data pool name (which is a problem
with ec backends).

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit b2542f8e880e45bb6d052f13eb3ef6a7c61e4cd4)

11 years agoMerge pull request #2028 from ceph/wip-rgw-firefly
Sage Weil [Thu, 3 Jul 2014 14:00:52 +0000 (07:00 -0700)]
Merge pull request #2028 from ceph/wip-rgw-firefly

rgw: a couple backports for firefly

Passed the rgw suite, modulo a python bootstrap issue.

sage-2014-07-01_09:50:22-rgw-wip-rgw-firefly-testing-basic-plana/337393

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agorgw: fix uninit ofs in RGWObjManifect::obj_iterator
Sage Weil [Mon, 30 Jun 2014 19:55:45 +0000 (12:55 -0700)]
rgw: fix uninit ofs in RGWObjManifect::obj_iterator

Valgrind picked this up:

  <kind>UninitCondition</kind>
  <what>Conditional jump or move depends on uninitialised value(s)</what>
  <stack>
    <frame>
      <ip>0x5145B8</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWObjManifest::obj_iterator::seek(unsigned long)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_rados.cc</file>
      <line>562</line>
    </frame>
    <frame>
      <ip>0x5672A4</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>list_multipart_parts(RGWRados*, req_state*, std::string const&amp;, std::string&amp;, int, int, std::map&lt;unsigned int, RGWUploadPartInfo, std::less&lt;unsigned int&gt;, std::allocator&lt;std::pair&lt;unsigned int const, RGWUploadPartInfo&gt; &gt; &gt;&amp;, int*, bool*, bool)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_rados.h</file>
      <line>217</line>
    </frame>
    <frame>
      <ip>0x5688EE</ip>
      <obj>/usr/bin/radosgw</obj>
      <fn>RGWListMultipart::execute()</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.82-354-g62027ec/src/rgw</dir>
      <file>rgw_op.cc</file>
      <line>2956</line>
    </frame>
...

Fixes: #8699
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e0d3b78b6af523ae77b0cee385cd40f67f7a0ab6)

11 years agorgw: if extra data pool name is empty, use data pool name instead
Yehuda Sadeh [Fri, 30 May 2014 21:47:25 +0000 (14:47 -0700)]
rgw: if extra data pool name is empty, use data pool name instead

Fixes: #8311
An empty pool name could be used as the extra data pool.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit b300318113b162522759d4794b1cfa3d1d9398e4)

11 years agorgw: extend manifest to avoid old style manifest
Yehuda Sadeh [Tue, 6 May 2014 22:35:20 +0000 (15:35 -0700)]
rgw: extend manifest to avoid old style manifest

In case we hit issue #8269 we'd like to avoid creating an old style
manifest. Since we need to have parts that use different prefix we add a
new rule param that overrides the manifest prefix.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit 545d8ad1d2dfe53b967ab1bd17dfeb1780abbb5e)

11 years agorgw: don't allow multiple writers to same multiobject part
Yehuda Sadeh [Sat, 3 May 2014 00:06:05 +0000 (17:06 -0700)]
rgw: don't allow multiple writers to same multiobject part

Fixes: #8269
Backport: firefly, dumpling

A client might need to retry a multipart part write. The original thread
might race with the new one, trying to clean up after it, clobbering the
part's data.
The fix is to detect whether an original part already existed, and if so
use a different part name for it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit bd8e026f88b812cc70caf6232c247844df5d99bf)

11 years agoMerge pull request #2056 from ceph/wip-8010
Sage Weil [Tue, 1 Jul 2014 23:16:09 +0000 (16:16 -0700)]
Merge pull request #2056 from ceph/wip-8010

Revert "mon: OSDMonitor: Refuse to delete CephFS pools"

Reviewed-by: Sage Weil <sage@redhat.com>
11 years agomon: ensure HealthService warning(s) include a summary 2057/head
Sage Weil [Tue, 17 Jun 2014 00:00:51 +0000 (17:00 -0700)]
mon: ensure HealthService warning(s) include a summary

The low disk space check would change our status to HEALTH_WARN and include
a detail message, but no summary.  We need both.

Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 3ed7f2dd4345633ff34017b201082f4c261ef387)