]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agoMerge pull request #18025 from liewegas/wip-recovery-preemption-luminous
Sage Weil [Wed, 11 Oct 2017 17:20:04 +0000 (12:20 -0500)]
Merge pull request #18025 from liewegas/wip-recovery-preemption-luminous

luminous: osd: allow recovery preemption

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
7 years agoMerge pull request #18154 from ktdreyer/luminous-gitignore-debian-patches
Sage Weil [Wed, 11 Oct 2017 17:19:45 +0000 (12:19 -0500)]
Merge pull request #18154 from ktdreyer/luminous-gitignore-debian-patches

luminous: .gitignore: allow debian .patch files

7 years agoMerge pull request #18189 from tchaikov/wip-retry-oserror-luminous
Sage Weil [Wed, 11 Oct 2017 17:19:08 +0000 (12:19 -0500)]
Merge pull request #18189 from tchaikov/wip-retry-oserror-luminous

luminous: ceph-disk: retry on OSError

7 years agoMerge pull request #18227 from liewegas/wip-bluestore-mempool-luminous
Sage Weil [Wed, 11 Oct 2017 17:18:27 +0000 (12:18 -0500)]
Merge pull request #18227 from liewegas/wip-bluestore-mempool-luminous

luminous: os/bluestore: several mempool accounting fixes

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agoos/bluestore: move several buffer{ptr,list}s into cache_other mempool 18227/head
Sage Weil [Thu, 28 Sep 2017 12:02:50 +0000 (08:02 -0400)]
os/bluestore: move several buffer{ptr,list}s into cache_other mempool

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

7 years agoos/bluestore: put new attrs in correct mempool too
Sage Weil [Thu, 28 Sep 2017 12:14:37 +0000 (08:14 -0400)]
os/bluestore: put new attrs in correct mempool too

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

7 years agoos/bluestore: put attrs in mempool
Sage Weil [Fri, 22 Sep 2017 12:09:37 +0000 (08:09 -0400)]
os/bluestore: put attrs in mempool

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

7 years agobuffer: add ptr::[try_]reassign_to_mempool
Sage Weil [Fri, 22 Sep 2017 12:08:52 +0000 (08:08 -0400)]
buffer: add ptr::[try_]reassign_to_mempool

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

7 years agoMerge pull request #18200 from ceph/wip-yuriw-21660-luminous
Josh Durgin [Tue, 10 Oct 2017 20:17:46 +0000 (13:17 -0700)]
Merge pull request #18200 from ceph/wip-yuriw-21660-luminous

tests - Added yaml fragmet to cover testing

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agotests - Added yaml fragmet to cover testing on standanone client.4 18200/head
Yuri Weinstein [Mon, 9 Oct 2017 19:51:59 +0000 (12:51 -0700)]
tests - Added yaml fragmet to cover testing on standanone client.4
for http://tracker.ceph.com/issues/21660#note-17

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
7 years agoceph-disk: retry on OSError 18189/head
Kefu Chai [Sat, 7 Oct 2017 14:15:11 +0000 (22:15 +0800)]
ceph-disk: retry on OSError

we are likely to
1) create partition, for instance, sdc1
2) partprobe sdc
3) udevadm settle
4) check the device by its path: /dev/sdc1

but there is chance that the uevent sent from kernel fails to reach udev
before we call "udevadm", hence "/dev/sdc1" does not exist even after
"udevadm settle" returns. so we retry in case of OSError here.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 4f82dfb9e761a09484e6ba3bd027da535162783e)

7 years agoceph-disk: factor out the retry logic into a decorator
Kefu Chai [Sat, 7 Oct 2017 13:13:47 +0000 (21:13 +0800)]
ceph-disk: factor out the retry logic into a decorator

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 02a8620de7f200736900aafc944b2c1ac47d9910)

7 years agoMerge pull request #18167 from tchaikov/wip-luminous-sphinx
Alfredo Deza [Sun, 8 Oct 2017 16:05:25 +0000 (12:05 -0400)]
Merge pull request #18167 from tchaikov/wip-luminous-sphinx

luminous: admin: bump sphinx to 1.6

Reviewed-by: Alfredo Deza <adeza@redhat.com>
7 years agodoc: switch to upstream sphinx-ditaa 18167/head
Kefu Chai [Mon, 11 Sep 2017 13:54:33 +0000 (21:54 +0800)]
doc: switch to upstream sphinx-ditaa

it works with setuptools and is now compatible with py3

the py3 branch is created to track the upstream's master branch

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit fda079d5ed4c8a80c677f714a680233a568d512e)

7 years agoadmin: bump sphinx to 1.6
Alfredo Deza [Tue, 15 Aug 2017 13:12:27 +0000 (09:12 -0400)]
admin: bump sphinx to 1.6

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 88a1114cb3f90e52ba718dc832617fa004d63b3c)

