]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
6 years agolibrbd: workaround an ICE of GCC
Kefu Chai [Tue, 1 Jan 2019 07:49:05 +0000 (15:49 +0800)]
librbd: workaround an ICE of GCC

GCC is somehow annoyed at seeing the combination of decltype and
initializer_list in this place. i tried to remove the `if` clause, and
only left the `else` block, GCC was happy with that change. i also tried
to pass an empty `{}` to `decltype(reply.lockers)`, and GCC was also
happy with that. so i guess there are multiple factors taking effect in
this problem. probably any of them could be the last straw that breaks
GCC.

but we cannot have a minimal reproducer for this issue here without more
efforts. and `reply.lockers` is empty after `reply` is constructed, so
it would be simpler if we just add the locker info to it instead of
assigning a newly constructed `map` to it.

Fixes: http://tracker.ceph.com/issues/37719
Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25534 from trociny/wip-36244
Kefu Chai [Tue, 1 Jan 2019 06:12:23 +0000 (14:12 +0800)]
Merge pull request #25534 from trociny/wip-36244

mgr: fix crash due to multiple sessions from daemons with same name

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #25597 into master
Sage Weil [Tue, 1 Jan 2019 04:31:18 +0000 (22:31 -0600)]
Merge PR #25597 into master

* refs/pull/25597/head:
mgr/hello: define some module options
pybind/mgr/mgr_module: normalize defaults to str when type is missing
mgr/telegraf: specify option types
mgr/telemetry: specify option types
mgr/zabbix: specify option types
mgr/localpool: document options and specify in native types
mgr/devicehealth: document options and specify in native types
mgr/balancer: document and specify options
common/options: make runtime vs not runtime explicit, not type-dependent
mon/MgrMonitor: mark module options with FLAG_MGR
mon/MgrMonitor: make find_module_option handle localized option names
pybind/mgr/mgr_module: set values as string
mgr: return options as appropriate python type
mgr/PythonCompat: python 3 cludges
pybind/mgr/mgr_module: make use of defined default value
mgr/PyModule: populate ModuleOptions and expose to mon
mon/ConfigMonitor: unify module options with built-in options
mon/MgrMonitor: populate options
mon/MgrMap: define ModuleOptions and include in map
common/options: expand type helpers and make them static
common/options: pin enums to values

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
6 years agoMerge PR #25652 into master
Sage Weil [Tue, 1 Jan 2019 04:30:40 +0000 (22:30 -0600)]
Merge PR #25652 into master

* refs/pull/25652/head:
osd/OSDMap: disallow new upmaps on pgs that are pending merge
osd/PG: align past_intervals and last_epoch_clean for fabricated merge target

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge PR #25730 into master
Sage Weil [Tue, 1 Jan 2019 04:30:03 +0000 (22:30 -0600)]
Merge PR #25730 into master

* refs/pull/25730/head:
Revert "os/objectstore: add new op OP_CREATE for create a new object."

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #25670 into master
Sage Weil [Tue, 1 Jan 2019 04:28:47 +0000 (22:28 -0600)]
Merge PR #25670 into master

* refs/pull/25670/head:
os/bluestore: KernelDevice::read() does the EIO mapping now.

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #25408 into master
Sage Weil [Mon, 31 Dec 2018 21:24:26 +0000 (15:24 -0600)]
Merge PR #25408 into master

* refs/pull/25408/head:
mgr/hello: Make use of `HandleCommandResult`.

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25437 from Aran85/fix-objecter-reset
Kefu Chai [Mon, 31 Dec 2018 16:56:52 +0000 (00:56 +0800)]
Merge pull request #25437 from Aran85/fix-objecter-reset

objecter: avoid race when reset down osd's session

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
6 years agoMerge pull request #21138 from zouaiguo/fix_mgr_restful_osd_error
Kefu Chai [Mon, 31 Dec 2018 16:52:38 +0000 (00:52 +0800)]
Merge pull request #21138 from zouaiguo/fix_mgr_restful_osd_error

mgr/restful: fix py got exception when get osd info

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoRevert "os/objectstore: add new op OP_CREATE for create a new object."
Kefu Chai [Mon, 31 Dec 2018 15:04:20 +0000 (23:04 +0800)]
Revert "os/objectstore: add new op OP_CREATE for create a new object."

