]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agocrimson/os/heartbeat: make Heartbeat::send_failures() safe 34017/head
Xuehan Xu [Wed, 18 Mar 2020 02:32:02 +0000 (10:32 +0800)]
crimson/os/heartbeat: make Heartbeat::send_failures() safe

Currently, Heartbeat::send_failures() invokes monc.send_message() in a
continuation which may be run asynchronously, risking involving a daggling
"monc" reference when OSD shuts down and MonClient is destroyed.

Signed-off-by: Xuehan Xu <xxhdx1985126@163.com>
5 years agocrimson/os/heartbeat: report peer failure to monitors 33836/head
Xuehan Xu [Sun, 8 Mar 2020 05:59:32 +0000 (13:59 +0800)]
crimson/os/heartbeat: report peer failure to monitors

Signed-off-by: Xuehan Xu <xxhdx1985126@163.com>
5 years agoMerge pull request #33887 from rhcs-dashboard/39714-decimal-places
Lenz Grimmer [Thu, 12 Mar 2020 16:26:20 +0000 (17:26 +0100)]
Merge pull request #33887 from rhcs-dashboard/39714-decimal-places

mgr/dashboard: Pool read/write OPS shows too many decimal places

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #33906 from tchaikov/wip-no-req-for-python2
Kefu Chai [Thu, 12 Mar 2020 14:46:25 +0000 (22:46 +0800)]
Merge pull request #33906 from tchaikov/wip-no-req-for-python2

mgr,python-common: drop modules for python2 in requirements.txt

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
5 years agoMerge pull request #33842 from s1eke/master
Kefu Chai [Thu, 12 Mar 2020 11:06:20 +0000 (19:06 +0800)]
Merge pull request #33842 from s1eke/master

doc: Fix link errors

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agodoc: Fix three link errors about mount cephfs 33842/head
Sean Fang [Tue, 10 Mar 2020 09:05:14 +0000 (17:05 +0800)]
doc: Fix three link errors about mount cephfs

Some links about mount cephfs did not jump to the right place.

Signed-off-by: Sean Fang <silence.boy@live.cn>
5 years agomgr,python-common: drop modules for python2 in requirements.txt 33906/head
Kefu Chai [Thu, 12 Mar 2020 06:47:15 +0000 (14:47 +0800)]
mgr,python-common: drop modules for python2 in requirements.txt

we don't support python2 anymore, so no need to install them for
python2 anymore.

also, this helps to silence the messages from pip like