7 years agoMerge pull request #17914 from liewegas/wip-21498-luminous
Alfredo Deza [Fri, 6 Oct 2017 21:42:30 +0000 (17:42 -0400)]
Merge pull request #17914 from liewegas/wip-21498-luminous

ceph-disk: fix '--runtime' omission for ceph-osd service

Reviewed-by: Alfredo Deza <adeza@redhat.com>
7 years agoMerge pull request #18135 from liewegas/wip-vta-luminous
Sage Weil [Fri, 6 Oct 2017 20:35:06 +0000 (15:35 -0500)]
Merge pull request #18135 from liewegas/wip-vta-luminous

luminous: cmake: disable VTA on options.cc

7 years ago.gitignore: allow debian .patch files 18154/head
Ken Dreyer [Thu, 7 Sep 2017 17:07:59 +0000 (11:07 -0600)]
.gitignore: allow debian .patch files

The Ubuntu packaging layout with git-buildpackage assumes a
"debian/patches/" directory with several .patch files in it.

When upstream's .gitignore tells Git to ignore .patch files, we have to
edit that line out downstream. When we forget to do that downstream, it
can lead to missing patches and broken downstream builds.

Allow patches in the /debian/patches directory so it's easier to
maintain an Ubuntu package based on upstream's Git repo.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
(cherry picked from commit c734b0c0296152721b658af7b699a64b3a49d251)

7 years agoMerge pull request #18140 from liewegas/wip-21660-luminous
Sage Weil [Fri, 6 Oct 2017 12:38:53 +0000 (07:38 -0500)]
Merge pull request #18140 from liewegas/wip-21660-luminous

luminous: src/messages/MOSDMap: reencode OSDMap for older clients

7 years agoMerge pull request #18037 from ajarr/wip-21602-luminous
Sage Weil [Fri, 6 Oct 2017 03:12:22 +0000 (22:12 -0500)]
Merge pull request #18037 from ajarr/wip-21602-luminous

luminous: ceph_volume_client: add get, put, and delete object interfaces

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #18103 from liewegas/wip-21259-luminous
Sage Weil [Fri, 6 Oct 2017 02:03:42 +0000 (21:03 -0500)]
Merge pull request #18103 from liewegas/wip-21259-luminous

luminous: osd: dump bluestore debug on shutdown if debug option is set

7 years agoMerge pull request #18112 from liewegas/wip-localpool-min-size-luminous
Sage Weil [Fri, 6 Oct 2017 02:03:28 +0000 (21:03 -0500)]
Merge pull request #18112 from liewegas/wip-localpool-min-size-luminous

luminous: mgr/localpool: fix min_size, 3x default, crush rule

Reviewed-by: Alexander Marangone <amarango@redhat.com>
7 years agoMerge pull request #18126 from smithfarm/wip-sigpipe-porting-luminous
Sage Weil [Fri, 6 Oct 2017 02:02:53 +0000 (21:02 -0500)]
Merge pull request #18126 from smithfarm/wip-sigpipe-porting-luminous

luminous: msg: reimplement sigpipe blocking

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
7 years agoMerge pull request #18127 from liewegas/wip-21470-luminous
Sage Weil [Fri, 6 Oct 2017 02:02:09 +0000 (21:02 -0500)]
Merge pull request #18127 from liewegas/wip-21470-luminous

luminous: os/bluestore: fix another aio stall/deadlock

7 years agoMerge pull request #18128 from liewegas/wip-bluefs-allocation-luminous
Sage Weil [Fri, 6 Oct 2017 02:01:53 +0000 (21:01 -0500)]
Merge pull request #18128 from liewegas/wip-bluefs-allocation-luminous

luminous: os/bluestore: make bluefs behave better near enospc

7 years agoMerge pull request #18131 from liewegas/wip-ifname-luminous
Sage Weil [Fri, 6 Oct 2017 02:01:27 +0000 (21:01 -0500)]
Merge pull request #18131 from liewegas/wip-ifname-luminous

luminous: common/pick_address: add {public,cluster}_network_interface option

7 years agoMerge pull request #18132 from gregsfortytwo/wip-20416-bitwise-assert-luminous
Sage Weil [Fri, 6 Oct 2017 02:01:06 +0000 (21:01 -0500)]
Merge pull request #18132 from gregsfortytwo/wip-20416-bitwise-assert-luminous

osd: make the PG's SORTBITWISE assert a more generous shutdown

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agosrc/messages/MOSDMap: reencode OSDMap for older clients 18140/head
Sage Weil [Thu, 5 Oct 2017 20:26:16 +0000 (15:26 -0500)]
src/messages/MOSDMap: reencode OSDMap for older clients

We explicitly select which missing bits trigger a reencode.  We
already had jewel and earlier covered, but kraken includes all of
the previously mentioned bits but not SERVER_LUMINOUS.  This
prevents kraken clients from decoding luminous maps.

