]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agoMerge PR #25618 into master
Sage Weil [Sat, 22 Dec 2018 22:04:55 +0000 (16:04 -0600)]
Merge PR #25618 into master

* refs/pull/25618/head:
mgr/dashboard: Updated API pool tests

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
6 years agoMerge PR #25648 into master
Patrick Donnelly [Sat, 22 Dec 2018 20:34:57 +0000 (12:34 -0800)]
Merge PR #25648 into master

* refs/pull/25648/head:
client: add latency statistics for a read/fsync operation

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #24797 into master
Patrick Donnelly [Sat, 22 Dec 2018 20:33:19 +0000 (12:33 -0800)]
Merge PR #24797 into master

* refs/pull/24797/head:
mds: handle state change race

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #23126 into master
Patrick Donnelly [Sat, 22 Dec 2018 20:27:57 +0000 (12:27 -0800)]
Merge PR #23126 into master

* refs/pull/23126/head:
wherever: guard handle_conf_change() from concurrent execution
config: drop config_proxy::lock when invoking config observer

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25636 from trociny/wip-prometheus-rbd-ns
Jason Dillaman [Sat, 22 Dec 2018 15:25:32 +0000 (10:25 -0500)]
Merge pull request #25636 from trociny/wip-prometheus-rbd-ns

pybind/mgr/prometheus: rbd stats namespace support

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #25666 from trociny/wip-instance-watcher-assert
Jason Dillaman [Sat, 22 Dec 2018 15:25:17 +0000 (10:25 -0500)]
Merge pull request #25666 from trociny/wip-instance-watcher-assert

rbd_mirror: assert no requests on destroying InstanceWatcher

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #25667 from trociny/wip-37672
Jason Dillaman [Sat, 22 Dec 2018 15:24:22 +0000 (10:24 -0500)]
Merge pull request #25667 from trociny/wip-37672

test/librados_test_stub: handle object doesn't exist gracefully

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #25671 from tchaikov/wip-seastar-pthread
Kefu Chai [Sat, 22 Dec 2018 01:51:52 +0000 (09:51 +0800)]
Merge pull request #25671 from tchaikov/wip-seastar-pthread

seastar: pickup the change to link pthread

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoMerge pull request #25608 from tchaikov/bluestore_fbsd
Kefu Chai [Sat, 22 Dec 2018 01:39:28 +0000 (09:39 +0800)]
Merge pull request #25608 from tchaikov/bluestore_fbsd

os/bluestore: support for FreeBSD

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #25536 into master
Patrick Donnelly [Sat, 22 Dec 2018 01:16:11 +0000 (17:16 -0800)]
Merge PR #25536 into master

* refs/pull/25536/head:
mds: don't wait for snapclient sync when handling reconnect
mds: extend reconnect period when mds is busy
mds: renew client session when receiving any message
mds: use mono_clock for reconnect timeout

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #25658 into master
Patrick Donnelly [Sat, 22 Dec 2018 01:13:05 +0000 (17:13 -0800)]
Merge PR #25658 into master

* refs/pull/25658/head:
MDSMonitor: allow beacons from stopping MDS that was laggy

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agodo_freebsd.sh: enable WITH_BLUESTORE 25608/head
Kefu Chai [Tue, 18 Dec 2018 14:42:42 +0000 (22:42 +0800)]
do_freebsd.sh: enable WITH_BLUESTORE

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoos/bluestore: s/event/events/
Kefu Chai [Tue, 18 Dec 2018 11:46:02 +0000 (19:46 +0800)]
os/bluestore: s/event/events/

because `events` is an array, so name it with a plural name.

Signed-off-by: Alan Somers <asomers@gmail.com>
6 years agoos/bluestore: support for FreeBSD
Alan Somers [Mon, 25 Sep 2017 20:53:14 +0000 (14:53 -0600)]
os/bluestore: support for FreeBSD

Signed-off-by: Alan Somers <asomers@gmail.com>
6 years agoos: rename aio.h to avoid conflict
Kefu Chai [Tue, 18 Dec 2018 11:31:15 +0000 (19:31 +0800)]
os: rename aio.h to avoid conflict

FreeBSD's libc offers <aio.h>.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #25620 into master
Sage Weil [Fri, 21 Dec 2018 16:12:42 +0000 (10:12 -0600)]
Merge PR #25620 into master

* refs/pull/25620/head:
os/bluestore: more robust handling for lack of per-pool stats cases.

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoseastar: pickup the change to link pthread 25671/head
Kefu Chai [Fri, 21 Dec 2018 16:06:00 +0000 (00:06 +0800)]
seastar: pickup the change to link pthread

