]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agotest/pybind: fix expectations for mirror snapshots 33002/head
Jason Dillaman [Mon, 10 Feb 2020 15:16:59 +0000 (10:16 -0500)]
test/pybind: fix expectations for mirror snapshots

When snapshot-based mirroring is enabled, the primary image
should always have at least one mirror-based snapshot to help
distinguish it from an incomplete non-primary image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: corrected error code from image_snapshot_create API
Jason Dillaman [Wed, 5 Feb 2020 14:27:30 +0000 (09:27 -0500)]
librbd: corrected error code from image_snapshot_create API

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: stub snapshot replayer state machine
Jason Dillaman [Fri, 31 Jan 2020 04:48:41 +0000 (23:48 -0500)]
rbd-mirror: stub snapshot replayer state machine

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: stub prepare snapshot replay state machine
Jason Dillaman [Fri, 31 Jan 2020 04:32:40 +0000 (23:32 -0500)]
rbd-mirror: stub prepare snapshot replay state machine

The stub doesn't check for split-brain and it doesn't see
if the image still requires a resync.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: relax snapshot mirror promotion state determination
Jason Dillaman [Thu, 30 Jan 2020 19:49:46 +0000 (14:49 -0500)]
librbd: relax snapshot mirror promotion state determination

If no mirroring-related snapshots exist on the image, it cannot
be determined if the image is primary/non-primary. In the case of
rbd-mirror, this will be the case after a new mirrored image is
created locally but before it can be synced.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: create primary mirror snapshot when enabling mirroring
Jason Dillaman [Thu, 30 Jan 2020 20:35:48 +0000 (15:35 -0500)]
librbd: create primary mirror snapshot when enabling mirroring

This will create an initial primary mirror snapshot when enabling
snapshot-based mirroring on an image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: avoid refreshing within the mirror state machines
Jason Dillaman [Thu, 30 Jan 2020 22:45:40 +0000 (17:45 -0500)]
librbd: avoid refreshing within the mirror state machines

The refresh has been moved up to the API layer. Also avoid querying
the MirrorImage struct when creating mirror primary snapshots since
(1) when enabling the record won't exist yet and (2) in the demote/
promote cases it would have just been read by the previous state
machine.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: optionally ignore missing peers when creating promoted mirror snapshot
Jason Dillaman [Fri, 31 Jan 2020 02:21:30 +0000 (21:21 -0500)]
librbd: optionally ignore missing peers when creating promoted mirror snapshot

The initial enable steps as well as demote/promote should ignore the lack of
peers. Otherwise, you would never be able to enable snapshot mirroring
without first creating TX peers.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: do not auto-delete mirror snapshots
Jason Dillaman [Fri, 31 Jan 2020 02:54:06 +0000 (21:54 -0500)]
librbd: do not auto-delete mirror snapshots

Instead, the disable mirror state machine will delete the snapshots.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: permit opening local image in snapshot-based mode
Jason Dillaman [Thu, 30 Jan 2020 19:32:37 +0000 (14:32 -0500)]
rbd-mirror: permit opening local image in snapshot-based mode

Drop the temporary test to ensure the image was in journal mode.
Also ignore missing exclusive lock feature when in snapshot
mode.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agotest/rbd-mirror: image replayer test should test both mirroring mode
Jason Dillaman [Thu, 30 Jan 2020 19:13:18 +0000 (14:13 -0500)]
test/rbd-mirror: image replayer test should test both mirroring mode

Attempt to re-use most of the existing image replayer unit tests under
both supported modes. Any existing tests that are purely journal will
only be tested under journal-mode.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: snapshot create image state machine
Jason Dillaman [Wed, 29 Jan 2020 02:25:19 +0000 (21:25 -0500)]
rbd-mirror: snapshot create image state machine

Use the new mirror image creating state to track in-progress
snapshot-based mirroring image creations.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agocls/rbd: new temporary MIRROR_IMAGE_STATE_CREATING state
Jason Dillaman [Wed, 29 Jan 2020 01:59:51 +0000 (20:59 -0500)]
cls/rbd: new temporary MIRROR_IMAGE_STATE_CREATING state