Fixes: http://tracker.ceph.com/issues/21660
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit d2664aa34dc4c13da64d1ad187019737080069d7)

7 years agoos/bluestore: add bluestore_bluefs_min_free 18128/head
Sage Weil [Tue, 3 Oct 2017 16:18:17 +0000 (11:18 -0500)]
os/bluestore: add bluestore_bluefs_min_free

We need at least ~1GB free so we can write out new SSTs (which are 256MB
each).

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

(avoided 1_G syntax that luminous doesn't support)

7 years agocmake: disable VTA on options.cc 18135/head
Kefu Chai [Thu, 31 Aug 2017 10:15:28 +0000 (18:15 +0800)]
cmake: disable VTA on options.cc

to silence following warning and to avoid compiling this file twice:

ceph/src/common/options.cc: In function ‘std::vector<Option> get_global_options()’:
ceph/src/common/options.cc:151:21: note: variable tracking
size limit exceeded with -fvar-tracking-assignments, retrying without
 std::vector<Option> get_global_options() {
                     ^~~~~~~~~~~~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 4bb56402a6d6f642d54f329aa1e809cbe044e0c6)

7 years agoosd/PG: separate event for RemoteReservationCanceled 18025/head
Sage Weil [Wed, 4 Oct 2017 20:28:26 +0000 (15:28 -0500)]
osd/PG: separate event for RemoteReservationCanceled

Right now we transparently map a RemoteReservationRejected into a
*Canceled event because this what peers send over the wire.  Even
once new peers start sending and explicit CANCEL, old peers will
still do so, so we'll maintain this mapping for a while.

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

7 years agoosd/PG: separate verb 'Reject' from passive 'rejected'
Sage Weil [Wed, 4 Oct 2017 19:55:15 +0000 (14:55 -0500)]
osd/PG: separate verb 'Reject' from passive 'rejected'

This reduces pg->reject_reservation() callsites from 2 to 1 and
makes the state transitions a bit more explicit.

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

7 years agoosd: make note about when we get MBackfillReserve REJECT messages
Sage Weil [Sun, 1 Oct 2017 20:05:40 +0000 (15:05 -0500)]
osd: make note about when we get MBackfillReserve REJECT messages

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

7 years agoosd/PG: handle RecoveryReservationRejected in RepWaitRecoveryReserved
Sage Weil [Sun, 1 Oct 2017 20:04:34 +0000 (15:04 -0500)]
osd/PG: handle RecoveryReservationRejected in RepWaitRecoveryReserved

This state is analogous to RepWaitBackfillReserved; just like we do there
we want to handle the REJECT from the primary by canceling our local
remote_reservation.

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

7 years agoosd/PG: ignore RemoteReservationRejected if we are RepNotRecoverying
Sage Weil [Sun, 1 Oct 2017 20:03:22 +0000 (15:03 -0500)]
osd/PG: ignore RemoteReservationRejected if we are RepNotRecoverying

The primary may send us a REJECT (meaning cancel) if recovery/backfill is
preempted there.  That can happen even if the recovery isn't reserved or
requested here (e.g., because the primary is still waiting for the local
reservation).  Just ignore it and remain in RepNotRecovering.

Fixes: http://tracker.ceph.com/issues/21613
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1ce235c5dd0b777223f6465e71fb7ee4befd13d8)

7 years agoosd/PG: cancel local reservation in RemoteReservationRejected handler
Sage Weil [Sun, 1 Oct 2017 20:01:05 +0000 (15:01 -0500)]
osd/PG: cancel local reservation in RemoteReservationRejected handler

We can get a RemoteReservationRejected event either because *we* decide
to reject, or because we get a REJECT from the primary that means "cancel"
(e.g., because recovery/backfill was preempted there).  In both cases we
want to cancel our remote_reservation.

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

7 years agoosd/PG: move reject_reservation out of RemoteReservationRejected reaction
Sage Weil [Sun, 1 Oct 2017 19:59:31 +0000 (14:59 -0500)]
osd/PG: move reject_reservation out of RemoteReservationRejected reaction

The RemoteReservationRejected event is also submitted when we are a
replica or backfill target and get a MBackfillReserve REJECT message
because the primary canceled or was preempted.  In that case, we don't
want to send a REJECT back to the primary; we only need to send it in the
cases where *we*, locally, decide to reject.  Move the call to those call
sites.

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

7 years agoosd: make the PG's SORTBITWISE assert a more generous shutdown 18132/head
Greg Farnum [Fri, 29 Sep 2017 22:18:26 +0000 (15:18 -0700)]
osd: make the PG's SORTBITWISE assert a more generous shutdown

We want to stop working if we get activated while sortbitwise is not set
on the cluster, but we might have old maps where it wasn't if the flag
was changed recently. And doing it in the PG code was a bit silly anyway.

Instead check SORTBITWISE in the main OSDMap handling code prior to
prepublishing it. Let it go through if we aren't active at the time.