otherwise seastar applications might fail to link on ubuntu xenial due
to unresolvable symbols like thread_setname_np()

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #25632 into master
Sage Weil [Fri, 21 Dec 2018 15:49:37 +0000 (09:49 -0600)]
Merge PR #25632 into master

* refs/pull/25632/head:
test: add a json tester
ceph_json: parser sets data on all types when parsing

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #22800 from wjwithagen/wjw-ctest-timeout
Kefu Chai [Fri, 21 Dec 2018 15:40:27 +0000 (23:40 +0800)]
Merge pull request #22800 from wjwithagen/wjw-ctest-timeout

cmake: allow setting of the CTest timeout during building.

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agotest/librados_test_stub: handle object doesn't exist gracefully 25667/head
Mykola Golub [Fri, 21 Dec 2018 11:30:09 +0000 (13:30 +0200)]
test/librados_test_stub: handle object doesn't exist gracefully

Fixes: https://tracker.ceph.com/issues/37672
Signed-off-by: Mykola Golub <mgolub@suse.com>
6 years agotest/rbd_mirror: fix typo in InstanceWatcher mock test
Mykola Golub [Fri, 21 Dec 2018 11:23:00 +0000 (13:23 +0200)]
test/rbd_mirror: fix typo in InstanceWatcher mock test

Signed-off-by: Mykola Golub <mgolub@suse.com>
6 years agorbd_mirror: assert no requests on destroying InstanceWatcher 25666/head
Mykola Golub [Fri, 21 Dec 2018 11:18:49 +0000 (13:18 +0200)]
rbd_mirror: assert no requests on destroying InstanceWatcher

Signed-off-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge pull request #25661 from joscollin/wip-doc-changing-monitors
Kefu Chai [Fri, 21 Dec 2018 06:46:48 +0000 (14:46 +0800)]
Merge pull request #25661 from joscollin/wip-doc-changing-monitors

doc: fix typo in add-or-rm-mons

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25639 from oliveiradan/wip-krb_pr25566_cleanup_oliveiradan
Kefu Chai [Fri, 21 Dec 2018 06:36:51 +0000 (14:36 +0800)]
Merge pull request #25639 from oliveiradan/wip-krb_pr25566_cleanup_oliveiradan

auth/krb: Fix Kerberos build warnings

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25537 from jecluis/dev/wip-mgr-module-error
Kefu Chai [Fri, 21 Dec 2018 06:09:40 +0000 (14:09 +0800)]
Merge pull request #25537 from jecluis/dev/wip-mgr-module-error

mgr: make module error message more descriptive

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
6 years agoMerge pull request #25595 from rzarzynski/wip-ec-drop_bl_crosstalk_dependency
Kefu Chai [Fri, 21 Dec 2018 06:06:08 +0000 (14:06 +0800)]
Merge pull request #25595 from rzarzynski/wip-ec-drop_bl_crosstalk_dependency

ec: lrc doesn't depend on crosstalks between bufferlists anymore.

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25503 from ceph/rbd-mirror-ceph-base
Kefu Chai [Fri, 21 Dec 2018 06:04:34 +0000 (14:04 +0800)]
Merge pull request #25503 from ceph/rbd-mirror-ceph-base

spec: requires ceph base instead of common

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agodoc: fix typo in add-or-rm-mons 25661/head
Jos Collin [Fri, 21 Dec 2018 05:17:04 +0000 (10:47 +0530)]
doc: fix typo in add-or-rm-mons

Signed-off-by: Jos Collin <jcollin@redhat.com>
6 years agoMerge pull request #25655 from gregsfortytwo/wip-rbd-snap-doc
Jason Dillaman [Thu, 20 Dec 2018 23:07:36 +0000 (18:07 -0500)]
Merge pull request #25655 from gregsfortytwo/wip-rbd-snap-doc

doc: Clean up the snapshot consistency note

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge PR #25577 into master
Sage Weil [Thu, 20 Dec 2018 23:02:15 +0000 (17:02 -0600)]
Merge PR #25577 into master

* refs/pull/25577/head:
test: allow ceph_kvstorebench to be build on FreeBSD

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #25508 into master
Sage Weil [Thu, 20 Dec 2018 23:01:54 +0000 (17:01 -0600)]
Merge PR #25508 into master

* refs/pull/25508/head:
kv/rocksdb_cache: Remove C style struct hack undefined behavior

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #25236 into master
Sage Weil [Thu, 20 Dec 2018 23:01:04 +0000 (17:01 -0600)]
Merge PR #25236 into master

* refs/pull/25236/head:
ceph-volume: Add venv to vstart cmake target
mgr/orchestrator: Add test orchestrator