This reverts commit 22f73ba62eb1fe337622ea2aefdcd829f8def851.

Fixes: http://tracker.ceph.com/issues/37774
Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #22385 from majianpeng/touch-omit-kvdb
Kefu Chai [Mon, 31 Dec 2018 14:35:09 +0000 (22:35 +0800)]
Merge pull request #22385 from majianpeng/touch-omit-kvdb

os/objectstore: add a new op OP_CREATE.

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25653 from rhcs-dashboard/37717-update-health-test
Kefu Chai [Mon, 31 Dec 2018 14:30:13 +0000 (22:30 +0800)]
Merge pull request #25653 from rhcs-dashboard/37717-update-health-test

mgr/dashboard: updated API test

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25723 from falcon78921/wip-doc-37770
Kefu Chai [Sun, 30 Dec 2018 09:40:48 +0000 (17:40 +0800)]
Merge pull request #25723 from falcon78921/wip-doc-37770

doc: fix the formatting of HTTP Frontends documentation

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agodoc: cleanup HTTP Frontends documentation
James McClune [Sat, 29 Dec 2018 02:32:24 +0000 (21:32 -0500)]
doc: cleanup HTTP Frontends documentation

Added literal block to /etc/ceph/ceph.conf example.

Fixes: https://tracker.ceph.com/issues/37770
Signed-off-by: James McClune <jmcclune@mcclunetechnologies.net>
6 years agoMerge pull request #25702 from wjwithagen/wjw-fix-bluestore-warning
Xie Xingguo [Wed, 26 Dec 2018 00:52:57 +0000 (08:52 +0800)]
Merge pull request #25702 from wjwithagen/wjw-fix-bluestore-warning

bluestore: silence Clang warning on possible uninitialize usuage

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
6 years agoMerge PR #25591 into master
Patrick Donnelly [Tue, 25 Dec 2018 18:21:04 +0000 (10:21 -0800)]
Merge PR #25591 into master

* refs/pull/25591/head:
mds: clean up log messages for standby-replay

Reviewed-by: Zheng Yan <zyan@redhat.com>
6 years agobluestore: silence Clang warning on possible uninitialize usuage
Willem Jan Withagen [Tue, 25 Dec 2018 14:52:41 +0000 (15:52 +0100)]
bluestore: silence Clang warning on possible uninitialize usuage

```
/home/wjw/ceph.head/ceph/src/os/bluestore/BlueStore.cc:5935:15: note: initialize the variable 'reserved' to silence this warning
  int reserved;
              ^
               = 0
1 warning generated.
```

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
6 years agomgr/dashboard: updated health controller & API test
alfonsomthd [Mon, 24 Dec 2018 13:45:34 +0000 (14:45 +0100)]
mgr/dashboard: updated health controller & API test

Updated health controller & test to reflect changes introduced
in 'df' payload.

Return 'total_used_raw_bytes' instead of 'total_used_bytes'
to match CLI 'bin/rados df' used/avail summary in
Landing Page (frontend component).

Do not return 'stats_by_class' to save bandwidth as they are
not needed (right now) in the dashboard.

Fixes: https://tracker.ceph.com/issues/37717
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
6 years agoMerge pull request #25688 from wjwithagen/wjw-fix-kerberos
Kefu Chai [Mon, 24 Dec 2018 11:38:18 +0000 (19:38 +0800)]
Merge pull request #25688 from wjwithagen/wjw-fix-kerberos

install-deps.sh: Add Kerberos requirement for FreeBSD

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agobuild: Add Kerberos requirement for FreeBSD
Willem Jan Withagen [Sun, 23 Dec 2018 20:24:45 +0000 (21:24 +0100)]
build: Add Kerberos requirement for FreeBSD

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
6 years agoMerge pull request #25675 from dzafman/wip-36525
Kefu Chai [Sun, 23 Dec 2018 16:16:00 +0000 (00:16 +0800)]
Merge pull request #25675 from dzafman/wip-36525

