]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agoclient: do not return EEXIST for mkdirs 28003/head
Patrick Donnelly [Tue, 16 Jul 2019 13:52:23 +0000 (06:52 -0700)]
client: do not return EEXIST for mkdirs

Behavior should be similar to `mkdir -p`.

Introduced-by: 26905ca82776e8119a347a9a2e8d65c272c7ed62
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agopybind/mgr/volumes: print exceptions in purge thread
Patrick Donnelly [Tue, 16 Jul 2019 01:27:31 +0000 (18:27 -0700)]
pybind/mgr/volumes: print exceptions in purge thread

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agopybind/mgr/volumes: refactor trash readdir
Patrick Donnelly [Mon, 15 Jul 2019 23:56:32 +0000 (16:56 -0700)]
pybind/mgr/volumes: refactor trash readdir

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agopybind/mgr/volumes: use existing client provided recursive mkdir
Patrick Donnelly [Mon, 15 Jul 2019 23:39:50 +0000 (16:39 -0700)]
pybind/mgr/volumes: use existing client provided recursive mkdir

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agopybind/mgr/volumes: cleanup fs removal
Patrick Donnelly [Mon, 15 Jul 2019 20:09:06 +0000 (13:09 -0700)]
pybind/mgr/volumes: cleanup fs removal

In Nautilus, the simplest sequence is:

    fs fail name
    fs rm name --yes-i-really-mean-it

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agopybind/mgr/subvolumes: use bytes for paths
Patrick Donnelly [Wed, 10 Jul 2019 23:08:29 +0000 (16:08 -0700)]
pybind/mgr/subvolumes: use bytes for paths

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agopybind/mgr/volumes: remove unused property
Patrick Donnelly [Wed, 10 Jul 2019 23:10:45 +0000 (16:10 -0700)]
pybind/mgr/volumes: remove unused property

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agotest: add basic purge queue validation test
Venky Shankar [Thu, 20 Jun 2019 10:00:40 +0000 (06:00 -0400)]
test: add basic purge queue validation test

.. and since we have async subvolume deletes now, check
trash directory for emptiness in other tests.

Fixes: http://tracker.ceph.com/issues/40036
Signed-off-by: Venky Shankar <vshankar@redhat.com>
6 years agomgr / volumes: schedule purge job for volumes on init
Venky Shankar [Tue, 18 Jun 2019 04:37:59 +0000 (00:37 -0400)]
mgr / volumes: schedule purge job for volumes on init

So as to kickstart leftover subvolume purges.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
6 years agomgr / volumes: purge queue for async subvolume delete
Venky Shankar [Mon, 17 Jun 2019 12:21:43 +0000 (08:21 -0400)]
mgr / volumes: purge queue for async subvolume delete

Support asynchronous subvolume deletes by handing off the delete
operation to a dedicated set of threads. A subvolume delete operation
renames the subvolume (subdirectory) to a unique trash path entry
and signals the set of worker threads to pick up entries from the
trash directory for background removal.

This commit implements a `thread pool` strategy as a class mixin.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
6 years agomgr / volumes: maintain connection pool for fs volumes
Venky Shankar [Mon, 17 Jun 2019 09:36:54 +0000 (05:36 -0400)]
mgr / volumes: maintain connection pool for fs volumes

Right now every [sub]volume call does a connect/disconnect to the
cephfs filesystem. This is unnecessary and can be optimized by
caching the filesystem handle in a connection pool and (re)using
the handle for subsequent [sub]volume operations.

This would be useful for implementing features such as purge queue
for asynchronous subvolume deletes.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
6 years agomgr / volumes: wrap rmtree() call within try..except block
Venky Shankar [Fri, 5 Jul 2019 09:51:54 +0000 (05:51 -0400)]
mgr / volumes: wrap rmtree() call within try..except block

This will be invoked by purge threads, so be sure to catch all
exceptions and return proper error codes appropriately.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
6 years agomgr / volumes: use negative error codes everywhere
Venky Shankar [Fri, 5 Jul 2019 09:50:42 +0000 (05:50 -0400)]
mgr / volumes: use negative error codes everywhere

cephfs python binding returns positive error code. mgr/volumes
incorrectly does error code checks assuming the error codes to
be negative.

this was not an issue till now since mgr/volumes mostly does a
`raise VolumeException()` for the most part followed by the exception
being displayed to the operator (one exception is catching cephfs
ObjectNotFound error, in which case -errno.ENOENT is returned
(and checked whereever required)).

Signed-off-by: Venky Shankar <vshankar@redhat.com>
6 years agotest: cleanup removing all subvolumes before removing subvolume group
Venky Shankar [Fri, 5 Jul 2019 15:09:18 +0000 (11:09 -0400)]
test: cleanup removing all subvolumes before removing subvolume group