Reviewed-by: Jeff Layton <jlayton@redhat.com>
6 years agoMDSMonitor: allow beacons from stopping MDS that was laggy 25658/head
Patrick Donnelly [Thu, 20 Dec 2018 19:42:19 +0000 (11:42 -0800)]
MDSMonitor: allow beacons from stopping MDS that was laggy

Otherwise these get continually dropped.

Reproducing this manually:

o only have 2 MDS running (to prevent failover)
o max_mds=2
o create a lot of dirs with pins on rank 1 to make stopping take a while (as of this commit)
o max_mds=1
o immediately start dropping beacon packets to the mons from rank 1 using iptables
o wait ~30 seconds until the rank shows up as laggy
o remove the iptables rule

Now debug output shows after this commit:

    2018-12-20 14:58:07.190 7fbe19f5d700  5 mon.a@0(leader).mds e148 preprocess_beacon mdsbeacon(34119/b up:stopping seq 155 v148) v7 from mds.1 127.0.0.1:6839/1223470631 compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no anchor table,9=file layout v2,10=snaprealm v2}
    2018-12-20 14:58:07.190 7fbe19f5d700 10 mon.a@0(leader).mds e148 preprocess_beacon: GID exists in map: 34119
    2018-12-20 14:58:07.190 7fbe19f5d700  5 mon.a@0(leader).mds e148 _note_beacon mdsbeacon(34119/b up:stopping seq 155 v148) v7 noting time
    2018-12-20 14:58:07.190 7fbe19f5d700  7 mon.a@0(leader).mds e148 prepare_update mdsbeacon(34119/b up:stopping seq 155 v148) v7
    2018-12-20 14:58:07.190 7fbe19f5d700 12 mon.a@0(leader).mds e148 prepare_beacon mdsbeacon(34119/b up:stopping seq 155 v148) v7 from mds.1 127.0.0.1:6839/1223470631
    2018-12-20 14:58:07.190 7fbe19f5d700 15 mon.a@0(leader).mds e148 prepare_beacon got health from gid 34119 with 0 metrics.
    2018-12-20 14:58:07.190 7fbe19f5d700  0 log_channel(cluster) log [INF] : MDS health message cleared (mds.1): 1 slow metadata IOs are blocked > 30 secs, oldest blocked for 30 secs
    2018-12-20 14:58:07.190 7fbe19f5d700  1 -- 127.0.0.1:40495/0 --> 127.0.0.1:40495/0 -- log(1 entries from seq 129 at 2018-12-20 14:58:07.192368) v1 -- 0x5de9f11a80 con 0
    2018-12-20 14:58:07.190 7fbe19f5d700  1 mon.a@0(leader).mds e148 prepare_beacon clearing laggy flag on 127.0.0.1:6839/1223470631
    2018-12-20 14:58:07.190 7fbe19f5d700  5 mon.a@0(leader).mds e148 prepare_beacon mds.1 up:stopping -> up:stopping  standby_for_rank=-1

Fixes: https://tracker.ceph.com/issues/37724
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agodoc: Clean up the snapshot consistency note 25655/head
Greg Farnum [Thu, 20 Dec 2018 18:33:38 +0000 (10:33 -0800)]
doc: Clean up the snapshot consistency note

The old note made it sound like we weren't crash-consistent, and had a
confusing section about needing to clone before mounting.
You *do* need to clone the snapshot before mounting it, but that has
nothing to do fs freezing or consistency.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
6 years agoauth/krb: Fix Kerberos build warnings 25639/head
Daniel Oliveira [Tue, 18 Dec 2018 02:17:09 +0000 (19:17 -0700)]
auth/krb: Fix Kerberos build warnings

Signed-off-by: Daniel Oliveira <doliveira@suse.com>
6 years agoMerge pull request #25207 from cyx1231st/wip-crimson-msgr-dispatch-events
Kefu Chai [Thu, 20 Dec 2018 15:51:20 +0000 (23:51 +0800)]
Merge pull request #25207 from cyx1231st/wip-crimson-msgr-dispatch-events

crimson/net: encapsulate protocol implementations with states (remaining part)

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/net: let conn directly verify the authorizer with dispatcher 25207/head
Yingxin [Thu, 20 Dec 2018 19:30:02 +0000 (03:30 +0800)]
crimson/net: let conn directly verify the authorizer with dispatcher

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agocrimson/net: remove the messenger gate
Yingxin [Wed, 21 Nov 2018 22:09:49 +0000 (06:09 +0800)]
crimson/net: remove the messenger gate

