Commit Graph

99654 Commits

Author SHA1 Message Date
Brad Hubbard
b673584778
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>
2019-07-04 14:50:12 +10:00
Kiefer Chang
64f31188eb
mgr/dashboard: check embedded Grafana dashboard references
Add a script to check a cd-grafana component always refers to an
existing Grafana dashboard. The check is added as a new tox command.

Fixes: http://tracker.ceph.com/issues/40008

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
2019-07-04 11:22:33 +08:00
Sage Weil
71e5cba00b Merge PR #28867 into master
* refs/pull/28867/head:
	qa/standalone/ceph-helpers: more osd debug

Reviewed-by: David Zafman <dzafman@redhat.com>
2019-07-03 21:27:20 -05:00
Sage Weil
948cd0db43 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>
2019-07-03 21:26:57 -05:00
Sage Weil
e2a0ea78c5 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>
2019-07-03 18:33:06 -05:00
David Zafman
fe3b693d0f
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>
2019-07-03 15:27:27 -07:00
Sage Weil
0d0759531a 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>
2019-07-03 16:53:00 -05:00
David Casier
de439a0a23 ceph-volume: lvm.activate: Return an error if WAL/DB devices absent
Fixes: https://tracker.ceph.com/issues/40100

Signed-off-by: David Casier <david.casier@aevoo.fr>
2019-07-03 23:31:07 +02:00
Sage Weil
0a48392ce0 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>
2019-07-03 15:59:44 -05:00
Andrew Schoen
0144c55336
Merge pull request #28866 from alfredodeza/wip-rm40665
ceph-volume broken assertion errors after pytest changes

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2019-07-03 15:16:23 -05:00
Alfredo Deza
bfff70d07a ceph-volume api.lvm catch IndexError when parsing dmmapper output
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2019-07-03 14:59:54 -04:00
Alfredo Deza
484be7ffb1 ceph-volume tests update to use error.value instead of str(error)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2019-07-03 14:59:53 -04:00
Sage Weil
51c50d0001 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>
2019-07-03 13:30:55 -05:00
Sage Weil
65b7143cd4 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>
2019-07-03 13:29:15 -05:00
Kefu Chai
4fed8e6111
Merge pull request #28788 from hjwsm1989/cleanup-debian
debian: remove dup ceph-fuse line

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-07-04 00:33:14 +08:00
Sage Weil
7d71489b2e 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>
2019-07-03 10:55:03 -05:00
Sage Weil
0bb6556dd3 doc/releases: update schedule to describe a 12-month cycle
Signed-off-by: Sage Weil <sage@redhat.com>
2019-07-03 10:54:39 -05:00
Paul Emmerich
05a59b6d0d 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>
2019-07-03 17:36:49 +02:00
Deepika Upadhyay
33d8efa52d osd: add duration field to dump_historic_ops method
- To make dump_historic_ops more human readable, add duration along
with event and stamp fields to dump_historic_ops method.

- Since the events after being received from the messenger messes up
their chronological order, with'throttled' being received prior to
'header_read' and 'initiated'; replace their order in create_request()
so that we get correct order of event stamps and hence correct
durations.

Signed-off-by: Deepika Upadhyay <deepikaupadhyay01@gmail.com>
2019-07-03 20:59:16 +05:30
Volker Theile
68c78bc3b1 mgr/dashboard: Fix issues in user form
Link labels with correct form fields.

Signed-off-by: Volker Theile <vtheile@suse.com>
2019-07-03 16:58:21 +02:00
Sage Weil
cbccab9df5 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>
2019-07-03 08:30:51 -05:00
Sage Weil
9fa27a252c 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>
2019-07-03 08:24:29 -05:00
Sage Weil
5e2d69b8d8 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>
2019-07-03 08:24:02 -05:00
Sage Weil
1cc7617c8a 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>
2019-07-03 08:22:34 -05:00
Stephan Müller
c5d30b8187 mgr/dashboard: Add succeeded action labels
Succeeded action labels can be used in order to show the right tense
for a succeeded action in a success notification.

Fixes: https://tracker.ceph.com/issues/36722
Signed-off-by: Stephan Müller <smueller@suse.com>
2019-07-03 14:13:28 +02:00
Volker Theile
0951269be6
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>
2019-07-03 11:45:29 +02:00
Lenz Grimmer
8c76bd1da9
Merge pull request #28265 from ricardoasmarques/wip-iscsi-logged-in
mgr/dashboard: Display iSCSI "logged in" info

Reviewed-by: Tiago Melo <tmelo@suse.com>
2019-07-03 11:34:37 +02:00
Lenz Grimmer
797690c8b4
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>
2019-07-03 11:26:30 +02:00
Lenz Grimmer
8a6aec4617
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>
2019-07-03 11:20:25 +02:00
Lenz Grimmer
eb0358dcbc
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>
2019-07-03 11:17:50 +02:00
Lenz Grimmer
e92808989e
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>
2019-07-03 11:13:20 +02:00
Ricardo Marques
8176ad2c73
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>
2019-07-03 09:23:52 +01:00
Volker Theile
7be30f8b2f
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>
2019-07-03 10:10:40 +02:00
Laura Paduano
768cab8463 mgr/dashboard: Extend E2E test section
Fixes: https://tracker.ceph.com/issues/40395