test: Disable duplicate request command test during scrub testing

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25582 from trociny/wip-osd-perf-query-wrs
Kefu Chai [Sun, 23 Dec 2018 16:12:47 +0000 (00:12 +0800)]
Merge pull request #25582 from trociny/wip-osd-perf-query-wrs

osd: Weighted Random Sampling for dynamic perf stats

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #25584 from thinkercui/bugfix
Kefu Chai [Sun, 23 Dec 2018 14:30:58 +0000 (22:30 +0800)]
Merge pull request #25584 from thinkercui/bugfix

osd/PrimaryLogPG: fix the extent length error of the sync read

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agoMerge pull request #25626 from xiexingguo/wip-no-upmap-for-merge
Kefu Chai [Sun, 23 Dec 2018 14:28:49 +0000 (22:28 +0800)]
Merge pull request #25626 from xiexingguo/wip-no-upmap-for-merge

mgr/balancer: skip auto-balancing for pools with pending pg-merge

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25645 from sebastian-philipp/orchestrator-ansible-minor-cleanup
Kefu Chai [Sun, 23 Dec 2018 14:28:12 +0000 (22:28 +0800)]
Merge pull request #25645 from sebastian-philipp/orchestrator-ansible-minor-cleanup

mgr/ansible: Python 3 fix

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #25619 into master
Patrick Donnelly [Sun, 23 Dec 2018 04:16:13 +0000 (20:16 -0800)]
Merge PR #25619 into master

* refs/pull/25619/head:
mds: use frag_vec_t for efficient frag storage
mds: do not copy session map accidentally
mds: use vector for subtree access
include/frag: use more efficient small vectors
StackStringStream: add strv method short-cut
include: add small_vector encode/decode/<<
mds: scope using directives

Reviewed-by: Venky Shankar <vshankar@redhat.com>
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 agotest: Disable duplicate request command test during scrub testing
David Zafman [Fri, 21 Dec 2018 21:25:10 +0000 (13:25 -0800)]
test: Disable duplicate request command test during scrub testing

Scrub testing requires an orderly control of scrubbing.  Most but not
all the time, the duplicate scrub request is ignored because the first
request hasn't finished.  Teuthology enables this environment variable
in the workunit handling.

Fixes: https://tracker.ceph.com/issues/36525
Signed-off-by: David Zafman <dzafman@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
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
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 agoos/bluestore: KernelDevice::read() does the EIO mapping now.
Radoslaw Zarzynski [Fri, 21 Dec 2018 11:22:20 +0000 (12:22 +0100)]
os/bluestore: KernelDevice::read() does the EIO mapping now.

Fixes: http://tracker.ceph.com/issues/36455
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomgr/hello: define some module options
Sage Weil [Fri, 21 Dec 2018 14:55:34 +0000 (08:55 -0600)]
mgr/hello: define some module options

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agotest/librados_test_stub: handle object doesn't exist gracefully
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
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 agomgr/hello: Make use of `HandleCommandResult`.
Sebastian Wagner [Wed, 5 Dec 2018 11:41:13 +0000 (12:41 +0100)]
mgr/hello: Make use of `HandleCommandResult`.

Signed-off-by: Sebastian Wagner <sebastian.wagner@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
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 agopybind/mgr/mgr_module: normalize defaults to str when type is missing
Sage Weil [Wed, 19 Dec 2018 22:59:09 +0000 (16:59 -0600)]
pybind/mgr/mgr_module: normalize defaults to str when type is missing

If the module doesn't specify a type for the option, it is probably
an older module.  Make sure that the default value we provide is normalized
to a string, just in case the module declares something like

  {
     'name': 'my_option',
     'default': True,
  }