Fixes: http://tracker.ceph.com/issues/20416
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 0a691b2b1c19fbc30af5c4046736dacb2fb8bfa4)

7 years agocommon/pick_address: add {public,cluster}_network_interface option 18131/head
Sage Weil [Thu, 28 Sep 2017 21:47:17 +0000 (17:47 -0400)]
common/pick_address: add {public,cluster}_network_interface option

Add _interfaces option to constrain the choice of IPs in the network
list to those on interfaces matching the provided list of interface names.
The _interfaces options only work in concert with the _network options,
so you must also specify a list of networks if you want to use a specific
interface, e.g., by specifying a broad network like "::" or "0.0.0.0/0".

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

7 years agoos/bluestore/BlueFS: crash on enospc
Sage Weil [Tue, 3 Oct 2017 15:41:33 +0000 (10:41 -0500)]
os/bluestore/BlueFS: crash on enospc

We were passing this error back to rocksdb, which would then crash (much)
later with a corrupted SST file!  No good.

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

7 years agomsgr: add a mechanism for Solaris to avoid dying on SIGPIPE 18126/head
Greg Farnum [Tue, 3 Oct 2017 22:54:06 +0000 (15:54 -0700)]
msgr: add a mechanism for Solaris to avoid dying on SIGPIPE

This is fairly clean: we define an RAII object in the Messenger.h on
Solaris, and "declare" it with a macro in the implementations. There's
no code duplication and on Linux it's just entirely compiled out.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit cba20a95e816aaf9f0971b29b14b0be8c524b59d)

Conflicts:
    src/msg/async/PosixStack.cc - luminous #include "common/simple_spin.h" is
        missing in master (trivial resolution)

7 years agoos/bluestore: use normal Context for async deferred_try_submit 18127/head
Sage Weil [Tue, 3 Oct 2017 21:48:37 +0000 (16:48 -0500)]
os/bluestore: use normal Context for async deferred_try_submit

I'm not quite sure why the FunctionContext did not ever execute on the
finisher thread (perhaps the [&] captured some state on the stack that it
shouldn't have?).  In any case, using a traditional Context here appears
to resolve the problem (of the async deferred_try_submit() never executing,
leading to a bluestore stall/deadlock).

Fixes: http://tracker.ceph.com/issues/21470
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 67ec75805787ed63b35f8d70478a7a2cd785df06)

7 years agoos/bluestore: wake kv thread when blocking on deferred_bytes
Sage Weil [Fri, 29 Sep 2017 18:47:19 +0000 (13:47 -0500)]
os/bluestore: wake kv thread when blocking on deferred_bytes

We need to wake the kv thread whenever setting deferred_aggressive to
ensure that txns with deferred io that have committed but haven't submitted
their deferred writes get submitted.  This aligns us with the other
users of deferred_aggressive (e.g., _osr_drain_all).

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

7 years agoRevert "SIGPIPE suppression for platforms without SO_NOSIGPIPE or MSG_NOSIGNAL"
Greg Farnum [Tue, 3 Oct 2017 22:06:25 +0000 (15:06 -0700)]
Revert "SIGPIPE suppression for platforms without SO_NOSIGPIPE or MSG_NOSIGNAL"

This reverts commit 131deb39769c1187c334ee84f552d3be01f1751b. It added
code that shouldn't have entered the project repo.

Conflicts:
src/msg/async/AsyncConnection.cc
src/msg/async/AsyncConnection.h
src/msg/simple/Pipe.cc
src/msg/simple/Pipe.h

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 21bdb730932196a48407be0effab8813a78c4b1b)

7 years agomgr/localpool: fix rule selection 18112/head
Sage Weil [Wed, 4 Oct 2017 13:25:38 +0000 (08:25 -0500)]
mgr/localpool: fix rule selection

The 'osd pool create' arg parsing is broken; the rule name for
'ceph osd pool create $name $numpgs replicated $rulename' is passed
via the erasure_code_profile param.  Too many req=false options
without a way to disambiguate them.

Work around it by passing both 'rule' and 'erasure_code_profile'
keys, so that if/when the hack in OSDMonitor.cc is removed it will
still work.  Blech.

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

7 years agomgr/localpool: optionally adjust min_size too
Sage Weil [Mon, 2 Oct 2017 22:11:46 +0000 (17:11 -0500)]
mgr/localpool: optionally adjust min_size too

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

7 years agomgr/localpool: default to 3x
Sage Weil [Mon, 2 Oct 2017 22:11:38 +0000 (17:11 -0500)]
mgr/localpool: default to 3x

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

7 years agoosd: make shutdown debug conditional (and off by default) 18103/head
Sage Weil [Thu, 21 Sep 2017 19:19:47 +0000 (15:19 -0400)]
osd: make shutdown debug conditional (and off by default)

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

7 years agoosd: debug_bluestore on shutdown
Sage Weil [Thu, 7 Sep 2017 21:12:42 +0000 (17:12 -0400)]
osd: debug_bluestore on shutdown