There is no need to use messenger gate if SocketConnection themselves
are properly gated.

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agocrimson/net: encapsulate protocol implementations with accept/connect
Yingxin [Wed, 21 Nov 2018 22:00:08 +0000 (06:00 +0800)]
crimson/net: encapsulate protocol implementations with accept/connect

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agocrimson/net: no open connections in accepting_conns
Yingxin [Wed, 21 Nov 2018 21:40:58 +0000 (05:40 +0800)]
crimson/net: no open connections in accepting_conns

It should an atomic operation to move the connection from
accepting_conns to connections when switch to the open state.

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agocrimson/net: don't execute_open() if exception is thrown
Yingxin [Wed, 21 Nov 2018 21:35:10 +0000 (05:35 +0800)]
crimson/net: don't execute_open() if exception is thrown

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agocrimson/net: encapsulate protocol implementations with open state
Yingxin [Wed, 21 Nov 2018 21:24:31 +0000 (05:24 +0800)]
crimson/net: encapsulate protocol implementations with open state

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agocrimson/net: remove unecessary future dependencies for accept/dispatch
Yingxin [Wed, 21 Nov 2018 21:09:20 +0000 (05:09 +0800)]
crimson/net: remove unecessary future dependencies for accept/dispatch

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agocrimson/net: dispatch events in SocketConnection
Yingxin [Wed, 21 Nov 2018 20:39:37 +0000 (04:39 +0800)]
crimson/net: dispatch events in SocketConnection

* move dispatch(), and exception handling logics in accept() and
  connect() from SocketMessenger into SocketConnection, so we can manage
  the state transition in the same class and at the same abstraction
  level.
* gate the dangling futures in SocketConnection, because the
  connection's smart_ptr won't be hold by messenger any more during
  exception handling.
* don't return close() inside SocketConnection to prevent recursive
  gating -- dead lock.

Signed-off-by: Yingxin <yingxin.cheng@intel.com>
6 years agoMerge pull request #25647 from tchaikov/wip-ftbfs-aarch64-gcc-8.1
Kefu Chai [Thu, 20 Dec 2018 15:42:38 +0000 (23:42 +0800)]
Merge pull request #25647 from tchaikov/wip-ftbfs-aarch64-gcc-8.1

test/crimson: fix FTBFS of unittest_seastar_perfcounters on arm64

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
6 years agoMerge pull request #25641 from tchaikov/cmake-rbd-tracing
Kefu Chai [Thu, 20 Dec 2018 14:16:07 +0000 (22:16 +0800)]
Merge pull request #25641 from tchaikov/cmake-rbd-tracing

cmake: let rbd_api depend on librbd-tp

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #25340 from sebastian-philipp/orchestrator-json-output
Sebastian Wagner [Thu, 20 Dec 2018 14:14:01 +0000 (15:14 +0100)]
Merge pull request #25340 from sebastian-philipp/orchestrator-json-output

mgr/orchestrator: Add JSON output to CLI commands

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
6 years agoMerge PR #25630 into master
Sage Weil [Thu, 20 Dec 2018 12:48:41 +0000 (06:48 -0600)]
Merge PR #25630 into master

* refs/pull/25630/head:
osd/OSDMap: cancel mapping if target osd is out

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #25598 into master
Sage Weil [Thu, 20 Dec 2018 12:48:24 +0000 (06:48 -0600)]
Merge PR #25598 into master

* refs/pull/25598/head:
common: avoid bl::get_current_ptr()-driven ref counting in denc.h.

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25585 from SUSE/wip-remove-cython-subinterpreter-check
Kefu Chai [Thu, 20 Dec 2018 11:30:08 +0000 (19:30 +0800)]
Merge pull request #25585 from SUSE/wip-remove-cython-subinterpreter-check

cmake,deb,rpm: remove cython 0.29's subinterpreter check, re-enable build with cython 0.29+

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoclient: add latency statistics for a read/fsync operation 25648/head
Wei Qiaomiao [Wed, 19 Dec 2018 07:15:22 +0000 (15:15 +0800)]
client: add latency statistics for a read/fsync operation

Since read and fsync are citical operation in IO performance test, it is necessary to add lantency statistics for them.

Signed-off-by: Wei Qiaomiao <wei.qiaomiao@zte.com.cn>
6 years agotest/crimson: fix FTBFS of unittest_seastar_perfcounters on arm64 25647/head
Kefu Chai [Thu, 20 Dec 2018 10:49:43 +0000 (18:49 +0800)]
test/crimson: fix FTBFS of unittest_seastar_perfcounters on arm64

this should address the GCC bug which causes following failure:

/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/test/crimson/test_perfcounters.cc:35:9:
internal compiler error: in tsubst_decomp_names, at cp/pt.c:16537
         for (const auto &[path, perf_counter_ref] : by_path) {
         ^~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoceph-volume: Add venv to vstart cmake target 25236/head
Sebastian Wagner [Mon, 10 Dec 2018 13:36:47 +0000 (14:36 +0100)]
ceph-volume: Add venv to vstart cmake target

Adds new add_custom_target `ceph-volume-venv-setup`
that creates a virtual environment, and
calls `python setup.py develop`

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
6 years agomgr/orchestrator: Add test orchestrator
Sebastian Wagner [Fri, 23 Nov 2018 13:55:15 +0000 (14:55 +0100)]
mgr/orchestrator: Add test orchestrator

1. To be able to run the cli without an external orchestrator.
2. Run the CLI in Teuthology.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
6 years agodoc/mgr/prometheus: document rbd stats options 25636/head
Mykola Golub [Wed, 19 Dec 2018 17:53:29 +0000 (17:53 +0000)]
doc/mgr/prometheus: document rbd stats options

Signed-off-by: Mykola Golub <mgolub@suse.com>
6 years agopybind/mgr/prometheus: rbd stats namespace support
Mykola Golub [Wed, 19 Dec 2018 15:42:31 +0000 (15:42 +0000)]
pybind/mgr/prometheus: rbd stats namespace support

Signed-off-by: Mykola Golub <mgolub@suse.com>
6 years agocmake: let rbd_api depend on librbd-tp 25641/head
Kefu Chai [Thu, 20 Dec 2018 04:51:37 +0000 (12:51 +0800)]
cmake: let rbd_api depend on librbd-tp

whoever includes tracing/librbd.h should depends on librbd-tp.

this fix the FTBFS of:

ceph/src/librbd/librbd.cc:50:10: fatal error: tracing/librbd.h: No such
file or directory
 #include "tracing/librbd.h"
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
src/librbd/CMakeFiles/rbd_api.dir/build.make:62: recipe for target
'src/librbd/CMakeFiles/rbd_api.dir/librbd.cc.o' failed

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #25622 into master
Sage Weil [Thu, 20 Dec 2018 03:23:26 +0000 (21:23 -0600)]
Merge PR #25622 into master

* refs/pull/25622/head:
Objecter.cc: make op resend logic more readable

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
6 years agoMerge PR #25360 into master
Sage Weil [Thu, 20 Dec 2018 03:22:35 +0000 (21:22 -0600)]
Merge PR #25360 into master

* refs/pull/25360/head:
qa/workunits/mon/pg_autoscaler: clean up pools afterwards
qa/suites/rados/singletone/all/pg-autoscaler: whitelist health warnings
qa/tasks/ceph: wait for splits/merges before final scrub
mon/OSDMonitor: be tidy with target_size_ratio and pre-nautilus code
mgr/pg_autoscaler: simplify conditions
qa/suites/rados: add simple pg-autoscaler test
qa/workunits/cephtool/test.sh: pg_autoscale_mode=off while testing pg_num etc
doc/rados/operations: document autoscaler and its health warnings
mgr/pg_autoscaler: add pg autoscaler module
pybind/mgr/mgr_util: move format_ helpers out of status module
mon/OSDMonitor: accept optional target_size_{bytes,ratio} to 'osd pool create'
mon/OSDMonitor: remove max_split_count configurable
osd/osd_types: pool_opts_t: int -> int64_t
osd/osd_types: pool_opts: fix whitespace
osd/osd_types: pool_opts_t: make encoding feature-dependent
mgr/devicehealth: pg_num_min 1 for device_health_metrics pool
mon/OSDMonitor: accept optional pg_num_min to 'osd pool create'
mon/OSDMonitor: apply osd_pool_default_pg_autoscale_mode to new pools
pybind/mgr/mgr_module: some accessors
mon/MgrMonitor: enable progress module by default
osd/osd_types: add pool pg_autoscale_mode, pg_num_min, target_size_{bytes,ratio} properties
osdc/Objecter: revise get_latest_version locking
os/memstore: ignore OP_COLL_SET_BITS
qa: generalise REQUIRE_MEMSTORE
mgr: drop GIL in get_config
mon: add 'size' arg to `osd pool create`
mon: use pg_num_target for checks during creation
mgr: revise locking in getter paths
common/options: add `mon_target_pg_per_osd`
mgr: expose OSDMap.pool_raw_used_rate

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoqa/workunits/mon/pg_autoscaler: clean up pools afterwards 25360/head
Sage Weil [Wed, 19 Dec 2018 20:36:38 +0000 (14:36 -0600)]
qa/workunits/mon/pg_autoscaler: clean up pools afterwards

This avoids a huge pg merge from 100s to 4, which takes a long time and
makes the teuthology scrub cleanup time out.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoqa/suites/rados/singletone/all/pg-autoscaler: whitelist health warnings
Sage Weil [Wed, 19 Dec 2018 13:16:27 +0000 (07:16 -0600)]
qa/suites/rados/singletone/all/pg-autoscaler: whitelist health warnings

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoqa/tasks/ceph: wait for splits/merges before final scrub
Sage Weil [Wed, 19 Dec 2018 13:14:30 +0000 (07:14 -0600)]
qa/tasks/ceph: wait for splits/merges before final scrub

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25056 from fghaas/doc-rgw-openstack
Yehuda Sadeh [Wed, 19 Dec 2018 20:28:55 +0000 (12:28 -0800)]
Merge pull request #25056 from fghaas/doc-rgw-openstack

doc: Improve OpenStack integration and multitenancy docs for radosgw

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-by: Kai Wagner <kwagner@suse.com>
Reviewed-by: Maxime Guyot <maxime@root314.com>
6 years agoMerge pull request #25610 from jtlayton/wip-orchestrator
jtlayton [Wed, 19 Dec 2018 19:11:46 +0000 (14:11 -0500)]
Merge pull request #25610 from jtlayton/wip-orchestrator

mgr/orchestrator: fix _list_services display

6 years agoMerge PR #25614 into master
Sage Weil [Wed, 19 Dec 2018 17:45:29 +0000 (11:45 -0600)]
Merge PR #25614 into master

* refs/pull/25614/head:
cls/rgw: update rgw_cls_usage_log_trim_op encode version

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoos/bluestore: more robust handling for lack of per-pool stats cases. 25620/head
Igor Fedotov [Tue, 18 Dec 2018 22:10:02 +0000 (01:10 +0300)]
os/bluestore: more robust handling for lack of per-pool stats cases.

Fixes: https://tracker.ceph.com/issues/37652
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
6 years agoImprove OpenStack integration and multitenancy docs for radosgw 25056/head
Florian Haas [Mon, 12 Nov 2018 12:49:15 +0000 (13:49 +0100)]
Improve OpenStack integration and multitenancy docs for radosgw

Add explanatory information on:

* "rgw swift account in url" (including the Swift account in the Swift
  API url and Keystone endpoint)
* "rgw swift versioning enabled" (enabling Swift object versioning)
* "rgw s3 auth use keystone" (enabling S3 authentication against
  Keystone)
* "rgw keystone implicit tenants" (multi-tenancy via Keystone, including
  its implications for the Swift and S3 APIs)

Fixes: http://tracker.ceph.com/issues/36765
Signed-off-by: Florian Haas <florian@citynetwork.eu>
6 years agoMerge pull request #25629 from tchaikov/wip-37707
Kefu Chai [Wed, 19 Dec 2018 12:46:23 +0000 (20:46 +0800)]
Merge pull request #25629 from tchaikov/wip-37707

install-deps.sh: disable centos-sclo-rh-source

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25628 from rhcs-dashboard/masthead-changes
Lenz Grimmer [Wed, 19 Dec 2018 12:30:31 +0000 (13:30 +0100)]
Merge pull request #25628 from rhcs-dashboard/masthead-changes

mgr/dashboard: Changed background color of Masthead to brand gray

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agotest: add a json tester 25632/head
Yehuda Sadeh [Wed, 19 Dec 2018 11:36:11 +0000 (03:36 -0800)]
test: add a json tester

specifically test issue #37706

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agoceph_json: parser sets data on all types when parsing
Yehuda Sadeh [Wed, 19 Dec 2018 11:15:30 +0000 (03:15 -0800)]
ceph_json: parser sets data on all types when parsing

Fixes: http://tracker.ceph.com/issues/37706
This was changed in e47a228a868, but breaks existing usage.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agomgr/orchestrator: fix _list_services display 25610/head
Jeff Layton [Wed, 19 Dec 2018 11:12:02 +0000 (06:12 -0500)]
mgr/orchestrator: fix _list_services display

I see this error when using "ceph orchestrator service ls":

Error EINVAL: Traceback (most recent call last):
  File "/usr/lib64/ceph/mgr/orchestrator_cli/module.py", line 318, in handle_command
    return self._handle_command(inbuf, cmd)
  File "/usr/lib64/ceph/mgr/orchestrator_cli/module.py", line 330, in _handle_command
    return self._list_services(cmd)
  File "/usr/lib64/ceph/mgr/orchestrator_cli/module.py", line 165, in _list_services
    s.config_location))
