]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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 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>
6 years agomds/SnapServer: make not about pre-octopus compat code
Sage Weil [Tue, 11 Jun 2019 14:32:34 +0000 (09:32 -0500)]
mds/SnapServer: make not about pre-octopus compat code

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: implement scrub_purged_snaps command
Sage Weil [Mon, 10 Jun 2019 22:31:54 +0000 (17:31 -0500)]
osd: implement scrub_purged_snaps command

This a naive one-shot implementation that does the full scan synchronously
in the command thread.  It shouldn't block any IO except to the extent
that it will compete for IO reading the underlying snapmapper omap object.

When we discover mapped objects that are covered by ranges of snaps that
should be purged, we requeue the snapid for trim on the relevant PG(s).
For these 'repeat' trims we skip the final step(s) to mark the snapid as
purged, since that presumably already happened some time ago.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/PrimaryLogPG: always remove the snap we are trimming
Sage Weil [Mon, 10 Jun 2019 22:31:08 +0000 (17:31 -0500)]
osd/PrimaryLogPG: always remove the snap we are trimming

This doesn't change behavior (yet), since we only trim snaps that are
marked for removal in the OSDMap.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph_test_rados_api_snapshots_pp: (partial) test to reproduce stray clones
Sage Weil [Mon, 10 Jun 2019 22:25:45 +0000 (17:25 -0500)]
ceph_test_rados_api_snapshots_pp: (partial) test to reproduce stray clones

The test creates a snap, removes it, waits for it to (hopefully) purge,
and then uses that snapid in a snapc to generate a clone.

This isn't a complete test because (1) it doesn't wait for the purge to
happen (e.g., by watching the osdmaps go by), and (2) it doesn't trigger
an osd scrub_purged_snaps afterwards.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: sync old purged_snaps on startup after upgrade or osd creation
Sage Weil [Mon, 10 Jun 2019 15:13:49 +0000 (10:13 -0500)]
osd: sync old purged_snaps on startup after upgrade or osd creation

This path only triggers after an upgrade or osd creation, when
purged_snaps_last < current_epoch.  When that happens, we slurp down the
old purged snaps so that we have a full history recorded locally.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: record purged_snaps when we store new maps
Sage Weil [Mon, 10 Jun 2019 15:12:04 +0000 (10:12 -0500)]
osd: record purged_snaps when we store new maps

When we get a new map, record the (new) purged_snaps.

Only do this if the OSD has purged_snaps that are in sync with the latest
OSDMap.  That means that after an upgrade, if the OSD didn't sync the
old purged_snaps on startup, it won't sync anything until it *next* starts
up.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: add messages to get past purged_snaps
Sage Weil [Mon, 10 Jun 2019 15:10:34 +0000 (10:10 -0500)]
mon/OSDMonitor: add messages to get past purged_snaps

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: record pre-octopus purged snaps with first octopus map
Sage Weil [Fri, 7 Jun 2019 21:08:27 +0000 (16:08 -0500)]
mon/OSDMonitor: record pre-octopus purged snaps with first octopus map

When we public our first require_osd_release >= octopus osdmap, record
all prior purged snaps in a key linked to the previous osdmap.  We assume
this will encode and fit into a single key and transaction because the
even larger set of removed_snaps is already a member of pg_pool_t, which
is included in every osdmap.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: record purged_snaps for each epoch
Sage Weil [Fri, 7 Jun 2019 20:03:28 +0000 (15:03 -0500)]
mon/OSDMonitor: record purged_snaps for each epoch

Only do this if the mons are all running octopus (and thus there is also
a record for all the pre-octopus purged snaps).

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: make_snap_epoch_key -> make_removed_snap_epoch_key
Sage Weil [Fri, 7 Jun 2019 19:51:01 +0000 (14:51 -0500)]
mon/OSDMonitor: make_snap_epoch_key -> make_removed_snap_epoch_key

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/osd_types: add purged_snaps_last to OSDSuperblock
Sage Weil [Fri, 7 Jun 2019 18:48:49 +0000 (13:48 -0500)]
osd/osd_types: add purged_snaps_last to OSDSuperblock

Make this 0 for old encodings or new superblocks.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/osd_types: clean up initial values for OSDSuperblock
Sage Weil [Fri, 7 Jun 2019 18:48:34 +0000 (13:48 -0500)]
osd/osd_types: clean up initial values for OSDSuperblock

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: make {removed,purged}_snap storage more efficient
Sage Weil [Fri, 7 Jun 2019 15:57:53 +0000 (10:57 -0500)]
mon/OSDMonitor: make {removed,purged}_snap storage more efficient

Merge adjacent extents to keep the database smaller and lookups more
efficient.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: move (removed, purged) snap update into a helper
Sage Weil [Fri, 7 Jun 2019 15:57:04 +0000 (10:57 -0500)]
mon/OSDMonitor: move (removed, purged) snap update into a helper

This is trivial at the moment, but we'll make it clever next.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: generalize/refactor lookup_*_snap
Sage Weil [Fri, 7 Jun 2019 15:51:52 +0000 (10:51 -0500)]
mon/OSDMonitor: generalize/refactor lookup_*_snap

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: refactor snap key and value helpers
Sage Weil [Fri, 7 Jun 2019 15:48:24 +0000 (10:48 -0500)]
mon/OSDMonitor: refactor snap key and value helpers

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: make_snap_key -> make_removed_snap_key, make_purged_snap_key
Sage Weil [Fri, 7 Jun 2019 15:42:56 +0000 (10:42 -0500)]
mon/OSDMonitor: make_snap_key -> make_removed_snap_key, make_purged_snap_key

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: fix lookup_purged_snap implementation
Sage Weil [Fri, 7 Jun 2019 15:23:18 +0000 (10:23 -0500)]
mon/OSDMonitor: fix lookup_purged_snap implementation

- look at purged, not removed snap keys
- fix the key check to look at the *key name* prefix, not the overall
  prefix (the one implemented by the KeyValueDB interface).

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: lookup_pruned_snap -> lookup_purged_snap
Sage Weil [Fri, 7 Jun 2019 15:21:16 +0000 (10:21 -0500)]
mon/OSDMonitor: lookup_pruned_snap -> lookup_purged_snap

This confused me and sent me into the weeds.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd: adjust snapmapper keys on first start as octopus
Sage Weil [Thu, 6 Jun 2019 19:37:07 +0000 (14:37 -0500)]
osd: adjust snapmapper keys on first start as octopus

Convert snapmapper keys to the new form the first time we start up running
octopus.

This is an incompat feature--once you start as octopus you can't go back.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/SnapMapper: include poolid in snap index
Sage Weil [Wed, 5 Jun 2019 21:53:25 +0000 (16:53 -0500)]
osd/SnapMapper: include poolid in snap index

We want to sort starting with (pool, snapid, ...) so that we align with
the structure of the purged_snaps.  Simply flattening all snaps across
pools is less than ideal because the purge records are intervals (with the
snap in the key the last snap for the interval); flattening means we'd have
to look at many records (across pools) to conclude anything.  Putting
these in the form we really want them simplifies things going forward.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/OSDMonitor: document osd snap metadata format
Sage Weil [Wed, 5 Jun 2019 21:50:53 +0000 (16:50 -0500)]
mon/OSDMonitor: document osd snap metadata format

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/SnapMapper: document stored keys and values
Sage Weil [Tue, 4 Jun 2019 19:23:16 +0000 (14:23 -0500)]
osd/SnapMapper: document stored keys and values

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