This state will be used to track the creation of a snapshot-based
mirror image from a remote primary image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: clone state machine should accept snapshot namespace
Jason Dillaman [Wed, 29 Jan 2020 22:27:22 +0000 (17:27 -0500)]
librbd: clone state machine should accept snapshot namespace

It currently assumes that you can only create snapshots from user
snapshot namespaces.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: replace journal-specific parent image validation
Jason Dillaman [Wed, 29 Jan 2020 19:42:14 +0000 (14:42 -0500)]
rbd-mirror: replace journal-specific parent image validation

When cloning a mirrored image, instead of looking at the parent
image's journal state to tell if its still being synced, we can
instead verify that it doesn't have an rbd-mirror image sync
snapshots.

If it doesn't, the image isn't being actively synced, but it
might not have started either. However, the clone state machine
will open the local parent image and attempt to find the specified
snapshot. If it exists, the image sync is complete.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: helper for retrieving the image sync snap name prefix
Jason Dillaman [Wed, 29 Jan 2020 19:52:31 +0000 (14:52 -0500)]
rbd-mirror: helper for retrieving the image sync snap name prefix

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: pass mirror image mode to create image state machine
Jason Dillaman [Tue, 28 Jan 2020 18:42:39 +0000 (13:42 -0500)]
rbd-mirror: pass mirror image mode to create image state machine

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: image deleter should support snapshot-based mirroring
Jason Dillaman [Wed, 29 Jan 2020 01:37:44 +0000 (20:37 -0500)]
rbd-mirror: image deleter should support snapshot-based mirroring

Read the current mirror info from the local image instead of directly
reading from the journal. The image needs to be opened before potentially
resetting the journal since journaling might not be enabled.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: remove force non-primary validation from create request
Jason Dillaman [Tue, 28 Jan 2020 17:12:25 +0000 (12:12 -0500)]
librbd: remove force non-primary validation from create request

The journaling feature is no longer strictly required to force-create
images in non-primary mode.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: pass mirror image mode to create/clone image state machines
Jason Dillaman [Tue, 28 Jan 2020 17:10:03 +0000 (12:10 -0500)]
librbd: pass mirror image mode to create/clone image state machines

The rbd-mirror daemon will need to be able to create images using
snapshot-based mirroring.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: don't pass API data types to internal state machines
Jason Dillaman [Tue, 28 Jan 2020 16:00:01 +0000 (11:00 -0500)]
librbd: don't pass API data types to internal state machines

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: utilize new helper methods for updating mirror image records
Jason Dillaman [Mon, 27 Jan 2020 22:35:46 +0000 (17:35 -0500)]
librbd: utilize new helper methods for updating mirror image records

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: helper state machines for updating/removing mirror images
Jason Dillaman [Mon, 27 Jan 2020 21:45:54 +0000 (16:45 -0500)]
librbd: helper state machines for updating/removing mirror images

When the mirror image state is updated or removed, we need to send
notifications to peer listeners like rbd-mirror. These two new
state machines allow re-use of that logic to avoid the duplication.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: prepare remote image now handles the snapshot mode
Jason Dillaman [Mon, 27 Jan 2020 19:47:30 +0000 (14:47 -0500)]
rbd-mirror: prepare remote image now handles the snapshot mode

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: move remote image life-cycle management to state builder
Jason Dillaman [Mon, 27 Jan 2020 19:21:29 +0000 (14:21 -0500)]
rbd-mirror: move remote image life-cycle management to state builder

snapshot-based mirroring will need to leave the remote image open during
replay.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: store remote image ctx in state builder
Jason Dillaman [Mon, 27 Jan 2020 19:03:07 +0000 (14:03 -0500)]
rbd-mirror: store remote image ctx in state builder

The snapshot-based mirroring logic will need access to the remote
image during replay.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: remove unnecessary get mirror info call from bootstrap
Jason Dillaman [Mon, 27 Jan 2020 18:16:56 +0000 (13:16 -0500)]
rbd-mirror: remove unnecessary get mirror info call from bootstrap

Both the prepare local and remote state machines will now retrieve their
respective mirror info data so it does not need to be repeated at the
higher-level bootstrap state machine.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: store remote promotion state within state builder
Jason Dillaman [Mon, 27 Jan 2020 17:43:51 +0000 (12:43 -0500)]
rbd-mirror: store remote promotion state within state builder