AttributeError: 'ServiceDescription' object has no attribute 'config_location'

The config_locations field should be rados_config_location.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
6 years agoosd/OSDMap: cancel mapping if target osd is out 25630/head
xie xingguo [Wed, 19 Dec 2018 09:01:23 +0000 (17:01 +0800)]
osd/OSDMap: cancel mapping if target osd is out

Suppose we have a bad pg_upmap_item, say:
```
pg_upmap_items 2.0 [0,8,5,4,6,12]
```
which maps osd.6 to osd.12 that is currently marked as out.

It turns out **maybe_remove_pg_upmaps** can not handle the
above case well because **_apply_upmap** will silently discard
any bad mappings whenver they try to target at some current
__out__ OSDs. So if you call **pg_to_raw_up(2.0)**, you'll probably
get something like: ```up [8,4,6] ``` (e.g., the last mapping pair 6->12
is simply ignored by **_apply_upmap**).

Make **clean_pg_upmaps** do the tidy-up check instead, since it
already has __bare__ access to those pg_upmaps and pg_upmap_items.

Fixes: http://tracker.ceph.com/issues/37501
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Signed-off-by: ningtao <ningtao@sangfor.com.cn>
6 years agoinstall-deps.sh: skip unavailable repos 25629/head
Kefu Chai [Wed, 19 Dec 2018 08:37:55 +0000 (16:37 +0800)]
install-deps.sh: skip unavailable repos