...just like we do with filestore etc.

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

7 years agoos/bluestore: dump stray cache content on shutdown
Sage Weil [Thu, 7 Sep 2017 21:11:30 +0000 (17:11 -0400)]
os/bluestore: dump stray cache content on shutdown

Tracking down http://tracker.ceph.com/issues/21259.

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

7 years agoMerge pull request #17734 from liewegas/wip-21089-onmount
Sage Weil [Tue, 3 Oct 2017 18:41:21 +0000 (13:41 -0500)]
Merge pull request #17734 from liewegas/wip-21089-onmount

luminous: os/bluestore: replace 21089 repair with something online (instead of fsck)

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
7 years agoMerge pull request #17814 from liewegas/wip-pg-limits-luminous
Sage Weil [Tue, 3 Oct 2017 18:40:56 +0000 (13:40 -0500)]
Merge pull request #17814 from liewegas/wip-pg-limits-luminous

luminous: mon: cluster limit on pgs

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agodoc/rados/operations/health-checks: fix TOO_MANY_PGS discussion 17814/head
Sage Weil [Thu, 14 Sep 2017 20:01:14 +0000 (16:01 -0400)]
doc/rados/operations/health-checks: fix TOO_MANY_PGS discussion

Fiddling with pgp_num doesn't help with TOO_MANY_PGS.

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

7 years agomon: rename mon_pg_warn_max_per_osd -> mon_max_pg_per_osd
Sage Weil [Thu, 14 Sep 2017 20:00:31 +0000 (16:00 -0400)]
mon: rename mon_pg_warn_max_per_osd -> mon_max_pg_per_osd

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

7 years agoMerge pull request #17867 from smithfarm/wip-21443-luminous
Sage Weil [Sun, 1 Oct 2017 20:56:10 +0000 (15:56 -0500)]
Merge pull request #17867 from smithfarm/wip-21443-luminous

luminous: mgr: Prometheus crash when update

Reviewed-by: Amit Kumar <amitkuma@redhat.com>
7 years agoMerge pull request #17868 from smithfarm/wip-21452-luminous
Sage Weil [Sun, 1 Oct 2017 20:55:59 +0000 (15:55 -0500)]
Merge pull request #17868 from smithfarm/wip-21452-luminous

luminous: mgr: prometheus module generates invalid output when counter names contain non-alphanum characters

Reviewed-by: Amit Kumar <amitkuma@redhat.com>
7 years agoMerge pull request #17896 from liewegas/wip-bluestore-tool-luminous
Sage Weil [Sun, 1 Oct 2017 20:55:30 +0000 (15:55 -0500)]
Merge pull request #17896 from liewegas/wip-bluestore-tool-luminous

ceph-objectstore-tool and ceph-bluestore-tool: backports from master

Reviewed-by: David Zafman <dzafman@redhat.com>
7 years agoMerge pull request #17930 from jcsp/wip-luminous-health-warn
Sage Weil [Sun, 1 Oct 2017 20:55:11 +0000 (15:55 -0500)]
Merge pull request #17930 from jcsp/wip-luminous-health-warn

mon: show legacy health warning in `status` output

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18031 from xiexingguo/wip-pr-17987
Sage Weil [Sun, 1 Oct 2017 20:54:47 +0000 (15:54 -0500)]
Merge pull request #18031 from xiexingguo/wip-pr-17987

luminous: osd/PrimaryLogPG: kick off recovery on backoffing a degraded object

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18033 from xiexingguo/wip-pr-17698
Sage Weil [Sun, 1 Oct 2017 20:54:17 +0000 (15:54 -0500)]
Merge pull request #18033 from xiexingguo/wip-pr-17698

luminous: os/bluestore: allocate entire write in one go

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #18038 from jecluis/wip-21300-luminous
Sage Weil [Sun, 1 Oct 2017 20:53:56 +0000 (15:53 -0500)]
Merge pull request #18038 from jecluis/wip-21300-luminous

luminous: mon/MgrMonitor: handle cmd descs to/from disk in the absence of active mgr

8 years agoqa/suites/rados/singleton/all/recovery-preemption: add test
Sage Weil [Wed, 27 Sep 2017 21:42:07 +0000 (17:42 -0400)]
qa/suites/rados/singleton/all/recovery-preemption: add test

This mirrors what I was testing locally.

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

8 years agoosd/PG: handle racy preemption
Sage Weil [Thu, 21 Sep 2017 16:37:13 +0000 (12:37 -0400)]
osd/PG: handle racy preemption

If we finish recovery/backfill and go active, but also get
preempted at the same time, we can ignore the event.

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

8 years agoosd/PG: allow local recovery reservations to be preempted
Sage Weil [Tue, 19 Sep 2017 20:26:40 +0000 (15:26 -0500)]
osd/PG: allow local recovery reservations to be preempted