Test `test_subvolume_create_with_desired_mode_in_group()` creates three
subvolume in a subvolume group. During cleanup, it only removed two of
the three subvolumes. This causes failure when removing the subvolume
group since it's not empty.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
6 years agoMerge pull request #28859 from tchaikov/wip-40646
Kefu Chai [Sat, 6 Jul 2019 04:40:47 +0000 (12:40 +0800)]
Merge pull request #28859 from tchaikov/wip-40646

ceph.spec.in: pin to gcc-c++-8.2.1

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
6 years agoMerge pull request #28838 from tchaikov/wip-rgw-printf-size_t
J. Eric Ivancich [Fri, 5 Jul 2019 21:20:58 +0000 (17:20 -0400)]
Merge pull request #28838 from tchaikov/wip-rgw-printf-size_t

rgw/rgw_client_io_filters.h: print size_t the portable way

6 years agoMerge pull request #28617 from zhangsw/rgw-fix-lifecycle-tag
J. Eric Ivancich [Fri, 5 Jul 2019 21:20:17 +0000 (17:20 -0400)]
Merge pull request #28617 from zhangsw/rgw-fix-lifecycle-tag

rgw: Object tags shouldn't work with deletemarker or multipart expiration

6 years agoMerge pull request #28256 from theanalyst/rgw-lc-placement-target-fixes
J. Eric Ivancich [Fri, 5 Jul 2019 21:19:41 +0000 (17:19 -0400)]
Merge pull request #28256 from theanalyst/rgw-lc-placement-target-fixes

rgw: lc: check for valid placement target before processing transitions

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
6 years agoMerge pull request #28905 from adamemerson/wip-fix-crimson-test-build
Adam C. Emerson [Fri, 5 Jul 2019 20:52:24 +0000 (16:52 -0400)]
Merge pull request #28905 from adamemerson/wip-fix-crimson-test-build

rgw: Fix narrowing conversion error

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoMerge pull request #28192 from tianshan/fix_39989
Matt Benjamin [Fri, 5 Jul 2019 20:21:46 +0000 (16:21 -0400)]
Merge pull request #28192 from tianshan/fix_39989

rgw: fix list bucket with start maker and delimiter '/' will miss next object…

6 years agoMerge pull request #28902 from tchaikov/wip-fix-crimson-test-build
Kefu Chai [Fri, 5 Jul 2019 17:52:01 +0000 (01:52 +0800)]
Merge pull request #28902 from tchaikov/wip-fix-crimson-test-build

test/crimson: fix FTBFS

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agotest/crimson: fix FTBFS 28902/head
Kefu Chai [Fri, 5 Jul 2019 14:51:10 +0000 (22:51 +0800)]
test/crimson: fix FTBFS

Connection::send_message(Message*)

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agorgw: Fix narrowing conversion error 28905/head
Adam C. Emerson [Fri, 5 Jul 2019 16:08:18 +0000 (12:08 -0400)]
rgw: Fix narrowing conversion error

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
6 years agoceph.spec.in,install-dep.sh: pin to gcc-c++-8.2.1 28859/head
Kefu Chai [Wed, 3 Jul 2019 13:20:45 +0000 (21:20 +0800)]
ceph.spec.in,install-dep.sh: pin to gcc-c++-8.2.1

as an intermediate solution before
https://bugzilla.redhat.com/show_bug.cgi?id=1726630 gets fixed.

Fixes: https://tracker.ceph.com/issues/40646
Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #28890 from cyx1231st/wip-seastar-msgr-msgreuse
Kefu Chai [Fri, 5 Jul 2019 13:11:46 +0000 (21:11 +0800)]
Merge pull request #28890 from cyx1231st/wip-seastar-msgr-msgreuse

crimson/net: prevent reusing the sent messages

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: change to use make_message() 28890/head
Yingxin Cheng [Fri, 5 Jul 2019 14:07:59 +0000 (22:07 +0800)]
crimson: change to use make_message()

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
6 years agocrimson/net: check front_msg correctly during sweep
Yingxin Cheng [Fri, 5 Jul 2019 10:34:05 +0000 (18:34 +0800)]
crimson/net: check front_msg correctly during sweep

In order to check whether the front_msg is unchanged, we need to make sure:
* The sent message is not reused;
* The message to be checked is not freed;

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
6 years agocrimson/net: prevent reusing the sent messages
Yingxin Cheng [Fri, 5 Jul 2019 09:32:41 +0000 (17:32 +0800)]
crimson/net: prevent reusing the sent messages