as centos-sclo-rh-source leads us to 404 at this moment. and we are not
using the source repo for building ceph. so we can just skip any
unavailable repo.

Fixes: http://tracker.ceph.com/issues/37707
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
6 years agomgr/dashboard: Changed background color of Masthead to brand gray 25628/head
Neha Gupta [Wed, 19 Dec 2018 08:21:00 +0000 (17:21 +0900)]
mgr/dashboard: Changed background color of Masthead to brand gray

Fixes: http://tracker.ceph.com/issues/35690
Signed-off-by: Neha Gupta <gnehapk@gmail.com>
6 years agomon/OSDMonitor: be tidy with target_size_ratio and pre-nautilus code
Sage Weil [Wed, 19 Dec 2018 03:41:09 +0000 (21:41 -0600)]
mon/OSDMonitor: be tidy with target_size_ratio and pre-nautilus code

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoObjecter.cc: make op resend logic more readable 25622/head
Song Shun [Wed, 19 Dec 2018 02:55:43 +0000 (10:55 +0800)]
Objecter.cc: make op resend logic more readable

  make op resend logic more readable
  according to discussion at https://github.com/ceph/ceph/pull/25243

Signed-off-by: Song Shun <song.shun3@zte.com.cn>
6 years agomgr/pg_autoscaler: simplify conditions
Sage Weil [Tue, 18 Dec 2018 22:22:39 +0000 (16:22 -0600)]
mgr/pg_autoscaler: simplify conditions

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #25470 into master
Sage Weil [Tue, 18 Dec 2018 22:21:27 +0000 (16:21 -0600)]
Merge PR #25470 into master

* refs/pull/25470/head:
mon: CephBool -> CephChoices in command map for pre-nautilus mons
mon/MonCommand: populate 'availability' field for compat

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
6 years agoqa/suites/rados: add simple pg-autoscaler test
Sage Weil [Fri, 7 Dec 2018 23:46:59 +0000 (17:46 -0600)]
qa/suites/rados: add simple pg-autoscaler test

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoqa/workunits/cephtool/test.sh: pg_autoscale_mode=off while testing pg_num etc
Sage Weil [Thu, 6 Dec 2018 19:49:04 +0000 (13:49 -0600)]
qa/workunits/cephtool/test.sh: pg_autoscale_mode=off while testing pg_num etc

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agodoc/rados/operations: document autoscaler and its health warnings
Sage Weil [Sun, 2 Dec 2018 22:43:43 +0000 (16:43 -0600)]
doc/rados/operations: document autoscaler and its health warnings

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/pg_autoscaler: add pg autoscaler module
Sage Weil [Mon, 3 Dec 2018 22:11:59 +0000 (16:11 -0600)]
mgr/pg_autoscaler: add pg autoscaler module