If a PG has a higher recovery priority and a lower-priority item is in
progress, allow it to be preempted.  This triggers the RecoveryCancel
or BackfillCancel event with a 0 delay, which means it will immediately
re-request a reservation (and presumably wait).

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

8 years agocommon/AsyncReserver: support preemption
Sage Weil [Tue, 19 Sep 2017 20:25:05 +0000 (15:25 -0500)]
common/AsyncReserver: support preemption

If an (optional) preemption context is provided, use that to preempt
and existing reservation and grant a higher-priority one.

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

8 years agocommon/AsyncReserver: get a cct
Sage Weil [Thu, 21 Sep 2017 16:37:49 +0000 (12:37 -0400)]
common/AsyncReserver: get a cct

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

8 years agoosd: PG_STATE_BACKFILL -> PG_STATE_BACKFILLING
Sage Weil [Thu, 21 Sep 2017 14:30:57 +0000 (10:30 -0400)]
osd: PG_STATE_BACKFILL -> PG_STATE_BACKFILLING

Match user-facing string

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

- add update to mon/PGMap.cc

8 years agoMerge pull request #17862 from smithfarm/wip-21307-luminous
Sage Weil [Fri, 29 Sep 2017 12:11:31 +0000 (07:11 -0500)]
Merge pull request #17862 from smithfarm/wip-21307-luminous

luminous: mon: Client client.admin marked osd.2 out, after it was down for 1504627577 seconds

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #17865 from smithfarm/wip-21465-luminous
Sage Weil [Fri, 29 Sep 2017 12:10:55 +0000 (07:10 -0500)]
Merge pull request #17865 from smithfarm/wip-21465-luminous

luminous: OSD metadata 'backend_filestore_dev_node' is unknown even for simple deployment

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #17936 from liewegas/wip-ruleset-errors-luminous
Sage Weil [Fri, 29 Sep 2017 12:10:26 +0000 (07:10 -0500)]
Merge pull request #17936 from liewegas/wip-ruleset-errors-luminous

mon/OSDMonitor: error out if setting ruleset-* ec profile property

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #17946 from liewegas/wip-mgr-localpool-luminous
Sage Weil [Fri, 29 Sep 2017 12:10:06 +0000 (07:10 -0500)]
Merge pull request #17946 from liewegas/wip-mgr-localpool-luminous

luminous: mgr/localpool: module to automagically create localized pools

Reviewed-by: John Spray <john.spray@redhat.com>
8 years agoMerge pull request #17998 from liewegas/wip-pr-17978-luminous
Sage Weil [Fri, 29 Sep 2017 12:09:27 +0000 (07:09 -0500)]
Merge pull request #17998 from liewegas/wip-pr-17978-luminous

rbdmap: fix umount when multiple mounts use the same RBD

Reviewed-by: Sage Weil <sage@redhat.com>
8 years agomon/MgrMonitor: read cmd descs if empty on update_from_paxos() 18038/head
Joao Eduardo Luis [Wed, 20 Sep 2017 16:53:40 +0000 (17:53 +0100)]
mon/MgrMonitor: read cmd descs if empty on update_from_paxos()

If the MgrMonitor's `command_descs` is empty, the monitor will not send
the mgr commands to clients on `get_descriptions`. This, in turn, has
the clients sending the commands to the monitors, which will have no
idea how to handle them.

Therefore, make sure to read the `command_descs` from disk if the vector
is empty.

Fixes: http://tracker.ceph.com/issues/21300
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
(cherry picked from commit 3d06079bae0fbc096d6c3639807d9be3597e841a)

8 years agopybind/ceph_volume_client: add get, put, and delete object interfaces 18037/head
Ramana Raja [Wed, 13 Sep 2017 14:23:43 +0000 (19:53 +0530)]
pybind/ceph_volume_client: add get, put, and delete object interfaces

Wrap low-level rados APIs to allow ceph_volume_client to get, put, and
delete objects. The interfaces would allow OpenStack Manila's
cephfs driver to store config data in a shared storage to implement
highly available Manila deployments. Restrict  write(put) and
read(get) object sizes to 'osd_max_size' config setting.

Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit d1bd171d6b6eb00c47168f38cec1a30f9c9f02bd)

8 years agopybind/ceph_volume_client: remove 'compat_version'
Ramana Raja [Mon, 18 Sep 2017 14:46:30 +0000 (20:16 +0530)]
pybind/ceph_volume_client: remove 'compat_version'

... class attribute of the 'CephFSVolumeClient' class. It was supposed
to record the earliest version of CephFSVolumeClient that the current
version is compatible with. It's not useful data to be stored as a
class attribute.

Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit 894a734aa5a56b20d3f68bb3ad644b370f193934)

8 years agopybind/ceph_volume_client: set the version
Ramana Raja [Mon, 18 Sep 2017 14:39:55 +0000 (20:09 +0530)]
pybind/ceph_volume_client: set the version