We are tracking sent messages by seq, so reusing messages will cause
undefined behavior because seq should not be shared between different
messages.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
6 years agoMerge pull request #28858 from callithea/wip-issue-40395
Ricardo Marques [Fri, 5 Jul 2019 11:19:21 +0000 (12:19 +0100)]
Merge pull request #28858 from callithea/wip-issue-40395

mgr/dashboard: Extend E2E test section

Reviewed-by: Patrick Nawracay <pnawracay@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
6 years agomgr/dashboard: use mds_mem.dn for fs dentries (#28505)
Lenz Grimmer [Fri, 5 Jul 2019 09:42:01 +0000 (11:42 +0200)]
mgr/dashboard: use mds_mem.dn for fs dentries (#28505)

mgr/dashboard: use mds_mem.dn for fs dentries

Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agoMerge pull request #28876 from tchaikov/wip-cmake-vstart-with-cython_cephfs
Kefu Chai [Fri, 5 Jul 2019 06:00:21 +0000 (14:00 +0800)]
Merge pull request #28876 from tchaikov/wip-cmake-vstart-with-cython_cephfs

cmake: add cython_cephfs to vstart target

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge pull request #28845 from ifed01/wip-ifed-fix-alloc-dump
Kefu Chai [Fri, 5 Jul 2019 03:28:30 +0000 (11:28 +0800)]
Merge pull request #28845 from ifed01/wip-ifed-fix-alloc-dump

os/bluestore: more smart allocator dump when lacking space for bluefs.

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
6 years agoMerge pull request #28651 from ifed01/wip-ifed-remove-assert-bs-tool
Kefu Chai [Fri, 5 Jul 2019 03:12:53 +0000 (11:12 +0800)]
Merge pull request #28651 from ifed01/wip-ifed-remove-assert-bs-tool

os/bluestore/bluestore-tool: minor fixes around migrate

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
6 years agoMerge pull request #28732 from tchaikov/wip-32bit-size_t
Kefu Chai [Fri, 5 Jul 2019 03:07:05 +0000 (11:07 +0800)]
Merge pull request #28732 from tchaikov/wip-32bit-size_t

osdc/Striper: specialize std::min<>

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge pull request #28829 from tchaikov/wip-dmclock-uint
Kefu Chai [Fri, 5 Jul 2019 03:06:09 +0000 (11:06 +0800)]
Merge pull request #28829 from tchaikov/wip-dmclock-uint

dmclock: pick up fix to replace uint

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
6 years agoMerge pull request #27834 from rzarzynski/wip-nss-drop-cms
Kefu Chai [Fri, 5 Jul 2019 03:03:33 +0000 (11:03 +0800)]
Merge pull request #27834 from rzarzynski/wip-nss-drop-cms

rgw, common, build: drop NSS support

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoos/bluestore/bluestore-tool: omit device from both source and taget 28651/head
Igor Fedotov [Wed, 19 Jun 2019 14:26:25 +0000 (17:26 +0300)]
os/bluestore/bluestore-tool: omit device from both source and taget
lists when migrating.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
6 years agoos/bluestore/bluestore-tool: fix error output
Igor Fedotov [Wed, 19 Jun 2019 12:07:19 +0000 (15:07 +0300)]
os/bluestore/bluestore-tool: fix error output

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
6 years agoos/bluestore/bluestore-tool: do not assert when migrate command fails.
Igor Fedotov [Wed, 19 Jun 2019 10:55:39 +0000 (13:55 +0300)]
os/bluestore/bluestore-tool: do not assert when migrate command fails.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
6 years agoMerge pull request #28835 from croit/fix-24420
Kefu Chai [Thu, 4 Jul 2019 17:02:32 +0000 (01:02 +0800)]
Merge pull request #28835 from croit/fix-24420

debian/control: add python-routes dependency for dashboard

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #28877 into master
Sage Weil [Thu, 4 Jul 2019 14:17:11 +0000 (09:17 -0500)]
Merge PR #28877 into master

* refs/pull/28877/head:
doc/dev/corpus.rst: minor tweaks

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #28856 from tchaikov/wip-rbd-nbd-basename
Kefu Chai [Thu, 4 Jul 2019 14:09:51 +0000 (22:09 +0800)]
Merge pull request #28856 from tchaikov/wip-rbd-nbd-basename

tools/rbd_nbd: use POSIX basename()

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge pull request #28875 from tchaikov/wip-mgr-volumes-cleanup
Ramana Raja [Thu, 4 Jul 2019 10:45:47 +0000 (16:15 +0530)]
Merge pull request #28875 from tchaikov/wip-mgr-volumes-cleanup

mgr/volumes: do not import unused module

6 years agodoc/dev/corpus.rst: minor tweaks 28877/head
Kefu Chai [Thu, 4 Jul 2019 08:13:45 +0000 (16:13 +0800)]
doc/dev/corpus.rst: minor tweaks

the executables are located in build/bin after we switched to cmake

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocmake: add cython_cephfs to vstart target 28876/head
Kefu Chai [Thu, 4 Jul 2019 07:07:06 +0000 (15:07 +0800)]
cmake: add cython_cephfs to vstart target

in vstart.sh, if MDS is enabled, `ceph fs volume create` is used to
create cephfs volume. and `fs volume create` command is implemented by
`src/pybind/mgr/volumes/module.py`, which in turn uses `cephfs` python
binding indirectly. so we need to add `cephfs` to `vstart` target to
facilidate the cephfs development using vstart.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agomgr/volumes: do not import unused module 28875/head
Kefu Chai [Thu, 4 Jul 2019 07:01:28 +0000 (15:01 +0800)]
mgr/volumes: do not import unused module

cephfs is not used in this module, so drop its `import`

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #28753 from tchaikov/wip-doc-conf
Kefu Chai [Thu, 4 Jul 2019 05:23:24 +0000 (13:23 +0800)]
Merge pull request #28753 from tchaikov/wip-doc-conf

doc/rados/configuration: update to be in sync with ConfUtils changes

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
6 years agoMerge pull request #28803 from badone/wip-ceph_ansible_upgrade-ansible-2.8
Brad Hubbard [Thu, 4 Jul 2019 04:51:18 +0000 (14:51 +1000)]
Merge pull request #28803 from badone/wip-ceph_ansible_upgrade-ansible-2.8

qa/ceph-ansible: Move to ansible 2.8

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
6 years agoMerge pull request #28807 from badone/wip-ceph_ansible-cephfs_pools-pg_num-fix
Brad Hubbard [Thu, 4 Jul 2019 04:50:12 +0000 (14:50 +1000)]
Merge pull request #28807 from badone/wip-ceph_ansible-cephfs_pools-pg_num-fix

qa/ceph-ansible: Replace pgs with pg_num

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
6 years agoMerge PR #28867 into master
Sage Weil [Thu, 4 Jul 2019 02:27:20 +0000 (21:27 -0500)]
Merge PR #28867 into master

* refs/pull/28867/head:
qa/standalone/ceph-helpers: more osd debug

Reviewed-by: David Zafman <dzafman@redhat.com>
6 years agoMerge PR #28865 into master
Sage Weil [Thu, 4 Jul 2019 02:26:57 +0000 (21:26 -0500)]
Merge PR #28865 into master

* refs/pull/28865/head:
mon/OSDMonitor: fix _lookup_snap to verify the pool matches
ceph_test_rados_api_*: make failing to clean up namespace non-fatal
osd: store purged_snaps history under separate object

Reviewed-by: Samuel Just <sjust@redhat.com>
6 years agoMerge PR #28864 into master
Sage Weil [Wed, 3 Jul 2019 23:33:06 +0000 (18:33 -0500)]
Merge PR #28864 into master

* refs/pull/28864/head:
doc/releases/releases.yaml: set target EOL to Jun 1 for L and M
doc/releases: update schedule to describe a 12-month cycle

Reviewed-by: Noah Watkins <nwatkins@redhat.com>
6 years agoMerge pull request #28334 from dzafman/wip-40073
David Zafman [Wed, 3 Jul 2019 22:27:27 +0000 (15:27 -0700)]
Merge pull request #28334 from dzafman/wip-40073

osd: Fix the way that auto repair triggers after regular scrub

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
6 years agoqa/standalone/ceph-helpers: more osd debug 28867/head
Sage Weil [Wed, 3 Jul 2019 21:53:00 +0000 (16:53 -0500)]
qa/standalone/ceph-helpers: more osd debug

debug_ms=1
debug_monc=20

Hunting down http://tracker.ceph.com/issues/40666

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: fix _lookup_snap to verify the pool matches 28865/head
Sage Weil [Wed, 3 Jul 2019 20:52:55 +0000 (15:52 -0500)]
mon/OSDMonitor: fix _lookup_snap to verify the pool matches

We don't want to get false positives from keys for other pools.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #28866 from alfredodeza/wip-rm40665
Andrew Schoen [Wed, 3 Jul 2019 20:16:23 +0000 (15:16 -0500)]
Merge pull request #28866 from alfredodeza/wip-rm40665

ceph-volume broken assertion errors after pytest changes

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoceph-volume api.lvm catch IndexError when parsing dmmapper output 28866/head
Alfredo Deza [Wed, 3 Jul 2019 18:59:18 +0000 (14:59 -0400)]
ceph-volume api.lvm catch IndexError when parsing dmmapper output

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoceph-volume tests update to use error.value instead of str(error)
Alfredo Deza [Wed, 3 Jul 2019 18:58:31 +0000 (14:58 -0400)]
ceph-volume tests update to use error.value instead of str(error)

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoceph_test_rados_api_*: make failing to clean up namespace non-fatal
Sage Weil [Wed, 3 Jul 2019 18:30:55 +0000 (13:30 -0500)]
ceph_test_rados_api_*: make failing to clean up namespace non-fatal

If we leak snaps, failing to clean up a namespace can happen and won't
get fixed until we scrub purged_snaps.  Make this a non-fatal condition.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: store purged_snaps history under separate object
Sage Weil [Wed, 3 Jul 2019 18:29:15 +0000 (13:29 -0500)]
osd: store purged_snaps history under separate object

We can't put this in the snapmapper object because filestore does not
allow multiple concurrent omap iterators on the same object.  (This is a
limitation that could be fixed with some read/write locking, but not
without some significant changes to DBObjectMap; since that is old crufty
legacy code let's avoid touching it!)

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #28788 from hjwsm1989/cleanup-debian
Kefu Chai [Wed, 3 Jul 2019 16:33:14 +0000 (00:33 +0800)]
Merge pull request #28788 from hjwsm1989/cleanup-debian

debian: remove dup ceph-fuse line

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agodoc/releases/releases.yaml: set target EOL to Jun 1 for L and M 28864/head
Sage Weil [Wed, 3 Jul 2019 15:55:03 +0000 (10:55 -0500)]
doc/releases/releases.yaml: set target EOL to Jun 1 for L and M

Don't list an actual Luminous EOL yet.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agodoc/releases: update schedule to describe a 12-month cycle
Sage Weil [Wed, 3 Jul 2019 15:54:39 +0000 (10:54 -0500)]
doc/releases: update schedule to describe a 12-month cycle

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agodebian/control: add python-routes dependency 28835/head
Paul Emmerich [Tue, 2 Jul 2019 10:58:08 +0000 (12:58 +0200)]
debian/control: add python-routes dependency

the dashboard requires python-routes via cherrypy/_cpdispatch.py during runtime
but the cherrypy debian package only recommends it and doesn't depend on it

Fixes: https://tracker.ceph.com/issues/24420
Signed-off-by: Paul Emmerich <paul.emmerich@croit.io>
6 years agoMerge PR #28785 into master
Sage Weil [Wed, 3 Jul 2019 13:30:51 +0000 (08:30 -0500)]
Merge PR #28785 into master

* refs/pull/28785/head:
osd/PrimaryLogPG: do_op - do not create head object twice

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #28782 into master
Sage Weil [Wed, 3 Jul 2019 13:24:29 +0000 (08:24 -0500)]
Merge PR #28782 into master

* refs/pull/28782/head:
common/options.cc: Lower the default value of osd_deep_scrub_large_omap_object_key_threshold

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #28821 into master
Sage Weil [Wed, 3 Jul 2019 13:24:02 +0000 (08:24 -0500)]
Merge PR #28821 into master

* refs/pull/28821/head:
os/bluestore/bluefs_types: consolidate contiguous extents

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
6 years agoMerge PR #28330 into master
Sage Weil [Wed, 3 Jul 2019 13:22:34 +0000 (08:22 -0500)]
Merge PR #28330 into master

* refs/pull/28330/head:
osd: drop osd_lock during scrub
ceph_test_rados_api_tier_pp: tolerate ENOENT or success from deleted snap
osd: automatically scrub purged_snaps every deep scrub interval
osd: move scrub_purged_snaps to helper
osd/OSDMap: SERVER_OCTOPUS feature bit is now significant
ceph_test_rados_api_snapshots_pp: drop unnecessary assert
mon/OSDMonitor: record last_purged_snaps_scrub from beacon to osdmap
osd: report last_purged_snaps_scrub as part of beacon
osd: log purged_snaps scrub to cluster log
osd: record last_purged_snaps_scrub in superblock
osd/OSDMap: add last_purged_snaps_stamp to osd_xinfo_t
mon/OSDMonitor: fix bug in try_prune_purged_snaps
mon/OSDMonitor: record snap removal seq as purged
mon/OSDMonitor: do not bother reporting gaps in removed_snaps
osdc/Objecter: don't worry about gap_removed_snaps from map gaps
mds/SnapServer: make not about pre-octopus compat code
osd: implement scrub_purged_snaps command
osd/PrimaryLogPG: always remove the snap we are trimming
ceph_test_rados_api_snapshots_pp: (partial) test to reproduce stray clones
osd: sync old purged_snaps on startup after upgrade or osd creation
osd: record purged_snaps when we store new maps
mon/OSDMonitor: add messages to get past purged_snaps
mon/OSDMonitor: record pre-octopus purged snaps with first octopus map
mon/OSDMonitor: record purged_snaps for each epoch
mon/OSDMonitor: make_snap_epoch_key -> make_removed_snap_epoch_key
osd/osd_types: add purged_snaps_last to OSDSuperblock
osd/osd_types: clean up initial values for OSDSuperblock
mon/OSDMonitor: make {removed,purged}_snap storage more efficient
mon/OSDMonitor: move (removed, purged) snap update into a helper
mon/OSDMonitor: generalize/refactor lookup_*_snap
mon/OSDMonitor: refactor snap key and value helpers
mon/OSDMonitor: make_snap_key -> make_removed_snap_key, make_purged_snap_key
mon/OSDMonitor: fix lookup_purged_snap implementation
mon/OSDMonitor: lookup_pruned_snap -> lookup_purged_snap
osd: adjust snapmapper keys on first start as octopus
osd/SnapMapper: include poolid in snap index
mon/OSDMonitor: document osd snap metadata format
osd/SnapMapper: document stored keys and values
mon/OSDMonitor: use structured binding for prepare_remove_snaps
mon/OSDMonitor: send MRemoveSnaps back to octopus MDS
mds/SnapServer: handle MRemoveSnaps acks from mon
CMakeLists: include 'cephfs' (which includes libcephfs) in 'vstart' target
mon/PaxosService: add C_ReplyOp
vnewosd.sh: add script to add a new osd to an existing vstart
vstart.sh: remove useless auth add for osds
vstart.sh: wait for mgr volume module to start up
mon/OSDMonitor: make snap removal handle dups safely
mon/OSDMonitor: only update removed_snaps when pre-octopus
ceph_test_rados: stop doing long object names
ceph_test_rados_api_tier_pp: fix osd version checks
osd/PrimaryLogPG: use get_ssc_as_of for snapc for flushing clones
osd/PrimaryLogPG: only maintain SnapSet::snaps for pre-octopus compat
mon/OSDMonitor: only maintain pg_pool_t::removed_snaps for pre-octopus
osd/osd_types: mark SnapSet::snaps as legacy
osd/osd_types: SnapSet::get_ssc_as_of: use clone_snaps
osd/PrimaryLogPG: change fabrication of promoted clone snaps
osd/PrimaryLogPG: only filter SnapSet::snaps for flush for pre-octopus compat
osd/PrimaryLogPG: trim_objects: only filter SnapSet::snaps for pre-octopus
osd/PrimaryLogPG: make best effort to sanitize clones on copy-from
mds/SnapServer: int -> int32_t for encoded type
messages/MRemoveSnaps: int -> int32_t on encoded type
osd/PrimaryLogPG: find_object_context: trust SnapSet's clone_snaps
osd/PrimaryLogPG: use osdmap removed_snaps_queue for snap trimming
mon/OSDMonitor: avoid is_removed_snap()
osd/PeeringState: drop some mimic conditionals
osd/PG: drop pre-mimic snap_trimq code
osd/PeeringState: removed pre-mimic removed snap tracking
osd: move snap_interval_set_t to osd_types
mon: drop mon_debug_no_require_mimic
mon/OSDMonitor: remove pre-mimic snap behavior support
mon/OSDMonitor: remove support for pre-mimic conversion
osd/osd_types: remove build_removed_snaps(), maybe_update_removed_snaps()
osd: remove luminous compat code for removed_snaps

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agomgr/dashboard: RGW rest client instances cache eviction (#28480)
Volker Theile [Wed, 3 Jul 2019 09:45:29 +0000 (11:45 +0200)]
mgr/dashboard: RGW rest client instances cache eviction (#28480)

mgr/dashboard: RGW rest client instances cache eviction

Reviewed-by: Patrick Nawracay <pnawracay@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agoMerge pull request #28265 from ricardoasmarques/wip-iscsi-logged-in
Lenz Grimmer [Wed, 3 Jul 2019 09:34:37 +0000 (11:34 +0200)]
Merge pull request #28265 from ricardoasmarques/wip-iscsi-logged-in

mgr/dashboard: Display iSCSI "logged in" info

Reviewed-by: Tiago Melo <tmelo@suse.com>
6 years agomgr/dashboard: Pool list shows current r/w byte usage in graph (#28153)
Lenz Grimmer [Wed, 3 Jul 2019 09:26:30 +0000 (11:26 +0200)]
mgr/dashboard: Pool list shows current r/w byte usage in graph (#28153)

mgr/dashboard: Pool list shows current r/w byte usage in graph

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agomgr/dashboard: Allow viewing and setting pool quotas (#27945)
Lenz Grimmer [Wed, 3 Jul 2019 09:20:25 +0000 (11:20 +0200)]
mgr/dashboard: Allow viewing and setting pool quotas (#27945)

mgr/dashboard: Allow viewing and setting pool quotas

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
6 years agomgr/dashboard: fix MDS charts are stacked in Filesystems page (#28341)
Lenz Grimmer [Wed, 3 Jul 2019 09:17:50 +0000 (11:17 +0200)]
mgr/dashboard: fix MDS charts are stacked in Filesystems page (#28341)

mgr/dashboard: fix MDS charts are stacked in Filesystems page

Reviewed-by: Ricardo Marques <rimarques@suse.com>
6 years agomgr/dashboard: Interlock `fast-diff` and `object-map` RBD imag… (#28076)
Lenz Grimmer [Wed, 3 Jul 2019 09:13:20 +0000 (11:13 +0200)]
mgr/dashboard: Interlock `fast-diff` and `object-map` RBD imag… (#28076)

mgr/dashboard: Interlock `fast-diff` and `object-map` RBD image features

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
6 years agoMerge pull request #27997 from LenzGr/master-documentation
Ricardo Marques [Wed, 3 Jul 2019 08:23:52 +0000 (09:23 +0100)]
Merge pull request #27997 from LenzGr/master-documentation

doc: Added dashboard features, improved wording

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Patrick Nawracay <pnawracay@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
6 years agomgr/dashboard: fix HACKING.rst rendering (#28841)
Volker Theile [Wed, 3 Jul 2019 08:10:40 +0000 (10:10 +0200)]
mgr/dashboard: fix HACKING.rst rendering (#28841)

mgr/dashboard: fix HACKING.rst rendering

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agomgr/dashboard: Extend E2E test section 28858/head
Laura Paduano [Wed, 3 Jul 2019 08:05:13 +0000 (10:05 +0200)]
mgr/dashboard: Extend E2E test section

Fixes: https://tracker.ceph.com/issues/40395
Signed-off-by: Laura Paduano <lpaduano@suse.com>
6 years agoMerge pull request #28542 from cyx1231st/wip-seastar-msgr-perf
Kefu Chai [Wed, 3 Jul 2019 07:41:44 +0000 (15:41 +0800)]
Merge pull request #28542 from cyx1231st/wip-seastar-msgr-perf

test/crimson: improved perf_crimson_msgr with timer and sampled lat

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agotools/rbd_nbd: use POSIX basename() 28856/head
Kefu Chai [Wed, 3 Jul 2019 04:52:15 +0000 (12:52 +0800)]
tools/rbd_nbd: use POSIX basename()

* glibc offers two variants of basename(). one modifies the content of
  `path`, the other does not. to be standard compliant, and to fix
  the FTBFS with musl-libc, we need to use the POSIX variant.
* #include <libgen.h> for basename(3), the POSIX compliant one.

see
http://pubs.opengroup.org/onlinepubs/009695399/functions/basename.html

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #28836 from alfredodeza/wip-toxsleep
Andrew Schoen [Tue, 2 Jul 2019 18:51:56 +0000 (13:51 -0500)]
Merge pull request #28836 from alfredodeza/wip-toxsleep

ceph-volume tests add a sleep in tox for slow OSDs after booting

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agodmclock: pick up fix to replace uint 28829/head
Kefu Chai [Tue, 2 Jul 2019 04:33:31 +0000 (12:33 +0800)]
dmclock: pick up fix to replace uint

`uint` is not available in musl. so this change should address the FTBFS
on distros, like Alpine and Gentoo Linux, which uses musl-libc.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoos/bluestore: more smart allocator dump when lacking space for bluefs. 28845/head
Igor Fedotov [Tue, 2 Jul 2019 16:00:49 +0000 (19:00 +0300)]
os/bluestore: more smart allocator dump when lacking space for bluefs.

Fixes: http://tracker.ceph.com/issues/40623
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
6 years agoosd: drop osd_lock during scrub 28330/head
Sage Weil [Tue, 2 Jul 2019 15:51:57 +0000 (10:51 -0500)]
osd: drop osd_lock during scrub

We do not want to hold osd_lock while calling apply_transaction or else
we may cause a deadlock due to a completion event that needs osd_lock.

Also, we don't need to hold the lock here, so don't.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/dashboard: Add backwards compatibility to interlock of `fast-diff` and `object... 28076/head
Patrick Nawracay [Tue, 18 Jun 2019 12:00:15 +0000 (14:00 +0200)]
mgr/dashboard: Add backwards compatibility to interlock of `fast-diff` and `object-map`

Fixes: http://tracker.ceph.com/issues/39451
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
6 years agomgr/dashboard: Interlock `fast-diff` and `object-map`
Patrick Nawracay [Tue, 18 Jun 2019 11:57:46 +0000 (13:57 +0200)]
mgr/dashboard: Interlock `fast-diff` and `object-map`

Fixes: http://tracker.ceph.com/issues/39451
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
6 years agomgr/dashboard: fix document rendering 28841/head
Tatjana Dehler [Tue, 2 Jul 2019 14:48:18 +0000 (16:48 +0200)]
mgr/dashboard: fix document rendering

Fixes: https://tracker.ceph.com/issues/40523
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
6 years agoceph_test_rados_api_tier_pp: tolerate ENOENT or success from deleted snap
Sage Weil [Sun, 30 Jun 2019 20:06:37 +0000 (15:06 -0500)]
ceph_test_rados_api_tier_pp: tolerate ENOENT or success from deleted snap

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: automatically scrub purged_snaps every deep scrub interval
Sage Weil [Wed, 26 Jun 2019 20:43:25 +0000 (15:43 -0500)]
osd: automatically scrub purged_snaps every deep scrub interval

With randomization.

We do this from tick() for simplicity.  It is a rare event, will take 10s
of seconds at most, and nothing else particularly time-sensitive is
happening from tick().

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: move scrub_purged_snaps to helper
Sage Weil [Wed, 26 Jun 2019 20:21:36 +0000 (15:21 -0500)]
osd: move scrub_purged_snaps to helper

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/OSDMap: SERVER_OCTOPUS feature bit is now significant
Sage Weil [Tue, 18 Jun 2019 17:59:29 +0000 (12:59 -0500)]
osd/OSDMap: SERVER_OCTOPUS feature bit is now significant

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph_test_rados_api_snapshots_pp: drop unnecessary assert
Sage Weil [Wed, 26 Jun 2019 20:06:14 +0000 (15:06 -0500)]
ceph_test_rados_api_snapshots_pp: drop unnecessary assert

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: record last_purged_snaps_scrub from beacon to osdmap
Sage Weil [Wed, 26 Jun 2019 19:30:07 +0000 (14:30 -0500)]
mon/OSDMonitor: record last_purged_snaps_scrub from beacon to osdmap

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: report last_purged_snaps_scrub as part of beacon
Sage Weil [Wed, 26 Jun 2019 19:29:55 +0000 (14:29 -0500)]
osd: report last_purged_snaps_scrub as part of beacon

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: log purged_snaps scrub to cluster log
Sage Weil [Wed, 26 Jun 2019 19:29:41 +0000 (14:29 -0500)]
osd: log purged_snaps scrub to cluster log

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: record last_purged_snaps_scrub in superblock
Sage Weil [Wed, 26 Jun 2019 19:29:25 +0000 (14:29 -0500)]
osd: record last_purged_snaps_scrub in superblock

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/OSDMap: add last_purged_snaps_stamp to osd_xinfo_t
Sage Weil [Wed, 26 Jun 2019 17:51:54 +0000 (12:51 -0500)]
osd/OSDMap: add last_purged_snaps_stamp to osd_xinfo_t

Record OSDs' last scrub of purged_snaps in the OSDMap.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: fix bug in try_prune_purged_snaps
Sage Weil [Fri, 21 Jun 2019 02:54:09 +0000 (21:54 -0500)]
mon/OSDMonitor: fix bug in try_prune_purged_snaps

If 'begin' isn't found, we'll get a [pbegin,pend) range back that was
nearby.  Only if it overlaps the [begin,end) range do we want to shorten
our range to [begin,pbegin); the old assert was making the assumption
that the lookup would only return a range that was after 'begin', but in
reality it can return was that comes before it too.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: record snap removal seq as purged
Sage Weil [Thu, 20 Jun 2019 17:07:38 +0000 (12:07 -0500)]
mon/OSDMonitor: record snap removal seq as purged

When we delete a selfmanaged snap we have to bump seq.  Record this as
purged so that we avoid discontinuities in the history and so our storage
is a bit more efficient.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: do not bother reporting gaps in removed_snaps
Sage Weil [Wed, 12 Jun 2019 21:47:53 +0000 (16:47 -0500)]
mon/OSDMonitor: do not bother reporting gaps in removed_snaps

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosdc/Objecter: don't worry about gap_removed_snaps from map gaps
Sage Weil [Wed, 12 Jun 2019 21:47:29 +0000 (16:47 -0500)]
osdc/Objecter: don't worry about gap_removed_snaps from map gaps

This was an attempt to ensure that we didn't let removed_snaps slip by
when we had a discontiguous stream of OSDMaps.  In octopus, this can still
happen, but it's mostly harmless--the OSDs will periodically scrub to
clean up any resulting stray clones.  It's not worth the complexity.

Signed-off-by: Sage Weil <sage@redhat.com>