Suggest or make changes to pool pg_num based on either current
utilization or administrator-provided target_size_{bytes,ratio}
expected utilization.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agopybind/mgr/mgr_util: move format_ helpers out of status module
Sage Weil [Fri, 30 Nov 2018 14:28:21 +0000 (08:28 -0600)]
pybind/mgr/mgr_util: move format_ helpers out of status module

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: accept optional target_size_{bytes,ratio} to 'osd pool create'
Sage Weil [Wed, 28 Nov 2018 22:55:49 +0000 (16:55 -0600)]
mon/OSDMonitor: accept optional target_size_{bytes,ratio} to 'osd pool create'

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: remove max_split_count configurable
Sage Weil [Wed, 28 Nov 2018 22:55:07 +0000 (16:55 -0600)]
mon/OSDMonitor: remove max_split_count configurable

This isn't really relevant or useful now that the mgr is throttling the
actual pg_num adjustment based on pg_num_target, % misplaced, etc.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/osd_types: pool_opts_t: int -> int64_t
Sage Weil [Wed, 28 Nov 2018 22:27:14 +0000 (16:27 -0600)]
osd/osd_types: pool_opts_t: int -> int64_t

Encode int32_t for pre-nautilus maps.

Fix up accessors.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/osd_types: pool_opts: fix whitespace
Sage Weil [Wed, 28 Nov 2018 22:15:06 +0000 (16:15 -0600)]
osd/osd_types: pool_opts: fix whitespace

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/osd_types: pool_opts_t: make encoding feature-dependent
Sage Weil [Wed, 28 Nov 2018 22:11:25 +0000 (16:11 -0600)]
osd/osd_types: pool_opts_t: make encoding feature-dependent

No functional change (yet).

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/devicehealth: pg_num_min 1 for device_health_metrics pool
Sage Weil [Wed, 28 Nov 2018 21:29:18 +0000 (15:29 -0600)]
mgr/devicehealth: pg_num_min 1 for device_health_metrics pool

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: accept optional pg_num_min to 'osd pool create'
Sage Weil [Wed, 28 Nov 2018 21:28:56 +0000 (15:28 -0600)]
mon/OSDMonitor: accept optional pg_num_min to 'osd pool create'

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: apply osd_pool_default_pg_autoscale_mode to new pools
Sage Weil [Wed, 28 Nov 2018 21:09:22 +0000 (15:09 -0600)]
mon/OSDMonitor: apply osd_pool_default_pg_autoscale_mode to new pools

Default to 'warn' for now.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agopybind/mgr/mgr_module: some accessors
John Spray [Wed, 28 Feb 2018 14:58:30 +0000 (14:58 +0000)]
pybind/mgr/mgr_module: some accessors

Signed-off-by: John Spray <john.spray@redhat.com>
6 years agomon/MgrMonitor: enable progress module by default
Sage Weil [Tue, 27 Nov 2018 19:31:44 +0000 (13:31 -0600)]
mon/MgrMonitor: enable progress module by default

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/osd_types: add pool pg_autoscale_mode, pg_num_min, target_size_{bytes,ratio}...
Sage Weil [Mon, 26 Nov 2018 23:32:55 +0000 (17:32 -0600)]
osd/osd_types: add pool pg_autoscale_mode, pg_num_min, target_size_{bytes,ratio} properties

These will direct PG autoscaling.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosdc/Objecter: revise get_latest_version locking
John Spray [Wed, 14 Nov 2018 19:14:07 +0000 (14:14 -0500)]
osdc/Objecter: revise get_latest_version locking

Avoid holding Objecter lock while calling back
into completion.

Signed-off-by: John Spray <john.spray@redhat.com>
6 years agoos/memstore: ignore OP_COLL_SET_BITS
John Spray [Wed, 14 Nov 2018 19:13:39 +0000 (14:13 -0500)]
os/memstore: ignore OP_COLL_SET_BITS

...rather than crashing out on it.

Signed-off-by: John Spray <john.spray@redhat.com>
6 years agoqa: generalise REQUIRE_MEMSTORE
John Spray [Wed, 14 Nov 2018 14:10:56 +0000 (09:10 -0500)]
qa: generalise REQUIRE_MEMSTORE

Move it up into CephTestCase so that mgr tests can
use it too, and pick it up in vstart_runner.py so
that these tests will work neatly there.

Signed-off-by: John Spray <john.spray@redhat.com>
6 years agomgr: drop GIL in get_config
John Spray [Wed, 14 Nov 2018 11:19:14 +0000 (06:19 -0500)]
mgr: drop GIL in get_config

Signed-off-by: John Spray <john.spray@redhat.com>
6 years agomon: add 'size' arg to `osd pool create`
Sage Weil [Mon, 26 Nov 2018 20:55:06 +0000 (14:55 -0600)]
mon: add 'size' arg to `osd pool create`

Take advantage of keyword arguments to extend
what we can do in a single command during pool creation.

Signed-off-by: John Spray <john.spray@redhat.com>