... of on-disk structures to be same as the class attribute 'version'
of the CephFSVolumeClient class.

Signed-off-by: Ramana Raja <rraja@redhat.com>
(cherry picked from commit 8267c2ba09841095f20a8833c155185529e64f46)

8 years agomon/MgrMonitor: populate on-disk cmd descs if empty on upgrade
Joao Eduardo Luis [Wed, 27 Sep 2017 16:55:17 +0000 (17:55 +0100)]
mon/MgrMonitor: populate on-disk cmd descs if empty on upgrade

During kraken, when we first introduced the mgrs, we wouldn't populate
the on-disk command descriptions on create_initial(). Therefore, if we
are upgrading from a cluster that never had a mgr, we may end up
crashing because we have no cmd descs to load from disk.

Fixes: http://tracker.ceph.com/issues/21300
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
8 years agoos/bluestore: allocate entire write in one go 18033/head
Sage Weil [Thu, 10 Aug 2017 20:44:59 +0000 (16:44 -0400)]
os/bluestore: allocate entire write in one go

On the first pass through the writes, compress data and calculate a final
amount of space we need to allocate.  On the second pass, assign the
extents to blobs and queue the writes.

This allows us to do a single allocation for all blobs, which will lead
to less fragmentation and a much better write pattern.

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

8 years agoosd/PrimaryLogPG: kick off recovery on backoffing a degraded object 18031/head
xie xingguo [Wed, 27 Sep 2017 08:05:56 +0000 (16:05 +0800)]
osd/PrimaryLogPG: kick off recovery on backoffing a degraded object

As we are now blocking frontend ops from accessing that very object!

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit db20328b456d70d6728fd27f17da6f2f3546e84b)

8 years agoosd/osd_types: make BACKFILL <-> "backfilling" for parser
Sage Weil [Thu, 21 Sep 2017 14:28:59 +0000 (10:28 -0400)]
osd/osd_types: make BACKFILL <-> "backfilling" for parser

We render BACKFILL as "backfilling"; make sure parse works that
way too.

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

8 years agoosd/osd_types: remove weird BACKFILL state hack
Sage Weil [Thu, 21 Sep 2017 14:28:08 +0000 (10:28 -0400)]
osd/osd_types: remove weird BACKFILL state hack

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

8 years agoosd/PG: Cancel{Recovery,Backfill} -> Defer{Recovery,Backfill}
Sage Weil [Tue, 19 Sep 2017 20:47:23 +0000 (15:47 -0500)]
osd/PG: Cancel{Recovery,Backfill} -> Defer{Recovery,Backfill}

"Defer" is more accurate here; we aren't canceling anything, just
rescheduling the work.

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

8 years agoosd/PG: specify delay in Cancel{Recovery,Backfill}
Sage Weil [Tue, 19 Sep 2017 19:53:31 +0000 (14:53 -0500)]
osd/PG: specify delay in Cancel{Recovery,Backfill}

For now it is always the retry interval, but later perhaps not!

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

8 years agoosd/PG: make some trivial events TrivialEvent
Sage Weil [Tue, 19 Sep 2017 19:49:05 +0000 (14:49 -0500)]
osd/PG: make some trivial events TrivialEvent

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

8 years agoosd/PG: set {backfill,recovery}_wait when canceling backfill/recovery
Sage Weil [Tue, 19 Sep 2017 19:44:50 +0000 (14:44 -0500)]
osd/PG: set {backfill,recovery}_wait when canceling backfill/recovery

The only caller currently is when we get as far as we can with backfill
or recovery but still have unfound objects.  In this case, go back into
the *_wait state instead of appearing as though we are still doing
something.

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

8 years agorbdmap: fix umount when multiple mounts use the same RBD 17998/head
Alexandre Marangone [Tue, 26 Sep 2017 18:35:04 +0000 (11:35 -0700)]
rbdmap: fix umount when multiple mounts use the same RBD

When a Kubernetes Pod consumes a RBD it is mounted two
times on the same host. When the host shutdown umount will
fail leading to a hung system

Signed-off-by: Alexandre Marangone <amarango@redhat.com>
(cherry picked from commit 40825daecedb2a3481021e4d36a367c339eb9b62)

8 years agoMerge pull request #17953 from ceph/wip-ceph-ansible-bport
vasukulkarni [Wed, 27 Sep 2017 16:50:44 +0000 (09:50 -0700)]
Merge pull request #17953 from ceph/wip-ceph-ansible-bport

tests - ceph-ansible backports

8 years agouse ovh instead of vps 17953/head
Vasu Kulkarni [Thu, 21 Sep 2017 22:34:31 +0000 (15:34 -0700)]
use ovh instead of vps

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit 56d1511bdfaee5a2a0d85bd606348632bfcbf09e)
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
8 years ago12.2.1 v12.2.1
Jenkins Build Slave User [Tue, 26 Sep 2017 16:27:07 +0000 (16:27 +0000)]
12.2.1