where the default is *not* a string, but an user-set value coming from
the config infrastructure would be a string.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/telegraf: specify option types
Sage Weil [Wed, 19 Dec 2018 22:52:33 +0000 (16:52 -0600)]
mgr/telegraf: specify option types

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/telemetry: specify option types
Sage Weil [Wed, 19 Dec 2018 22:52:23 +0000 (16:52 -0600)]
mgr/telemetry: specify option types

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/zabbix: specify option types
Sage Weil [Tue, 18 Dec 2018 20:25:09 +0000 (14:25 -0600)]
mgr/zabbix: specify option types

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/localpool: document options and specify in native types
Sage Weil [Tue, 18 Dec 2018 20:22:31 +0000 (14:22 -0600)]
mgr/localpool: document options and specify in native types

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/devicehealth: document options and specify in native types
Sage Weil [Tue, 18 Dec 2018 20:21:26 +0000 (14:21 -0600)]
mgr/devicehealth: document options and specify in native types

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/balancer: document and specify options
Sage Weil [Mon, 17 Dec 2018 20:47:06 +0000 (14:47 -0600)]
mgr/balancer: document and specify options

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/options: make runtime vs not runtime explicit, not type-dependent
Sage Weil [Wed, 19 Dec 2018 00:06:27 +0000 (18:06 -0600)]
common/options: make runtime vs not runtime explicit, not type-dependent

For built-in types, we have a kludge that non-string types all appear to
be runtime-updateable.  There's no such distinction for module options.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/MgrMonitor: mark module options with FLAG_MGR
Sage Weil [Wed, 19 Dec 2018 00:05:36 +0000 (18:05 -0600)]
mon/MgrMonitor: mark module options with FLAG_MGR

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/MgrMonitor: make find_module_option handle localized option names
Sage Weil [Wed, 19 Dec 2018 00:05:02 +0000 (18:05 -0600)]
mon/MgrMonitor: make find_module_option handle localized option names

If we get "mgr/$module/$instance/$option", normalize it to
"mgr/$module/$option" before looking it up.  That's because a
'mgr/dashboard/x/server_port' in our database is really the
'mgr/dashboard/server_port' option.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agopybind/mgr/mgr_module: set values as string
Sage Weil [Tue, 18 Dec 2018 20:19:06 +0000 (14:19 -0600)]
pybind/mgr/mgr_module: set values as string

The C++ code expects a string, and stores everything as a string, so
just pass it in that way.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr: return options as appropriate python type
Sage Weil [Tue, 18 Dec 2018 20:11:30 +0000 (14:11 -0600)]
mgr: return options as appropriate python type

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/PythonCompat: python 3 cludges
Sage Weil [Thu, 20 Dec 2018 13:07:51 +0000 (07:07 -0600)]
mgr/PythonCompat: python 3 cludges

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agopybind/mgr/mgr_module: make use of defined default value
Sage Weil [Mon, 17 Dec 2018 21:06:49 +0000 (15:06 -0600)]
pybind/mgr/mgr_module: make use of defined default value

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/OSDMap: disallow new upmaps on pgs that are pending merge
Sage Weil [Thu, 20 Dec 2018 16:03:10 +0000 (10:03 -0600)]
osd/OSDMap: disallow new upmaps on pgs that are pending merge

It's critical that we keep the source and target PGs mapped to
the same place.  Prevent new pg_upmaps on merge source or target
PGs.

Signed-off-by: Sage Weil <sage@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
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
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
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 agoosd: Weighted Random Sampling for dynamic perf stats
Mykola Golub [Sun, 16 Dec 2018 13:34:13 +0000 (13:34 +0000)]
osd: Weighted Random Sampling for dynamic perf stats

Signed-off-by: Mykola Golub <mgolub@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
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 agoosd/PG: align past_intervals and last_epoch_clean for fabricated merge target
Sage Weil [Thu, 20 Dec 2018 14:59:55 +0000 (08:59 -0600)]
osd/PG: align past_intervals and last_epoch_clean for fabricated merge target

When we are fabricating a merge target, we have to construct a
meaningful pg_history_t and PastIntervals.  We do this with
pieces of the source PG and the last_epoch_clean and
last_epoch_started values from the pg_pool_t.  This usually
works, except when

 - source and target become clean, and we decrement pg_num
 - OSD mapping changes (for source and target)
 - source repeers, but target does not
 - OSD with source only tries to merge

In this case, the source will have a past_intervals start that is
later than the last_epoch_clean implied in the pg_pool_t.

This situation is harmless because we do not allow the actual
mappings of source and target to diverge during the merge window,
so if the source's past intervals was adjusted we can still use
it.  Avoid logging errors by adjusting the start epoch backwards.

Fixes: http://tracker.ceph.com/issues/37511
Signed-off-by: Sage Weil <sage@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
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
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
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>