```
Ignoring pytest: markers 'python_version < "3.5"' don't match your environment
Ignoring mock: markers 'python_version < "3.3"' don't match your environment
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #32675 from rosinL/openssl-evp
Kefu Chai [Thu, 12 Mar 2020 03:12:47 +0000 (11:12 +0800)]
Merge pull request #32675 from rosinL/openssl-evp

crypto/openssl: update to use evp functions

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #33885 into master
Sage Weil [Wed, 11 Mar 2020 22:38:59 +0000 (17:38 -0500)]
Merge PR #33885 into master

* refs/pull/33885/head:
Merge pull request #33848 from mchangir/octopus-tests-remove-suprious-whitespace
Merge PR #33746 into octopus
Merge PR #33830 into octopus
Merge PR #33732 into octopus
Merge PR #33620 into octopus
Merge pull request #33876 from tchaikov/octopus-cephadm-mypy
cephadm: add "assert foo is not None" for mypy check
Merge pull request #33067 from tspmelo/wip-rbd-delete-with-snapshot
cephadm: add grafana adopt
Merge PR #33771 into octopus
Merge PR #33850 into octopus
Merge PR #33853 into octopus
Merge PR #33857 into octopus
Merge PR #32990 into octopus
Merge PR #33713 into octopus
Merge PR #33838 into octopus
qa/tasks/cephadm: no default mon|mgr|crash service specs
qa/suites/rados/cephadm/upgrade: upgrade start point that supports the no-spec option
Merge PR #33832 into octopus
cephadm: bootstrap: wait for mgr to restart after enabling a module
mgr: add 'mgr_status' tell command
Merge pull request #33839 from rhcs-dashboard/44538-fix-rgw-grafana-get-put-latencies
Merge pull request #33743 from votdev/issue_43869_fix_qa_test
cephadm: create initial mon and mgr service specs too
cephadm: no need to pregenerate a crash key for the bootstrap host
mgr/cephadm: do not complain when we don't have enough hosts
mgr/cephadm: remove orphan daemons
mgr/cephadm: report size=0 for fabricated ServiceDescription
mgr/cephadm: safety check to prevent removing all mon|mgr daemons
mgr/cephadm: prevent scaling mon|mgr below count=1
mgr/cephadm: do not remove daemons from remove_service
Merge pull request #33805 from tchaikov/wip-44500
spec: Podman (temporarily) requires apparmor-abstractions on suse
mgr/cephadm: Make sure we don't co-locate the same daemon
monitoring: fix RGW grafana chart 'Average GET/PUT Latencies'
tests: remove spurious whitespace
mgr/cephadm: fix service list filtering
Merge PR #33825 into octopus
Merge PR #33811 into octopus
Revert "Merge pull request #33673 from cbodley/wip-denc-enum"
mgr/cephadm: fix upgrade order
Merge PR #33801 into octopus
Merge PR #33822 into octopus
cephadm: bootstrap: tolerate error return from -h
Merge PR #33809 into octopus
Merge PR #32678 into octopus
cephadm: use `sh` instead of `bash` during enter
ceph.in: only shut down rados on clean exit
common/ceph_timer: Pass reference to waited time on stack
common/ceph_timer: Add test
common/ceph_timer: Use unique_function, allowing noncopyable events
common/ceph_timer: Couple cleanups
common/ceph_timer: Fix namespaces
common/ceph_timer: Add missing includes
common/ceph_timer.h: Don't indent contents of a namespace
mgr/dashboard: Crush rule modal
mgr/dashboard: Preserve rule selection on pool type change
mgr/dashboard: Crush rule is only send during replicated pool creation
mgr/dashboard: Explicit returns in pool form
mgr/dashboard: Removes fork join in pool form
mgr/dashboard: Hide ECP actions during ec pool edit
mgr/dashboard: Pool form erasure/replicated boolean
mgr/dashboard: Change pool info API endpoint
mgr/dashboard: Moves ECP info endpoint to UI-API
mgr/cephadm: add _remove_osds_bg back to main loop
mgr/cephadm/osd: update removal report immediately
qa/tasks/ceph_manager: use StringIO for capturing COT output
qa/standalone/scrub/osd-scrub-repair: force osdmap prop to osds
qa/standalone/scrub/osd-scrub-test: wait longer for update
qa/tasks/ceph_manager: capture stderr for COT
qa/suites/rados/ceph: drop opensuse for now
mon/MonClient: send logs to mon on separate schedule than pings
mgr/dashboard: Fix missing ImageSpec usage
mgr/dashboard: Allow removing RBD with snapshots
mgr/dashboard: Refactor and cleanup tasks.mgr.dashboard.test_user
mgr/dashboard: support multiple DriveGroups when creating OSDs
mon/MonClient: send logs to mon even if we have no keelalive2
cephadm: flag dashboard user to change password

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agoMerge pull request #33848 from mchangir/octopus-tests-remove-suprious-whitespace 33885/head
Gregory Farnum [Wed, 11 Mar 2020 18:03:49 +0000 (11:03 -0700)]
Merge pull request #33848 from mchangir/octopus-tests-remove-suprious-whitespace

tests: remove spurious whitespace

5 years agoMerge pull request #33888 from tchaikov/doc-libcephfs-link
Kefu Chai [Wed, 11 Mar 2020 15:36:18 +0000 (23:36 +0800)]
Merge pull request #33888 from tchaikov/doc-libcephfs-link

admin/build-doc: enable python module to import cephfs

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
5 years agoMerge pull request #32262 from kshtsk/wip-ceph-py-py3
Kefu Chai [Wed, 11 Mar 2020 15:22:04 +0000 (23:22 +0800)]
Merge pull request #32262 from kshtsk/wip-ceph-py-py3

qa/tasks: py3 compat

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoadmin/build-doc: use "ceph" for prefix of functions defined by libcephfs 33888/head
Kefu Chai [Wed, 11 Mar 2020 14:41:29 +0000 (22:41 +0800)]
admin/build-doc: use "ceph" for prefix of functions defined by libcephfs

if some python module tries to `import cephfs`, it should not fail.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoadmin/build-doc: pass -rpath to linker
Kefu Chai [Wed, 11 Mar 2020 14:39:59 +0000 (22:39 +0800)]
admin/build-doc: pass -rpath to linker

to make sure the dummy cythonized python binding is able to find the dummy C binding.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #33746 into octopus
Sage Weil [Wed, 11 Mar 2020 14:41:28 +0000 (09:41 -0500)]
Merge PR #33746 into octopus

* refs/pull/33746/head:
cephadm: add grafana adopt

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agomgr/dashboard: Pool read/write OPS shows too many decimal places 33887/head
anurag [Wed, 11 Mar 2020 14:17:05 +0000 (19:47 +0530)]
mgr/dashboard: Pool read/write OPS shows too many decimal places
Fixes: https://tracker.ceph.com/issues/39714
Signed-off-by: anurag <anurag@localhost.localdomain>
5 years agoMerge PR #33830 into octopus
Sage Weil [Wed, 11 Mar 2020 13:55:51 +0000 (08:55 -0500)]
Merge PR #33830 into octopus

* refs/pull/33830/head:
qa/tasks/cephadm: no default mon|mgr|crash service specs
qa/suites/rados/cephadm/upgrade: upgrade start point that supports the no-spec option
cephadm: create initial mon and mgr service specs too
cephadm: no need to pregenerate a crash key for the bootstrap host
mgr/cephadm: do not complain when we don't have enough hosts
mgr/cephadm: remove orphan daemons
mgr/cephadm: report size=0 for fabricated ServiceDescription
mgr/cephadm: safety check to prevent removing all mon|mgr daemons
mgr/cephadm: prevent scaling mon|mgr below count=1
mgr/cephadm: do not remove daemons from remove_service

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agoMerge pull request #33862 from rhcs-dashboard/norebalance_flag_dashboard
Lenz Grimmer [Wed, 11 Mar 2020 13:53:35 +0000 (14:53 +0100)]
Merge pull request #33862 from rhcs-dashboard/norebalance_flag_dashboard

mgr/dashboard: NoRebalance flag is added to the Dashboard

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
5 years agoMerge PR #33732 into octopus
Sage Weil [Wed, 11 Mar 2020 12:17:40 +0000 (07:17 -0500)]
Merge PR #33732 into octopus

* refs/pull/33732/head:
mon/MonClient: send logs to mon on separate schedule than pings
mon/MonClient: send logs to mon even if we have no keelalive2

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #33620 into octopus
Sage Weil [Wed, 11 Mar 2020 12:12:11 +0000 (07:12 -0500)]
Merge PR #33620 into octopus

* refs/pull/33620/head:
mgr/dashboard: Crush rule modal
mgr/dashboard: Preserve rule selection on pool type change
mgr/dashboard: Crush rule is only send during replicated pool creation
mgr/dashboard: Explicit returns in pool form
mgr/dashboard: Removes fork join in pool form
mgr/dashboard: Hide ECP actions during ec pool edit
mgr/dashboard: Pool form erasure/replicated boolean
mgr/dashboard: Change pool info API endpoint
mgr/dashboard: Moves ECP info endpoint to UI-API

Reviewed-by: Tiago Melo <tmelo@suse.com>
5 years agoMerge pull request #33876 from tchaikov/octopus-cephadm-mypy
Kefu Chai [Wed, 11 Mar 2020 11:17:25 +0000 (19:17 +0800)]
Merge pull request #33876 from tchaikov/octopus-cephadm-mypy

cephadm: add "assert foo is not None" for mypy check

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agocephadm: add "assert foo is not None" for mypy check 33876/head
Kefu Chai [Wed, 11 Mar 2020 08:08:51 +0000 (16:08 +0800)]
cephadm: add "assert foo is not None" for mypy check

it's legit to pass file objects to fcntl(), but `Popen.stdout` and
`Popen.stderr` properies are not necessarily file objects -- they could be None.
this cannot be deduced at compile-time. even we can ensure this,
as we do pass `subprocess.PIPE` to the constructor. so mypy just
complains at seeing this:

```
cephadm:429: error: Argument 1 to "fcntl" has incompatible type "Optional[IO[Any]]"; expected "Union[int, HasFileno]"
cephadm:430: error: Argument 1 to "fcntl" has incompatible type "Optional[IO[Any]]"; expected "Union[int, HasFileno]"
cephadm:431: error: Argument 1 to "fcntl" has incompatible type "Optional[IO[Any]]"; expected "Union[int, HasFileno]"
cephadm:432: error: Argument 1 to "fcntl" has incompatible type "Optional[IO[Any]]"; expected "Union[int, HasFileno]"
cephadm:455: error: Item "None" of "Optional[IO[Any]]" has no attribute "fileno"
cephadm:465: error: Item "None" of "Optional[IO[Any]]" has no attribute "fileno"
cephadm:475: error: Item "None" of "Optional[IO[Any]]" has no attribute "fileno"
```

to silence this warning, insert `assert process.stdout is not None`
before accessing `process.stdout` to appease the strict optional
checking of mypy.

this is a follow-up fix of ee3fe37158422902162257c123ea234da999c961

Fixes: https://tracker.ceph.com/issues/44557
Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #33067 from tspmelo/wip-rbd-delete-with-snapshot
Lenz Grimmer [Wed, 11 Mar 2020 09:56:01 +0000 (10:56 +0100)]
Merge pull request #33067 from tspmelo/wip-rbd-delete-with-snapshot

mgr/dashboard: Allow deletion of RBD with snapshots

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
5 years agoMerge pull request #33844 from tchaikov/wip-crimson-mgr-reconnect
Kefu Chai [Wed, 11 Mar 2020 06:30:03 +0000 (14:30 +0800)]
Merge pull request #33844 from tchaikov/wip-crimson-mgr-reconnect

crimson/mgr: reconnect in ms_handle_reset()

Reviewed-by: Xuehan Xu <xxhdx1985126@163.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
5 years agoMerge pull request #33849 from tchaikov/wip-crimson-fmt-time-point
Kefu Chai [Wed, 11 Mar 2020 02:06:30 +0000 (10:06 +0800)]
Merge pull request #33849 from tchaikov/wip-crimson-fmt-time-point

crimson: extract formatter for time_point types

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
5 years agocephadm: add grafana adopt 33746/head
Eric Jackson [Wed, 4 Mar 2020 22:39:28 +0000 (17:39 -0500)]
cephadm: add grafana adopt

Handle grafana.ini, provisioning config and cert.

Signed-off-by: Eric Jackson <swiftgist@gmail.com>
5 years agoMerge PR #33771 into octopus
Sage Weil [Tue, 10 Mar 2020 22:20:48 +0000 (17:20 -0500)]
Merge PR #33771 into octopus

* refs/pull/33771/head:
common/ceph_timer: Pass reference to waited time on stack
common/ceph_timer: Add test
common/ceph_timer: Use unique_function, allowing noncopyable events
common/ceph_timer: Couple cleanups
common/ceph_timer: Fix namespaces
common/ceph_timer: Add missing includes
common/ceph_timer.h: Don't indent contents of a namespace

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #33850 into octopus
Sage Weil [Tue, 10 Mar 2020 22:20:11 +0000 (17:20 -0500)]
Merge PR #33850 into octopus

* refs/pull/33850/head:
spec: Podman (temporarily) requires apparmor-abstractions on suse

Reviewed-by: Sascha Grunert <sgrunert@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Patrick Seidensal <pseidensal@suse.com>
5 years agoMerge PR #33853 into octopus
Sage Weil [Tue, 10 Mar 2020 22:19:20 +0000 (17:19 -0500)]
Merge PR #33853 into octopus

* refs/pull/33853/head:
mgr/cephadm: Make sure we don't co-locate the same daemon

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #33857 into octopus
Sage Weil [Tue, 10 Mar 2020 22:18:47 +0000 (17:18 -0500)]
Merge PR #33857 into octopus

* refs/pull/33857/head:
cephadm: bootstrap: wait for mgr to restart after enabling a module
mgr: add 'mgr_status' tell command

Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agoMerge PR #32990 into octopus
Sage Weil [Tue, 10 Mar 2020 21:28:02 +0000 (16:28 -0500)]
Merge PR #32990 into octopus

* refs/pull/32990/head:
cephadm: flag dashboard user to change password

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
5 years agoMerge PR #33713 into octopus
Sage Weil [Tue, 10 Mar 2020 21:27:48 +0000 (16:27 -0500)]
Merge PR #33713 into octopus

* refs/pull/33713/head:
mgr/cephadm: add _remove_osds_bg back to main loop
mgr/cephadm/osd: update removal report immediately

Reviewed-by: Joshua Schmid <jschmid@suse.de>
5 years agoMerge PR #33838 into octopus
Sage Weil [Tue, 10 Mar 2020 21:26:57 +0000 (16:26 -0500)]
Merge PR #33838 into octopus

* refs/pull/33838/head:
mgr/cephadm: fix service list filtering

Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoqa/tasks/cephadm: no default mon|mgr|crash service specs 33830/head
Sage Weil [Mon, 9 Mar 2020 18:45:10 +0000 (13:45 -0500)]
qa/tasks/cephadm: no default mon|mgr|crash service specs

The service wants to create daemons manually and explicitly.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/suites/rados/cephadm/upgrade: upgrade start point that supports the no-spec option
Sage Weil [Mon, 9 Mar 2020 21:22:28 +0000 (16:22 -0500)]
qa/suites/rados/cephadm/upgrade: upgrade start point that supports the no-spec option

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #32963 from Dmole/patch-1
Gregory Farnum [Tue, 10 Mar 2020 18:04:59 +0000 (11:04 -0700)]
Merge pull request #32963 from Dmole/patch-1

doc: operating.rst clean up

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
5 years agoMerge pull request #33582 from rzarzynski/wip-doc-fix-confignames-log_based_pg
Radoslaw Zarzynski [Tue, 10 Mar 2020 17:48:17 +0000 (18:48 +0100)]
Merge pull request #33582 from rzarzynski/wip-doc-fix-confignames-log_based_pg

doc/dev/log_based_pg.rst: fix names of configurables.

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agomgr/dashboard: NoRebalance flag is added to the Dashboard 33862/head
Nizamudeen [Tue, 10 Mar 2020 16:32:41 +0000 (22:02 +0530)]
mgr/dashboard: NoRebalance flag is added to the Dashboard

This commit will add a norebalance flag into the Cluster-wide Flags in the OSDs which can be set/unset.
Fixes: https://tracker.ceph.com/issues/44543
Signed-off-by: Nizamudeen <nia@redhat.com>
5 years agocrimson: extract formatter for time_point types 33849/head
Kefu Chai [Tue, 10 Mar 2020 11:41:19 +0000 (19:41 +0800)]
crimson: extract formatter for time_point types

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #33832 into octopus
Sage Weil [Tue, 10 Mar 2020 16:07:36 +0000 (11:07 -0500)]
Merge PR #33832 into octopus

* refs/pull/33832/head:
Revert "Merge pull request #33673 from cbodley/wip-denc-enum"

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agocephadm: bootstrap: wait for mgr to restart after enabling a module 33857/head
Sage Weil [Tue, 10 Mar 2020 14:28:57 +0000 (09:28 -0500)]
cephadm: bootstrap: wait for mgr to restart after enabling a module

It was possible to enable a module (mon updates mgrmap) and then
do a mgr command and have that command reach the mgr before it got the
latest mgrmap and restarted.

Fixes: https://tracker.ceph.com/issues/44531
Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr: add 'mgr_status' tell command
Sage Weil [Tue, 10 Mar 2020 14:26:22 +0000 (09:26 -0500)]
mgr: add 'mgr_status' tell command

For now just dump the mgrmap_epoch

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #33839 from rhcs-dashboard/44538-fix-rgw-grafana-get-put-latencies
Lenz Grimmer [Tue, 10 Mar 2020 14:29:58 +0000 (15:29 +0100)]
Merge pull request #33839 from rhcs-dashboard/44538-fix-rgw-grafana-get-put-latencies

monitoring: fix RGW grafana chart 'Average GET/PUT Latencies'

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
5 years agoMerge pull request #33778 from smithfarm/wip-drop-is_opensuse
Nathan Cutler [Tue, 10 Mar 2020 14:25:57 +0000 (15:25 +0100)]
Merge pull request #33778 from smithfarm/wip-drop-is_opensuse

rpm: drop "is_opensuse" conditional in SUSE-specific bcond block

Reviewed-by: Tim Serong <tserong@suse.com>
5 years agoMerge pull request #33743 from votdev/issue_43869_fix_qa_test
Lenz Grimmer [Tue, 10 Mar 2020 14:25:50 +0000 (15:25 +0100)]
Merge pull request #33743 from votdev/issue_43869_fix_qa_test

mgr/dashboard: Refactor and cleanup tasks.mgr.dashboard.test_user

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
5 years agocephadm: create initial mon and mgr service specs too
Sage Weil [Mon, 9 Mar 2020 18:41:56 +0000 (13:41 -0500)]
cephadm: create initial mon and mgr service specs too

These will get the default placement.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocephadm: no need to pregenerate a crash key for the bootstrap host
Sage Weil [Mon, 9 Mar 2020 18:40:22 +0000 (13:40 -0500)]
cephadm: no need to pregenerate a crash key for the bootstrap host

mgr/cephadm can do this later when it deploys the crash daemon(s).

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/cephadm: do not complain when we don't have enough hosts
Sage Weil [Mon, 9 Mar 2020 18:39:04 +0000 (13:39 -0500)]
mgr/cephadm: do not complain when we don't have enough hosts

This gets rid of INFO level log events like

2020-03-09T13:37:20.980993-0500 mgr.x [WRN] Failed to apply mds.foo spec ServiceSpec({'placement': PlacementSpec(count:2), 'service_type': 'mds', 'service_id': 'foo'}): List of host candidates is empty

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/cephadm: remove orphan daemons
Sage Weil [Mon, 9 Mar 2020 18:36:59 +0000 (13:36 -0500)]
mgr/cephadm: remove orphan daemons

...as long as they're not mon|mgr|osd.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/cephadm: report size=0 for fabricated ServiceDescription
Sage Weil [Mon, 9 Mar 2020 18:36:42 +0000 (13:36 -0500)]
mgr/cephadm: report size=0 for fabricated ServiceDescription

When we fabricate a ServiceDescription for an orphan daemon, set the
size == 0.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/cephadm: safety check to prevent removing all mon|mgr daemons
Sage Weil [Mon, 9 Mar 2020 18:21:20 +0000 (13:21 -0500)]
mgr/cephadm: safety check to prevent removing all mon|mgr daemons

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/cephadm: prevent scaling mon|mgr below count=1
Sage Weil [Mon, 9 Mar 2020 18:18:19 +0000 (13:18 -0500)]
mgr/cephadm: prevent scaling mon|mgr below count=1

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agomgr/cephadm: do not remove daemons from remove_service
Sage Weil [Mon, 9 Mar 2020 18:15:49 +0000 (13:15 -0500)]
mgr/cephadm: do not remove daemons from remove_service

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #33805 from tchaikov/wip-44500
Kefu Chai [Tue, 10 Mar 2020 13:26:29 +0000 (21:26 +0800)]
Merge pull request #33805 from tchaikov/wip-44500

qa/tasks/ceph_manager: capture stderr for COT

Reviewed-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agocrimson/mgr: reconnect in ms_handle_reset() 33844/head
Kefu Chai [Tue, 10 Mar 2020 10:42:38 +0000 (18:42 +0800)]
crimson/mgr: reconnect in ms_handle_reset()

since `reconnect()` does not wait for `conn->close()` anymore, we
can actually call `reconnect()` right in `ms_handle_reset()`.

also, to avoid connecting mgr too frequently, connect the mgr with
specified interval (1 second by default).

send the MMgrOpen message in `ms_handle_connect()` to make it explicit
that we sends this message when the connection is established.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agocrimson/mgr: s/tick/report/
Kefu Chai [Tue, 10 Mar 2020 10:37:58 +0000 (18:37 +0800)]
crimson/mgr: s/tick/report/

prepare for the change to reconnect right when handling connection reset

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agospec: Podman (temporarily) requires apparmor-abstractions on suse 33850/head
Sebastian Wagner [Tue, 10 Mar 2020 11:51:25 +0000 (12:51 +0100)]
spec: Podman (temporarily) requires apparmor-abstractions on suse

`apparmor-abstractions` contains a profile that is required to run podman containers.

Fixes: https://tracker.ceph.com/issues/44272
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agomgr/cephadm: Make sure we don't co-locate the same daemon 33853/head
Sebastian Wagner [Tue, 10 Mar 2020 12:54:08 +0000 (13:54 +0100)]
mgr/cephadm: Make sure we don't co-locate the same daemon

Fixes: https://tracker.ceph.com/issues/44397
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agomonitoring: fix RGW grafana chart 'Average GET/PUT Latencies' 33839/head
Alfonso Martínez [Tue, 10 Mar 2020 11:05:26 +0000 (12:05 +0100)]
monitoring: fix RGW grafana chart 'Average GET/PUT Latencies'

Fixes: https://tracker.ceph.com/issues/44538
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
5 years agoMerge pull request #33819 from smithfarm/wip-bci-octopus
Nathan Cutler [Tue, 10 Mar 2020 10:50:56 +0000 (11:50 +0100)]
Merge pull request #33819 from smithfarm/wip-bci-octopus

script/backport-create-issue: start backporting to octopus

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
5 years agotests: remove spurious whitespace 33846/head 33848/head
Milind Changire [Tue, 10 Mar 2020 10:41:07 +0000 (16:11 +0530)]
tests: remove spurious whitespace

remove spurious whitespace from test_snapshot.py

Fixes: https://tracker.ceph.com/issues/44528
Signed-off-by: Milind Changire <mchangir@redhat.com>
5 years agomgr/cephadm: fix service list filtering 33838/head
Kiefer Chang [Tue, 10 Mar 2020 07:22:40 +0000 (15:22 +0800)]
mgr/cephadm: fix service list filtering

We should apply filters on ServiceSpecs in store too, or services are
returned even filters are applied during collecting daemons.

Fixes: https://tracker.ceph.com/issues/44512
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agoMerge PR #33825 into octopus
Sage Weil [Tue, 10 Mar 2020 03:42:05 +0000 (22:42 -0500)]
Merge PR #33825 into octopus

* refs/pull/33825/head:
cephadm: bootstrap: tolerate error return from -h
ceph.in: only shut down rados on clean exit

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #33811 into octopus
Sage Weil [Tue, 10 Mar 2020 03:26:41 +0000 (22:26 -0500)]
Merge PR #33811 into octopus

* refs/pull/33811/head:
mgr/cephadm: fix upgrade order

Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agoRevert "Merge pull request #33673 from cbodley/wip-denc-enum" 33832/head
Sage Weil [Tue, 10 Mar 2020 03:23:47 +0000 (22:23 -0500)]
Revert "Merge pull request #33673 from cbodley/wip-denc-enum"

This reverts commit 1041092696c2e3c9ee4e32b764ead06f5bc1f694, reversing
changes made to c2f584f32a9619b39d53178c2327dc26b3a2a27c.

This changed the encoding for certain types.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #33458 from tchaikov/wip-test-objectstore
Kefu Chai [Tue, 10 Mar 2020 02:51:30 +0000 (10:51 +0800)]
Merge pull request #33458 from tchaikov/wip-test-objectstore

objectstore: cleanups to avoid using `g_ceph_context`

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #33281 from ideepika/wip-set-osd-pool-size-extra-param-check
Neha Ojha [Tue, 10 Mar 2020 02:14:50 +0000 (19:14 -0700)]
Merge pull request #33281 from ideepika/wip-set-osd-pool-size-extra-param-check

mon/OSDMonitor: add flag `--yes-i-really-mean-it` for setting pool size 1

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agomgr/cephadm: fix upgrade order 33811/head
Sage Weil [Mon, 9 Mar 2020 01:38:59 +0000 (20:38 -0500)]
mgr/cephadm: fix upgrade order

Create two variables, CEPH_TYPES and CEPH_UPGRADE_ORDER.  In reality they
are both the same, but this way the meaning is clear, and they lists
won't get out of sync (they should always have the same elements).

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #33801 into octopus
Sage Weil [Mon, 9 Mar 2020 21:25:57 +0000 (16:25 -0500)]
Merge PR #33801 into octopus

* refs/pull/33801/head:
qa/suites/rados/ceph: drop opensuse for now

Reviewed-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge PR #33822 into octopus
Sage Weil [Mon, 9 Mar 2020 20:46:57 +0000 (15:46 -0500)]
Merge PR #33822 into octopus

* refs/pull/33822/head:
cephadm: use `sh` instead of `bash` during enter

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agocephadm: bootstrap: tolerate error return from -h 33825/head
Sage Weil [Mon, 9 Mar 2020 20:45:36 +0000 (15:45 -0500)]
cephadm: bootstrap: tolerate error return from -h

Sometimes we time out connecting to the mon to get commands and return
an error code.

See https://tracker.ceph.com/issues/44526

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #33809 into octopus
Sage Weil [Mon, 9 Mar 2020 20:28:19 +0000 (15:28 -0500)]
Merge PR #33809 into octopus

* refs/pull/33809/head:
qa/standalone/scrub/osd-scrub-repair: force osdmap prop to osds
qa/standalone/scrub/osd-scrub-test: wait longer for update

Reviewed-by: David Zafman <dzafman@redhat.com>
5 years agoMerge PR #32678 into octopus
Sage Weil [Mon, 9 Mar 2020 19:09:00 +0000 (14:09 -0500)]
Merge PR #32678 into octopus

* refs/pull/32678/head:
mgr/dashboard: support multiple DriveGroups when creating OSDs

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
5 years agomon/OSDMonitor: add flag `--yes-i-really-mean-it` for setting pool size 1 33281/head
Deepika Upadhyay [Wed, 12 Feb 2020 14:38:29 +0000 (20:08 +0530)]
mon/OSDMonitor: add flag `--yes-i-really-mean-it` for setting pool size 1

Adds option `mon_allow_pool_size_one` which will be disabled by default
to ensure pools are not configured without replicas.
If the user still wants to use pool size 1, they will have to change the
value of `mon_allow_pool_size_one` to true and then have to pass flag
`--yes-i-really-mean-it` to cli command:

Example:
`ceph osd pool test set size 1 --yes-i-really-mean-it`

Fixes: https://tracker.ceph.com/issues/44025
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
5 years agoMerge pull request #33676 from pponnuvel/strncpy_avoid_one_byte_copy
Jason Dillaman [Mon, 9 Mar 2020 17:48:33 +0000 (13:48 -0400)]
Merge pull request #33676 from pponnuvel/strncpy_avoid_one_byte_copy

test/librbd: avoid copying/overwriting a byte unnecessarily

5 years agoMerge pull request #33681 from changchengx/blockguard_right_exclusive
Jason Dillaman [Mon, 9 Mar 2020 17:47:39 +0000 (13:47 -0400)]
Merge pull request #33681 from changchengx/blockguard_right_exclusive

librbd: explicitly specify BlockGuard to be right exclusive

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #33712 from yison/rwl-fix-block-extents-issue
Jason Dillaman [Mon, 9 Mar 2020 17:46:13 +0000 (13:46 -0400)]
Merge pull request #33712 from yison/rwl-fix-block-extents-issue

librbd: fix block extents issue of rwl writeback cache

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agocephadm: use `sh` instead of `bash` during enter 33822/head
Michael Fritch [Mon, 9 Mar 2020 16:00:07 +0000 (10:00 -0600)]
cephadm: use `sh` instead of `bash` during enter

not all container images use bash (e.g. node-exporter etc)

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agoceph.in: only shut down rados on clean exit
Sage Weil [Mon, 9 Mar 2020 17:26:06 +0000 (12:26 -0500)]
ceph.in: only shut down rados on clean exit

If we exit due to a timeout, then calling rados shutdown can lead to all
sorts of problems, because we may still have another thread that is
trying to call rados_connect and/or do some work, and rados_connect
and rados_shutdown don't (and can't!) really behave well when racing
against each other.

Note that shutdown here isn't that important--the process is about to
exit anyway.  It's only useful to exercise the shutdown code path more
often.

Fixes: https://tracker.ceph.com/issues/44526
Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocommon/ceph_timer: Pass reference to waited time on stack 33771/head
Adam C. Emerson [Fri, 6 Mar 2020 03:14:47 +0000 (22:14 -0500)]
common/ceph_timer: Pass reference to waited time on stack

std::condition_variable::wait_until takes a const reference to a
time_point. It may access this reference after relinquishing the
mutex, creating a potential use-after-free error if the first event is
shut down.

So, just copy the time onto the stack, so we have a reference that
won't disappear.

https://tracker.ceph.com/issues/44373

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agocommon/ceph_timer: Add test
Adam C. Emerson [Fri, 6 Mar 2020 02:45:11 +0000 (21:45 -0500)]
common/ceph_timer: Add test

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agocommon/ceph_timer: Use unique_function, allowing noncopyable events
Adam C. Emerson [Fri, 6 Mar 2020 02:15:25 +0000 (21:15 -0500)]
common/ceph_timer: Use unique_function, allowing noncopyable events

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agocommon/ceph_timer: Couple cleanups
Adam C. Emerson [Thu, 5 Mar 2020 22:57:41 +0000 (17:57 -0500)]
common/ceph_timer: Couple cleanups

Take advantage of a couple things in Boost.Intrusive that make the
code less obfuscated.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agocommon/ceph_timer: Fix namespaces
Adam C. Emerson [Thu, 5 Mar 2020 21:16:15 +0000 (16:16 -0500)]
common/ceph_timer: Fix namespaces

Stuffing things into 'detail' and using them just makes backtraces and
valgrind illegible.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agocommon/ceph_timer: Add missing includes
Adam C. Emerson [Thu, 5 Mar 2020 21:08:12 +0000 (16:08 -0500)]
common/ceph_timer: Add missing includes

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agocommon/ceph_timer.h: Don't indent contents of a namespace
Adam C. Emerson [Thu, 5 Mar 2020 21:03:37 +0000 (16:03 -0500)]
common/ceph_timer.h: Don't indent contents of a namespace

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
5 years agoMerge pull request #33196 from xxhdx1985126/wip-crimson-pglog-to-pr
Kefu Chai [Mon, 9 Mar 2020 15:09:05 +0000 (23:09 +0800)]
Merge pull request #33196 from xxhdx1985126/wip-crimson-pglog-to-pr

crimson: add pglog support to crimson's data write path

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoscript/backport-create-issue: start backporting to octopus 33819/head
Nathan Cutler [Mon, 9 Mar 2020 14:37:37 +0000 (15:37 +0100)]
script/backport-create-issue: start backporting to octopus

Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge PR #33793 into master
Sage Weil [Mon, 9 Mar 2020 13:28:57 +0000 (08:28 -0500)]
Merge PR #33793 into master

* refs/pull/33793/head:
qa/suites/rados/cephadm/upgrade: new start point
qa/tasks/cephadm: put bootstrap config etc directly in /etc/ceph
cephadm: shell: default to config and keyring in /etc/ceph, if present

Reviewed-by: Ricardo Marques <rimarques@suse.com>
5 years agoMerge PR #33808 into master
Sage Weil [Mon, 9 Mar 2020 13:28:37 +0000 (08:28 -0500)]
Merge PR #33808 into master

* refs/pull/33808/head:
mgr/cephadm: apply: fill in default placement if none is provided
mgr/cephadm: make placement truly optional (default to count=1)
mgr/cephadm: allow count == 0
mgr/cephadm: remove magic labels

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agomgr/dashboard: Crush rule modal 33620/head
Stephan Müller [Wed, 15 Jan 2020 13:39:13 +0000 (14:39 +0100)]
mgr/dashboard: Crush rule modal

Now a crush rule can be created and deleted through the pool form,
similar to the ECP profile.

The creation form is somewhat more intelligent as it checks the crush
map to help create a usable rule, with only a few clicks
through preselections.

Fixes: https://tracker.ceph.com/issues/43260
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agomgr/dashboard: Preserve rule selection on pool type change
Stephan Müller [Tue, 3 Mar 2020 14:39:32 +0000 (15:39 +0100)]
mgr/dashboard: Preserve rule selection on pool type change

Now if the pool type is changed from replicated to erasure in the pool
form and you have multiple rules, your selection is preserved and not
overwritten by null, which caused an error message to be shown
(crush rule is required).

Fixes: https://tracker.ceph.com/issues/44371
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agomgr/dashboard: Crush rule is only send during replicated pool creation
Stephan Müller [Mon, 2 Mar 2020 11:26:48 +0000 (12:26 +0100)]
mgr/dashboard: Crush rule is only send during replicated pool creation

The problem was that the crush rule setting was send during the creation
of a pool - the type didn't matter, but the setting is only used if a
replicated pool is created. This hasn't created any problems yet, but to
prevent that it's now omitted for erasure code pool creations.

Fixes: https://tracker.ceph.com/issues/44371
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agomgr/dashboard: Explicit returns in pool form
Stephan Müller [Mon, 2 Mar 2020 11:16:32 +0000 (12:16 +0100)]
mgr/dashboard: Explicit returns in pool form

Fixes: https://tracker.ceph.com/issues/44371
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agomgr/dashboard: Removes fork join in pool form
Stephan Müller [Mon, 2 Mar 2020 11:01:19 +0000 (12:01 +0100)]
mgr/dashboard: Removes fork join in pool form

Uses only the new info endpoint instead of three separate calls.

Had to change a lot of unit tests through this change, as more data
was reaching the submit tests now.

Fixes: https://tracker.ceph.com/issues/44371
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agomgr/dashboard: Hide ECP actions during ec pool edit
Stephan Müller [Mon, 2 Mar 2020 10:48:17 +0000 (11:48 +0100)]
mgr/dashboard: Hide ECP actions during ec pool edit

Hides erasure profile actions during erasure pool edit, as all
actions are disabled anyway as they can't be used in edit mode.

This commit makes also sure that the used crush rule will be shown
during edit of an erasure pool and no crush rule selection is shown
during creation of an erasure code pool, as in most cases a new crush
rule will be created for the ec pool.

Fixes: https://tracker.ceph.com/issues/44371
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agomgr/dashboard: Pool form erasure/replicated boolean
Stephan Müller [Mon, 2 Mar 2020 10:39:48 +0000 (11:39 +0100)]
mgr/dashboard: Pool form erasure/replicated boolean

Now a boolean will be set if the pool type is changed. The question
which type is currently set is raised a lot of times inside the pool
form therefor there is a speed advance if it's just a boolean instead of
getting the form control from the form in the first place and than
compare two strings.

Fixes: https://tracker.ceph.com/issues/44371
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agomgr/dashboard: Change pool info API endpoint
Stephan Müller [Mon, 2 Mar 2020 10:08:23 +0000 (11:08 +0100)]
mgr/dashboard: Change pool info API endpoint

Moves the "_info" endpoint of pool into an equivalent
UI-API call with the name "info".

Added three more attributes to the info dict which enables the dashboard
to only call info to get all the needed data, currently three calls will
be used to do that.

Removed pool_name parameter as the outcome was not used.

Updated the tests and related angular files accordingly.

Fixes: https://tracker.ceph.com/issues/44371
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agomgr/dashboard: Moves ECP info endpoint to UI-API
Stephan Müller [Mon, 2 Mar 2020 09:57:16 +0000 (10:57 +0100)]
mgr/dashboard: Moves ECP info endpoint to UI-API

Moves the "_info" endpoint of erasure code profile into an equivalent
UI-API call with the name "info".

The serialization of the profile was outsourced into "ceph-service" as
it's used somewhere else (follow up commit).

Removed unused methods in angular service and REST controller.

Fixed path in angular service.

Fixes: https://tracker.ceph.com/issues/44371
Signed-off-by: Stephan Müller <smueller@suse.com>
5 years agoMerge pull request #33756 from tspmelo/wip-remove-ngx-store
Lenz Grimmer [Mon, 9 Mar 2020 11:30:50 +0000 (12:30 +0100)]
Merge pull request #33756 from tspmelo/wip-remove-ngx-store

mgr/dashboard: Remove ngx-store

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>