8 years agoMerge pull request #17970 from idryomov/wip-pr-17346-luminous 33103/head
Jason Dillaman [Tue, 26 Sep 2017 15:53:56 +0000 (11:53 -0400)]
Merge pull request #17970 from idryomov/wip-pr-17346-luminous

luminous: qa/suites/krbd: rbd_xfstests job overhaul

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoqa/suites/krbd: new rbd_xfstests job definition 17970/head
Ilya Dryomov [Fri, 18 Aug 2017 15:49:03 +0000 (17:49 +0200)]
qa/suites/krbd: new rbd_xfstests job definition

ext4 seems to be a better choice for our purposes -- less test churn,
rather small and reliable exclude list.

All excluded tests but generic/050 fail with no krbd in the mix, most
have popped up on linux-ext4 list at least once.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 6647c65ebe0688283cc8b9da9f638a4d6ffb75de)

8 years agoqa/tasks/rbd.xfstests: take exclude list from yaml
Ilya Dryomov [Thu, 17 Aug 2017 13:35:42 +0000 (15:35 +0200)]
qa/tasks/rbd.xfstests: take exclude list from yaml

Different filesystems (and further, different configurations of the
same filesystem) need different exclude lists.  Hard coding the list in
a wrapper script is inflexible.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 01914be5a3b35479037054293b85d96596cb870b)

Conflicts:
qa/run_xfstests_krbd.sh [ trivial, caused by commit
  3aae5ca6fda8 ("scripts: fix bash path in shebangs") ]

8 years agoqa/run_xfstests.sh: quit building xfstests on test nodes
Ilya Dryomov [Wed, 16 Aug 2017 09:47:19 +0000 (11:47 +0200)]
qa/run_xfstests.sh: quit building xfstests on test nodes

xfstests is a pain to build on trusty, xenial and centos7 with a single
script.  It is also very sensitive to dependencies, which again need to
be managed on all those distros -- different sets of supported commands
and switches, some versions have known bugs, etc.

Download a pre-built, statically linked tarball and use it instead.
The tarball was generated using xfstests-bld by Ted Ts'o, with a number
of tweaks by myself (mostly concerning the build environment).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 1a982fea53c30fb246c2ab28822af6a69165ffea)

8 years agoqa/run_xfstests.sh: drop *_MKFS_OPTIONS variables
Ilya Dryomov [Wed, 16 Aug 2017 09:47:19 +0000 (11:47 +0200)]
qa/run_xfstests.sh: drop *_MKFS_OPTIONS variables

AFAICT ./check doesn't query EXT4_MKFS_OPTIONS or BTRFS_MKFS_OPTIONS,
We don't need anything special for xfs, so remove all of them to avoid
confusion.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 7a0e45046d556c6624e0225ff006c31d8dbae2a8)

8 years agoqa/run_xfstests.sh: kill FS_TYPE variable
Ilya Dryomov [Wed, 16 Aug 2017 09:47:19 +0000 (11:47 +0200)]
qa/run_xfstests.sh: kill FS_TYPE variable

./check expects FSTYP, so use that throughout.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit ca99f1e8406c14e5899d393ab0bb503061c47b9b)

8 years agodoc/mgr: add "local pool" plugin to toc 17946/head
Kefu Chai [Tue, 26 Sep 2017 04:10:28 +0000 (12:10 +0800)]
doc/mgr: add "local pool" plugin to toc

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 0b831e7886daad5836ca3cb58c01c123f99a1cde)

8 years agoqa/tests: skip test that use public bucket landsat-pds from AWS
Vasu Kulkarni [Wed, 20 Sep 2017 00:09:08 +0000 (17:09 -0700)]
qa/tests: skip test that use public bucket landsat-pds from AWS

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit e11a1f773d8795dd9bd9819aaf229c6598e22ca6)

8 years agoqa/tests: update required ceph-ansbile vars
Vasu Kulkarni [Wed, 20 Sep 2017 00:06:03 +0000 (17:06 -0700)]
qa/tests: update required ceph-ansbile vars

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit 184d5e6bad46451b3a8c5787f56148566bb42f20)

8 years agoqa/tests: Fix ceph-ansible upstream vars
Vasu Kulkarni [Wed, 20 Sep 2017 00:03:46 +0000 (17:03 -0700)]
qa/tests: Fix ceph-ansible upstream vars

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit 077904a0b5dffe9d64feade94cf30ffc92f1c0e5)

8 years agoFix get_system_type failure due to invalid remote name
Vasu Kulkarni [Sun, 10 Sep 2017 19:42:16 +0000 (12:42 -0700)]
Fix get_system_type failure due to invalid remote name

recent changes caused the remote name to be invalid, fix the
arg passed to get_system_type

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
(cherry picked from commit 9fe58d5ed6bd2338271a9e003f51d80c2e440e23)