Signed-off-by: Laura Paduano <lpaduano@suse.com>
2019-07-03 10:05:13 +02:00
Kefu Chai
2066c88ddb
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>
2019-07-03 15:41:44 +08:00
Kefu Chai
f33119e699 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>
2019-07-03 15:13:17 +08:00
Jianpeng Ma
5f1749622f test/msgr: make ceph_perf_msgr_client/server work.
Met the following error:
 -1> 2019-07-02T21:09:54.977+0800 7f22ab00b700 -1 /home/ceph/src/msg/async/ProtocolV1.cc: In function 'Ct<ProtocolV1>* ProtocolV1::send_connect_message()' thread 7f22ab00b700 time 2019-07-02T21:09:54.964260+0800
/home/ceph/src/msg/async/ProtocolV1.cc: 1448: FAILED ceph_assert(messenger->auth_client)

 ceph version v15.0.0-2271-gbeb0c343b3 (beb0c343b3) octopus (dev)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1aa) [0x7f22b2543e8e]
 2: (()+0x154b110) [0x7f22b2544110]
 3: (ProtocolV1::send_connect_message()+0x132) [0x7f22b2850fd4]
 4: (Ct<ProtocolV1>* CtFun<ProtocolV1>::_call<>(ProtocolV1*, std::integer_sequence<unsigned long>) const+0x68) [0x7f22b28668ce]
 5: (CtFun<ProtocolV1>::call(ProtocolV1*) const+0x28) [0x7f22b2866730]
 6: (()+0x184be7d) [0x7f22b2844e7d]
 7: (()+0x1866170) [0x7f22b285f170]
 8: (std::function<void (char*, long)>::operator()(char*, long) const+0x61) [0x7f22b28259cb]
 9: (AsyncConnection::process()+0xd3b) [0x7f22b282008f]
 10: (C_handle_read::do_request(unsigned long)+0x28) [0x7f22b2824a94]
 11: (EventCenter::process_events(unsigned int, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >*)+0x678) [0x7f22b28a4bd8]
 12: (()+0x18b9438) [0x7f22b28b2438]
 13: (()+0x18ba90b) [0x7f22b28b390b]
 14: (std::function<void ()>::operator()() const+0x32) [0x7f22b28b0c8e]
 15: (void std::__invoke_impl<void, std::function<void ()>>(std::__invoke_other, std::function<void ()>&&)+0x20) [0x7f22b28b052b]
 16: (std::__invoke_result<std::function<void ()>>::type std::__invoke<std::function<void ()>>(std::function<void ()>&&)+0x26) [0x7f22b28afc9e]
 17: (decltype (__invoke((_S_declval<0ul>)())) std:🧵:_Invoker<std::tuple<std::function<void ()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>)+0x28) [0x7f22b28b1bee]
 18: (std:🧵:_Invoker<std::tuple<std::function<void ()> > >::operator()()+0x1d) [0x7f22b28b1bbf]
 19: (std:🧵:_State_impl<std:🧵:_Invoker<std::tuple<std::function<void ()> > > >::_M_run()+0x1c) [0x7f22b28b1b9e]
 20: (()+0xd01b0) [0x7f22b08dd1b0]
 21: (()+0x76db) [0x7f22bb9d56db]
 22: (clone()+0x3f) [0x7f22b032588f]

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2019-07-03 13:39:59 +08:00
Sage Weil
a346713516 mon/AuthMonitor: clear_secrets() in create_initial()
If we are creating the initial state and initial proposal, start with an
empty keyring.  Specifically, we want to clear out any rotating secrets
from a previously failed paxos round so that the subsequent call to
check_rotate() will correctly populate the initial proposal with new
rotating keys.  (When we don't do this, the leader OSD will have the
keys from an earlier round in memory but no other mons will.)

Fixes: http://tracker.ceph.com/issues/40634
Signed-off-by: Sage Weil <sage@redhat.com>
2019-07-02 18:04:14 -05:00
Sage Weil
e1600b1452 auth/cephx/CephxKeyServer: make clear_secrets() clear rotating secrets too
Clear the rotating secrets.  And also reset the versions.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-07-02 18:04:14 -05:00
Sage Weil
ef882d10a0 common/blkdev: only pay attention to first 2 bits of smartctl return code
Also make the error message a bit more informative.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-07-02 16:36:52 -05:00
Kamoltat (Junior) Sirivadhna
cb0575e2eb mgr/progress: Created first unit test for progress module
Changed variable some variable names and assert
call once to be call count.

Signed-off-by: Kamoltat (Junior) Sirivadhna <ksirivad@redhat.com>
2019-07-02 15:40:58 -04:00
Sage Weil
cff30ce666 common/blkdev: include stdout and stderr on join error
Signed-off-by: Sage Weil <sage@redhat.com>
2019-07-02 14:29:53 -05:00
Andrew Schoen
e9900a11ec
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>
2019-07-02 13:51:56 -05:00
Sage Weil
43e666350d common/blkdev: fix syntax of error message
Signed-off-by: Sage Weil <sage@redhat.com>
2019-07-02 13:09:20 -05:00
Kefu Chai
1ec9f145a8 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>
2019-07-03 00:51:16 +08:00
Igor Fedotov
7bb1e7aa59 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>
2019-07-02 19:00:49 +03:00
Sage Weil
b17850a665 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>
2019-07-02 10:51:57 -05:00
Sage Weil
12c3ee10d5 osd/osd_types: drop last_backfill_bitwise member
Assert if we try to decode an info with it set to false.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-07-02 10:49:08 -05:00
Kefu Chai
2fa4013818 cmake/modules/BuildBoost.cmake: fix build for armhf
see also
https://www.boost.org/doc/libs/1_70_0/libs/context/doc/html/context/architectures.html

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-07-02 23:40:21 +08:00
Patrick Nawracay
d0fe5ce52a 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>
2019-07-02 16:56:17 +02:00