This simplifies the factory method for the prepare state since it
no longer needs to be an parameter. It will also permit the removal
of the extra get mirror info call in bootstrap.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: prepare remote image now uses get mirror info request
Jason Dillaman [Mon, 27 Jan 2020 17:09:49 +0000 (12:09 -0500)]
rbd-mirror: prepare remote image now uses get mirror info request

This replaces the existing get mirror image call to provide the
additional detail for promotion state.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: stop querying remote mirror uuid during image bootstrap
Jason Dillaman [Mon, 27 Jan 2020 16:51:20 +0000 (11:51 -0500)]
rbd-mirror: stop querying remote mirror uuid during image bootstrap

The remote mirror uuid is now polled automatically by a higher layer.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: cache local and remote pool meta properties for all pools
Jason Dillaman [Tue, 28 Jan 2020 20:24:09 +0000 (15:24 -0500)]
rbd-mirror: cache local and remote pool meta properties for all pools

When replicating cloned images across pools, the replayer will
need access to the meta from the parent image pool. By caching
the data, it avoids the need to have the image replayer query
the parent pools.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: stub version of snapshot image replayer state builder
Jason Dillaman [Mon, 27 Jan 2020 16:23:43 +0000 (11:23 -0500)]
rbd-mirror: stub version of snapshot image replayer state builder

This stub class will be expanded as support for snapshot-based
mirroring is expanded.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: generically track promotion state and primary mirror uuid
Jason Dillaman [Mon, 27 Jan 2020 15:57:54 +0000 (10:57 -0500)]
rbd-mirror: generically track promotion state and primary mirror uuid

Both journal and snapshot-based mirroring can utilize these two generic
states for tracking.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: utilize get mirror info within prepare local image request
Jason Dillaman [Mon, 27 Jan 2020 15:41:40 +0000 (10:41 -0500)]
rbd-mirror: utilize get mirror info within prepare local image request

This avoids lots of duplicated logic between the two state machines and
provides a path to support both journal and snapshot-based mirroring
with the same class.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: retrieve primary mirror uuid as part of get info request
Jason Dillaman [Mon, 27 Jan 2020 15:15:46 +0000 (10:15 -0500)]
librbd: retrieve primary mirror uuid as part of get info request

This will be used for both journal and snapshot-based mirroring
to link the image to proper primary.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agoqa: move existing rbd-mirror functional test to journal-specific test
Jason Dillaman [Wed, 29 Jan 2020 23:46:07 +0000 (18:46 -0500)]
qa: move existing rbd-mirror functional test to journal-specific test

A new functional test for snapshot-based mirroring will be created and
the other stress-tests should eventually be applied to both snapshot-
and journal-based mirroring.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge PR #30969 into master
Patrick Donnelly [Thu, 30 Jan 2020 15:20:11 +0000 (07:20 -0800)]
Merge PR #30969 into master

* refs/pull/30969/head:
mds : clean up data written to unsafe inodes

Reviewed-by: Zheng Yan <zyan@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #32397 into master
Patrick Donnelly [Thu, 30 Jan 2020 15:06:21 +0000 (07:06 -0800)]
Merge PR #32397 into master

* refs/pull/32397/head:
mds: Move StrayManager initializations to its header
mds: Remove extra spaces in StrayManager header.
mds: Reorganize structure members in StrayManager header

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #32969 into master
Sage Weil [Thu, 30 Jan 2020 14:28:25 +0000 (08:28 -0600)]
Merge PR #32969 into master

* refs/pull/32969/head:
qa/suites/rados/cephadm: explicitly test many distros

Reviewed-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge PR #32854 into master
Patrick Donnelly [Thu, 30 Jan 2020 14:25:25 +0000 (06:25 -0800)]
Merge PR #32854 into master

* refs/pull/32854/head:
qa: fix testing kernel branch link

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #32801 into master
Patrick Donnelly [Thu, 30 Jan 2020 13:55:10 +0000 (05:55 -0800)]
Merge PR #32801 into master

* refs/pull/32801/head:
cephfs-shell: Fix ls -l

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
5 years agomgr/dashboard: Change project name to "Ceph Dashboard" (#32959)
Lenz Grimmer [Thu, 30 Jan 2020 13:43:46 +0000 (13:43 +0000)]
mgr/dashboard: Change project name to "Ceph Dashboard" (#32959)

mgr/dashboard: Change project name to "Ceph Dashboard"

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #32978 from tchaikov/wip-seastar
Kefu Chai [Thu, 30 Jan 2020 13:02:31 +0000 (21:02 +0800)]
Merge pull request #32978 from tchaikov/wip-seastar

seastar: pickup change to fix cgroups V2 support

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
5 years agoMerge PR #32972 into master
Sage Weil [Thu, 30 Jan 2020 13:01:47 +0000 (07:01 -0600)]
Merge PR #32972 into master

* refs/pull/32972/head:
python-common/ceph/deployment/translate: use 'prepare' instead of 'batch' for trivial case
qa/tasks/cephadm: pass short dev name to osd prepare
mgr/cephadm: fix detection of just-created OSDs
mgr/cephadm: properly indent raise conditions
mgr/cephadm: add warning to other orchestrators
mgr/cephadm: separate acceptance criterias for Devices
mgr/cephadm: fix typos
mgr/cephadm: move utils in test/utils.py
mgr/ssh: increase disk size to 20G
drivegroups: add support for drivegroups + tests
mgr/orch_cli: allow multiple drivegroups
drivegroups: translate disk spec to ceph-volume call

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
Reviewed-by: Joshua Schmid <jschmid@suse.de>
5 years agoMerge pull request #32980 from ceph/gregsfortytwo-doc-rm-hadoop-2
Gregory Farnum [Thu, 30 Jan 2020 12:40:58 +0000 (13:40 +0100)]
Merge pull request #32980 from ceph/gregsfortytwo-doc-rm-hadoop-2

doc: remove the CephFS-Hadoop instructions

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge pull request #32967 from rhcs-dashboard/ignore-python-common-build
Sebastian Wagner [Thu, 30 Jan 2020 11:57:27 +0000 (12:57 +0100)]
Merge pull request #32967 from rhcs-dashboard/ignore-python-common-build

.gitignore: ignore /src/python-common/build

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #30777 from GaryHyg/origin/master
Abhishek L [Thu, 30 Jan 2020 11:55:11 +0000 (12:55 +0100)]
Merge pull request #30777 from GaryHyg/origin/master

rgw: dmclock: wait until the request is handled.

Reviewed-By: Kefu Chai <kchai@redhat.com>
Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
5 years agoMerge pull request #32669 from IlsooByun/rel_cb_arg
Abhishek L [Thu, 30 Jan 2020 11:53:56 +0000 (12:53 +0100)]
Merge pull request #32669 from IlsooByun/rel_cb_arg

rgw: release unused callback argument

Reviewed-By: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #32476 from theanalyst/rgw/multisite/user-policy
Abhishek L [Thu, 30 Jan 2020 11:50:02 +0000 (12:50 +0100)]
Merge pull request #32476 from theanalyst/rgw/multisite/user-policy

rgw: user policy: forward write requests to master zone

Reviewed-By: Casey Bodley <cbodley@redhat.com>
5 years agodoc: remove the CephFS-Hadoop instructions 32980/head
Gregory Farnum [Thu, 30 Jan 2020 10:27:06 +0000 (11:27 +0100)]
doc: remove the CephFS-Hadoop instructions

These have not aged gracefully, and in particular include instructions
for setting pool size 1 to let Hadoop control the replication — but I've
heard reports of users setting up multiple size-1 pools and then wondering
where their data went when an OSD dies.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
5 years agoMerge pull request #32370 from AlexZzz/prometheus_pg_status_bypool
Jan Fajerski [Thu, 30 Jan 2020 10:10:34 +0000 (11:10 +0100)]
Merge pull request #32370 from AlexZzz/prometheus_pg_status_bypool

mgr/prometheus: report per-pool pg states

5 years agoMerge PR #32975 into master
Sage Weil [Thu, 30 Jan 2020 04:11:14 +0000 (22:11 -0600)]
Merge PR #32975 into master

* refs/pull/32975/head:
mon/ConfigMonitor: only propose if leader

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #32970 into master
Sage Weil [Thu, 30 Jan 2020 03:31:14 +0000 (21:31 -0600)]
Merge PR #32970 into master

* refs/pull/32970/head:
cephadm: include daemon/unit id in unit name

Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agoseastar: pickup change to fix cgroups V2 support 32978/head
Kefu Chai [Thu, 30 Jan 2020 00:37:55 +0000 (08:37 +0800)]
seastar: pickup change to fix cgroups V2 support

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #32945 from dzafman/wip-43864
David Zafman [Thu, 30 Jan 2020 00:03:44 +0000 (16:03 -0800)]
Merge pull request #32945 from dzafman/wip-43864

test: Update pg log test for new trimming behavior

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agomon/ConfigMonitor: only propose if leader 32975/head
Sage Weil [Wed, 29 Jan 2020 23:18:04 +0000 (17:18 -0600)]
mon/ConfigMonitor: only propose if leader

Introduced by 08fcf01c040e0caaf5b418d300f774bf8c3033da, which activated
this (broken) code path.

Fixes: https://tracker.ceph.com/issues/43892
Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #32623 into master
Sage Weil [Wed, 29 Jan 2020 19:59:53 +0000 (13:59 -0600)]
Merge PR #32623 into master

* refs/pull/32623/head:
ceph_release: octopus rc 15.1.0

Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoqa/suites/rados/cephadm: explicitly test many distros 32969/head
Sage Weil [Wed, 29 Jan 2020 16:44:33 +0000 (10:44 -0600)]
qa/suites/rados/cephadm: explicitly test many distros

Include _latest.yaml in a few cases here to be a bit future-proof.

cephadm-smoke/ is *just* a cephadm bring-up, and includes el7.  cephadm/
installs packages and runs a real workload.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #32828 from leseb/raw-db-wal
Sébastien Han [Wed, 29 Jan 2020 19:29:15 +0000 (20:29 +0100)]
Merge pull request #32828 from leseb/raw-db-wal

ceph-volume: add db and wal support to raw mode

5 years agopython-common/ceph/deployment/translate: use 'prepare' instead of 'batch' for trivial... 32972/head
Sage Weil [Wed, 29 Jan 2020 17:41:41 +0000 (11:41 -0600)]
python-common/ceph/deployment/translate: use 'prepare' instead of 'batch' for trivial case

This works around ceph-volumes lack of support for preexisting LVs in the
batch mode.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocephadm: include daemon/unit id in unit name 32970/head
Sage Weil [Wed, 29 Jan 2020 17:05:51 +0000 (11:05 -0600)]
cephadm: include daemon/unit id in unit name

This makes the log messages more descriptive.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #32941 from cbodley/wip-qa-rgw-multisite-pubsub-checkpoint
Yuval Lifshitz [Wed, 29 Jan 2020 16:54:44 +0000 (18:54 +0200)]
Merge pull request #32941 from cbodley/wip-qa-rgw-multisite-pubsub-checkpoint

qa/rgw: multisite checkpoints consider pubsub zone

5 years agoMerge PR #32943 into master
Sage Weil [Wed, 29 Jan 2020 16:34:09 +0000 (10:34 -0600)]
Merge PR #32943 into master

* refs/pull/32943/head:
qa/tasks/ceph_manager: fix chmod on log dir during pg export copy

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #32932 from smanjara/add-bucket-chown-nonmaster
Casey Bodley [Wed, 29 Jan 2020 15:49:32 +0000 (10:49 -0500)]
Merge pull request #32932 from smanjara/add-bucket-chown-nonmaster

rgw/multisite: warn if bucket chown command is run on non-master zone

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years ago.gitignore: ignore /src/python-common/build 32967/head
Alfonso Martínez [Wed, 29 Jan 2020 15:41:15 +0000 (16:41 +0100)]
.gitignore: ignore /src/python-common/build

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
5 years agoMerge pull request #32957 from tchaikov/wip-mgr-cephadm
Sage Weil [Wed, 29 Jan 2020 14:51:39 +0000 (08:51 -0600)]
Merge pull request #32957 from tchaikov/wip-mgr-cephadm

mgr/cephadm: init attrs created by settattr()

5 years agoMerge pull request #32893 from sebastian-philipp/orchestrator-document-client-usage
Sebastian Wagner [Wed, 29 Jan 2020 14:45:02 +0000 (15:45 +0100)]
Merge pull request #32893 from sebastian-philipp/orchestrator-document-client-usage

mgr/orchestrator: Add doc about how to use OrchestratorClientMixin

Reviewed-by: Zac Dover <zac.dover@gmail.com>
5 years agomgr/grafana: sum pg states for cluster 32370/head
Aleksei Zakharov [Thu, 23 Jan 2020 16:29:57 +0000 (19:29 +0300)]
mgr/grafana: sum pg states for cluster

Also, revert table formatting.

Signed-off-by: Aleksei Zakharov <zaharov@selectel.ru>
5 years agomonitoring/grafana,prometheus: add per-pool pg states support
Aleksei Zakharov [Tue, 21 Jan 2020 10:44:50 +0000 (13:44 +0300)]
monitoring/grafana,prometheus: add per-pool pg states support

Signed-off-by: Aleksei Zakharov <zaharov@selectel.ru>
5 years agomgr/prometheus: pg counters per pool descriptions
Aleksei Zakharov [Fri, 20 Dec 2019 15:12:19 +0000 (18:12 +0300)]
mgr/prometheus: pg counters per pool descriptions

Update pg metrics descriptions to show that we have per
pool stats now.

Signed-off-by: Aleksei Zakharov <zakharov.a.g@yandex.ru>
5 years agomgr/prometheus: pg count by pool
Aleksei Zakharov [Fri, 20 Dec 2019 15:05:05 +0000 (18:05 +0300)]
mgr/prometheus: pg count by pool

If we have all other stats by pool, it's better to have total
count by pool too. We always can sum() all of total, but it's
hard to count by-pool total.

Signed-off-by: Aleksei Zakharov <zakharov.a.g@yandex.ru>
5 years agomgr/prometheus: report per-pool pg states
Aleksei Zakharov [Fri, 20 Dec 2019 10:40:44 +0000 (13:40 +0300)]
mgr/prometheus: report per-pool pg states

This commit adds per-pool pg states metrics
with unique 'pool_id' label.

Signed-off-by: Aleksei Zakharov <zakharov.a.g@yandex.ru>
5 years agoMerge PR #32939 into master
Sage Weil [Wed, 29 Jan 2020 13:46:38 +0000 (07:46 -0600)]
Merge PR #32939 into master

* refs/pull/32939/head:
mon/MgrMonitor.cc: add always_on_modules to the output of "ceph mgr module ls"

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agomgr/cephadm: drop "type: ignore" annotations 32957/head
Kefu Chai [Wed, 29 Jan 2020 13:40:25 +0000 (21:40 +0800)]
mgr/cephadm: drop "type: ignore" annotations

since these options are already initialized in the constructor, there is
no need to ignore their types when checking those lines using mypy

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agomgr/cephadm: init attrs created by settattr()
Kefu Chai [Wed, 29 Jan 2020 12:46:45 +0000 (20:46 +0800)]
mgr/cephadm: init attrs created by settattr()

to address the test falure caused by mypy:
```
mypy run-test: commands[0] | mypy --config-file=../../mypy.ini ansible/module.py cephadm/module.py mgr_module.py mgr_util.py orchestrator.py orchestrator_cli/module.py rook/module.py
test_orchestrator/module.py
cephadm/module.py: note: In member "_check_for_strays" of class "CephadmOrchestrator":
cephadm/module.py:596: error: "CephadmOrchestrator" has no attribute "warn_on_stray_hosts"
cephadm/module.py:596: error: "CephadmOrchestrator" has no attribute "warn_on_stray_services"
cephadm/module.py:599: error: "CephadmOrchestrator" has no attribute "warn_on_stray_services"
Found 3 errors in 1 file (checked 8 source files)
```
see also https://github.com/python/mypy/issues/5719

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agorgw: add bucket_chown to list of commands that are recommended to be run on master... 32932/head
Shilpa Jagannath [Tue, 28 Jan 2020 12:36:54 +0000 (18:06 +0530)]
rgw: add bucket_chown to list of commands that are recommended to be run on master zone.

Fixes: https://tracker.ceph.com/issues/43884
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
5 years agoMerge PR #32823 into master
Sage Weil [Wed, 29 Jan 2020 13:24:02 +0000 (07:24 -0600)]
Merge PR #32823 into master

* refs/pull/32823/head:
common/bl: fix memory corruption in bufferlist::claim_append()

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #32940 into master
Sage Weil [Wed, 29 Jan 2020 13:23:34 +0000 (07:23 -0600)]
Merge PR #32940 into master

* refs/pull/32940/head:
qa: remove rados/basic/tasks/rgw_snaps.yml

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
5 years agoMerge PR #32942 into master
Sage Weil [Wed, 29 Jan 2020 13:22:58 +0000 (07:22 -0600)]
Merge PR #32942 into master

* refs/pull/32942/head:
osd: dispatch_context and queue split finish on early bail-out

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoMerge pull request #31879 from joke-lee/rgw-sts-post-upload-auth
Daniel Gryniewicz [Wed, 29 Jan 2020 12:48:10 +0000 (07:48 -0500)]
Merge pull request #31879 from joke-lee/rgw-sts-post-upload-auth

rgw: use STSEngine::authenticate when post upload with x_amz_security_token

5 years agoMerge pull request #31214 from IlsooByun/lc_stale_head
Daniel Gryniewicz [Wed, 29 Jan 2020 12:47:30 +0000 (07:47 -0500)]
Merge pull request #31214 from IlsooByun/lc_stale_head

rgw: prevent LC from reading stale head when transitioning object

5 years agoceph-volume: add db and wal support to raw mode 32828/head
Sébastien Han [Fri, 24 Jan 2020 15:29:54 +0000 (16:29 +0100)]
ceph-volume: add db and wal support to raw mode

Using the raw mode, the OSD preparation can now be called with extra
arguments to specify a block device for either rocksdb db or wal.

The code expects the device to be available and no validation will be
performed. Also, the entire block device will be consumed.

The goal is run this on Kubernetes with Rook and OSD are running on PVC.
Users will request PVC from a certain size, the request will be
acknowledged and a block will be created, then attached to the machine.
Later on consumed by Rook's preparation job.

Signed-off-by: Sébastien Han <seb@redhat.com>
5 years agoMerge pull request #31700 from rishabh-d-dave/cv-list-using-dash-S
Jan Fajerski [Wed, 29 Jan 2020 10:58:10 +0000 (11:58 +0100)]
Merge pull request #31700 from rishabh-d-dave/cv-list-using-dash-S

ceph-volume: refactor listing.py

5 years agoMerge pull request #32808 from theanalyst/rgw/test-iam-bits
Abhishek L [Wed, 29 Jan 2020 10:19:51 +0000 (11:19 +0100)]
Merge pull request #32808 from theanalyst/rgw/test-iam-bits

test: modify iam tests to use a function to set bits

Reviewed-By: Adam Emersen <aemerson@redhat.com>
Reviewed-By: Casey Bodley <cbodley@redhat.com>
5 years agomgr/dashboard: Change project name to "Ceph Dashboard" 32959/head
Lenz Grimmer [Wed, 29 Jan 2020 10:04:28 +0000 (11:04 +0100)]
mgr/dashboard: Change project name to "Ceph Dashboard"

The Dashboard's "About" page still referred to the
application as "Ceph Manager Dashboard".
Changed the `projectName` constant to
"Ceph Dashboard" to resolve this.

Fixes: https://tracker.ceph.com/issues/43840
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
5 years agomgr/dashboard: smart: add support for NVMe (#32708)
Lenz Grimmer [Wed, 29 Jan 2020 08:51:37 +0000 (08:51 +0000)]
mgr/dashboard: smart: add support for NVMe (#32708)

mgr/dashboard: smart: add support for NVMe

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #32938 from trociny/wip-fix-freebsd-build
Jason Dillaman [Tue, 28 Jan 2020 23:57:20 +0000 (18:57 -0500)]
Merge pull request #32938 from trociny/wip-fix-freebsd-build

librbd: fix build on freebsd

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agotest: Update pg log test for new trimming behavior 32945/head
David Zafman [Tue, 28 Jan 2020 23:23:19 +0000 (15:23 -0800)]
test: Update pg log test for new trimming behavior

Fixes: https://tracker.ceph.com/issues/43864
Signed-off-by: David Zafman <dzafman@redhat.com>
5 years agoqa/rgw: multisite checkpoints consider pubsub zone 32941/head
Casey Bodley [Tue, 28 Jan 2020 19:15:44 +0000 (14:15 -0500)]
qa/rgw: multisite checkpoints consider pubsub zone

pubsub zones are configured to only sync_from the master zone, so bucket
checkpoints should ignore its sync status with respect to other zones

Fixes: https://tracker.ceph.com/issues/43768
Signed-off-by: Casey Bodley <cbodley@redhat.com>
5 years agoqa/tasks/cephadm: pass short dev name to osd prepare 32545/head
Sage Weil [Tue, 28 Jan 2020 15:41:02 +0000 (15:41 +0000)]
qa/tasks/cephadm: pass short dev name to osd prepare

Zap needs a full path, but create/prepare needs the VG/LV
only if it is an existing LV.

We'll make c-v more friendly later.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #32502 into master
Sage Weil [Tue, 28 Jan 2020 20:09:55 +0000 (14:09 -0600)]
Merge PR #32502 into master

* refs/pull/32502/head:
pybind/mgr: Add ceph_module.pyi to improve type checking

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Patrick Seidensal <pseidensal@suse.com>
5 years agoMerge PR #32903 into master
Sage Weil [Tue, 28 Jan 2020 20:09:29 +0000 (14:09 -0600)]
Merge PR #32903 into master

* refs/pull/32903/head:
mgr/devicehealth: fix telemetry stops sending device reports after 48 hours

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #32365 into master
Sage Weil [Tue, 28 Jan 2020 20:08:51 +0000 (14:08 -0600)]
Merge PR #32365 into master

* refs/pull/32365/head:
mon: Don't put session during feature change

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #32897 into master
Sage Weil [Tue, 28 Jan 2020 20:07:41 +0000 (14:07 -0600)]
Merge PR #32897 into master

* refs/pull/32897/head:
osd/PG: do not leak cluster message when there's no con

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #31686 from yehudasa/wip-rgw-sync-bucket-6
Casey Bodley [Tue, 28 Jan 2020 20:07:00 +0000 (15:07 -0500)]
Merge pull request #31686 from yehudasa/wip-rgw-sync-bucket-6

rgw: bucket granularity sync

Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoqa/tasks/ceph_manager: fix chmod on log dir during pg export copy 32943/head
Sage Weil [Tue, 28 Jan 2020 19:54:18 +0000 (13:54 -0600)]
qa/tasks/ceph_manager: fix chmod on log dir during pg export copy

With cephadm, we should chmod both /var/log/ceph and /var/log/ceph/$fsid.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agorgw: bucket sync: invalidate hints data if raced with another writer 31686/head
Yehuda Sadeh [Tue, 28 Jan 2020 19:36:41 +0000 (11:36 -0800)]
rgw: bucket sync: invalidate hints data if raced with another writer

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
5 years agoosd: dispatch_context and queue split finish on early bail-out 32942/head
Sage Weil [Tue, 28 Jan 2020 19:33:49 +0000 (13:33 -0600)]
osd: dispatch_context and queue split finish on early bail-out

If we bail out of advance_pg early because there is an upcoming merge, we
still need to dispatch_context() on rctx before we drop the PG lock.  And
the rctx that we submit needs to include the on_applied finisher comit
to call _finish_splits.

This is noticeable (at least) when there is a split and merge that are
both known.  When we process the split, the new child is added to new_pgs.
When we get to the merge epoch, we stop early and take the bail-out
path.

Fix by adding a dispatch_context call for this path.  And further make sure
that both dispatch_context callers in this function queue up the
new_pgs event.

Fixes: https://tracker.ceph.com/issues/43825
Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa: remove rados/basic/tasks/rgw_snaps.yml 32940/head
Ali Maredia [Tue, 28 Jan 2020 19:12:57 +0000 (14:12 -0500)]
qa: remove rados/basic/tasks/rgw_snaps.yml

rgw_snaps tasks should not be running in the rados suite.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
5 years agorgw: fix compilation after rebase
Yehuda Sadeh [Tue, 28 Jan 2020 18:34:02 +0000 (10:34 -0800)]
rgw: fix compilation after rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>