Commit Graph

88970 Commits

Author SHA1 Message Date
Patrick Donnelly
1dd06293e1
Merge PR #23381 into master
* refs/pull/23381/head:
	mds: update MDSRank::cluster_degraded before handling mds failure

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-02 14:03:20 -07:00
Andrew Schoen
5fc932e34d
Merge pull request #23398 from alfredodeza/wip-patch-release
ceph-volume tests patch __release__ to mimic always for stdin keys

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2018-08-02 18:15:27 +00:00
Alfredo Deza
99c17ecbaf ceph-volume tests patch __release__ to mimic always for stdin keys
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-08-02 13:51:22 -04:00
Nathan Cutler
13d3d7c862
Merge pull request #23382 from tchaikov/wip-gtest-parallel-py3
cmake,run-make-check: always enable WITH_GTEST_PARALLEL

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2018-08-02 18:11:30 +02:00
Kefu Chai
714e377141 seastar: pick up changes in seastar
-ldl is not necessary if an application using dlopen() can compile and
link just fine without it.

same applies to -lrt, when it comes to time related calls.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 23:49:09 +08:00
Kefu Chai
f18ffecca3 rpm: remove fmt-devel from BuildRequires
because RHEL/CentOS 7 only offers fmt-devel 3.0.2, while seastar
requires >= 4.0.0, < 5.0.0, and on openSUSE Leap 15, we have
libfmt-devel 5.x.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 23:16:11 +08:00
Kefu Chai
8df0e40b46 cmake: require 4.0.0 <= libfmt-dev < 5.0.0
FMT_VERSION is now living in fmt/core.h in libfmt >= 5.0, so we cannot
parse fmt/format.h for libfmt's version anymore. also we don't need
Findfmt.cmake now. because libfmt-dev 4.0 and up is required by seastar,
also it's libfmt-dev 3.x's cmake module which fails to offer fmt::fmt
target. in other words, it's safe to drop libfmt 3.x support. but 5.0.0
is not compatible with seastar, we will have failures like:

In file included from
/home/smithfarm/src/ceph/smithfarm/ceph/src/seastar/include/seastar/core/aligned_buffer.hh:25:0,
                 from
/home/smithfarm/src/ceph/smithfarm/ceph/src/seastar/include/seastar/core/reactor.hh:26,
                 from
/home/smithfarm/src/ceph/smithfarm/ceph/src/seastar/include/seastar/core/alien.hh:35,
                 from
/home/smithfarm/src/ceph/smithfarm/ceph/src/seastar/src/core/alien.cc:23:
/home/smithfarm/src/ceph/smithfarm/ceph/src/seastar/include/seastar/core/print.hh:
In function 'seastar::sstring seastar::format(const char*, A&& ...)':
/home/smithfarm/src/ceph/smithfarm/ceph/src/seastar/include/seastar/core/print.hh:135:10:
error: 'MemoryWriter' is not a member of 'fmt'
     fmt::MemoryWriter out;
          ^~~~~~~~~~~~
/home/smithfarm/src/ceph/smithfarm/ceph/src/seastar/include/seastar/core/print.hh:136:5:
error: 'out' was not declared in this scope
     out.write(fmt, std::forward<A>(a)...);
     ^~~

so, we should build libfmt even if we have libfmt-dev 5.x

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 22:14:03 +08:00
Nathan Cutler
f561fb8029
Merge pull request #23386 from smithfarm/wip-fix-seastar-builddeps
build/ops: rpm: fix seastar build dependencies

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-08-02 15:31:38 +02:00
Andrew Schoen
00e6e4637e
Merge pull request #23375 from alfredodeza/wip-rm25216
ceph-volume lvm.activate conditional mon-config on prime-osd-dir

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2018-08-02 12:51:37 +00:00
John Spray
7602f256c4 mgr: tweaks to command permissions
Upgrade all selftest ops to rw, downgrade restful
cert list to r.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-08-02 11:42:50 +01:00
John Spray
f63ed1af4f mgr: fix permissions on balancer execute
Fixes: http://tracker.ceph.com/issues/25345
Signed-off-by: John Spray <john.spray@redhat.com>
2018-08-02 11:42:21 +01:00
Ricardo Marques
b9b86a7987
Merge pull request #23328 from votdev/bug_24570
mgr/dashboard: Close modal dialogs on login screen

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
2018-08-02 11:27:44 +01:00
Nathan Cutler
f0eed6d00e build/ops: rpm: fix seastar build dependencies
1. cryptopp-devel was moved to the distro-specific section by
aeb974b913, then
96196e9d77 reintroduced it in the
non-distro-specific section, breaking install-deps.sh for SUSE

2. fmt-devel is called libfmt-devel on SUSE

Fixes: install-deps.sh on SUSE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-08-02 12:19:34 +02:00
Volker Theile
446881f8fe mgr/dashboard: RestClient can't handle ProtocolError exceptions
Fixes: https://tracker.ceph.com/issues/25190

Signed-off-by: Volker Theile <vtheile@suse.com>
2018-08-02 12:13:35 +02:00
Ricardo Marques
f121671c29
Merge pull request #23363 from votdev/fix_typo
mgr/dashboard: Fix typo

Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
2018-08-02 11:11:58 +01:00
Nathan Cutler
38508b41dc build/ops: refrain from installing/using lsb_release in install-deps.sh
Unfortunately the mapping between release number and codename (which is only
relevant for Debian and Ubuntu btw) is not available from /etc/os-release.
In that one respect, lsb_release was "better".

However, when I weigh the advantages of obtaining that mapping from an external
tool, with the (substantial) risk that the external dependency might cause
trouble on one or more supported distros (to say nothing of the non- or
semi-/pseudo-supported ones), against the work involved in maintaining a
hard-coded mapping (negligible), the needle on my scale immediately swings
toward eliminating the dependency.

Also, I see this commit as part of the longer-term effort to completely expunge
lsb_release from our codebase. See git log --grep lsb_release.

For another example of an external distro-detection tool (albeit one that was
included in Python 2) gone awry, see http://tracker.ceph.com/issues/18163.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-08-02 11:51:10 +02:00
Kefu Chai
8bec1035ba run-make-check: drop CMAKE_PYTHON_OPTS variable
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 17:23:11 +08:00
Kefu Chai
cee0122780 cmake,run-make-check: always enable WITH_GTEST_PARALLEL
now that https://github.com/google/gtest-parallel/pull/63 has been
merged, we can now use gtest-parallel with py2 and also py3.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 17:13:14 +08:00
Kefu Chai
a7326ee0f4 cmake: extract sanitizer detection out
also, we don't need to pass '-lasan' or '-ltsan' to linker. it's
suggested to use the "-fsanitize=${sanitizer}".

please note, this module is compatible with the one used in seastar on
purpose, as seastar is included in ceph using add_subdirectory(), and it
in turn add its own cmake modules directory using list(APPEND ...), so
cmake/modules/FindSantitizers.cmake is prefered over
src/seastar/cmake/FindSantitizers.cmake.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 14:43:47 +08:00
Kefu Chai
bbd95765cc cmake: fix StdFilesystem detection
before this change, we fails to detect std::filesystem with clang++,
because  the cmake project created by try_compile() only expands
following options passed from its caller:
- COMPILE_DEFINITIONS
- INCLUDE_DIRECTORIES
- LINK_DIRECTORIES
- LINK_LIBRARIES

which do not include CMAKE_CXX_FLAGS, so either we need to (ab)use
COMPILE_DEFINITIONS for passing -std=c++17, or we can change the
CMAKE_CXX_FLAGS in the parent env, as it turns out the created cmake
project does inherit this flag from current project. in this change,
we use the COMPILE_DEFINITIONS approach: simpler this way. and we
can drop it once cmake 3.8 is required.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-02 14:37:49 +08:00
Patrick Donnelly
2ea86fa4d3
Merge PR #21948 into master
* refs/pull/21948/head:
	ceph_volume_client: use integer division for pg_num
	packages.yaml: install py3 compatible cephfs and rados bindings...
	qa: test py2 and py3 for volume client
	qa: make test_volume_client.py py3 compatible
	qa/ceph-volume: allow executing python pyloads using python3
	cephfs.pyx: add py3 compatibility
	ceph-volume-client: add py3 compatibility

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-01 21:42:27 -07:00
Patrick Donnelly
2480ace1e3
Merge PR #22450 into master
* refs/pull/22450/head:
	client: LAZY_IO support

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-01 21:42:22 -07:00
Patrick Donnelly
a1a5a60354
Merge PR #23290 into master
* refs/pull/23290/head:
	tools/ceph-dencoder: include types.h with full path
	tools/ceph-dencoder: move ceph-dencoder to tools/ceph-dencoder

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-01 21:42:16 -07:00
Patrick Donnelly
114fc03187
Merge PR #23365 into master
* refs/pull/23365/head:
	mds/MDCache: fix mds_cache_memory_limit get_val<>

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-01 21:42:11 -07:00
David Zafman
929f78ab89 osd: do_sparse_read(): On Checksum mismatch try to repair
Fixes: http://tracker.ceph.com/issues/24875

Signed-off-by: David Zafman <dzafman@redhat.com>
2018-08-01 20:10:11 -07:00
David Zafman
48d7448d72 osd: do_read(): Use actual bytes read to determine if CRC can be checked
Signed-off-by: David Zafman <dzafman@redhat.com>
2018-08-01 20:10:09 -07:00
Kefu Chai
53a0c18aff
Merge pull request #23380 from majianpeng/cmake-jemalloc-error
cmake: fix a cmake error when with -DALLOCATOR=jemalloc.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-08-02 10:46:27 +08:00
Jianpeng Ma
ab1497addc cmake: fix a cmake error when with -DALLOCATOR=jemalloc.
When exec: ./do_cmake.sh -DALLOCATOR=jemalloc. Met the following
messages:
>> CMake Error at cmake/modules/FindJeMalloc.cmake:28 (endforeach):
  endforeach An ENDFOREACH command was found outside of a proper FOREACH
  ENDFOREACH structure.  Or its arguments did not match the opening FOREACH
  command.
>> Call Stack (most recent call first):
  CMakeLists.txt:326 (find_package)

This bug introduce commit 8db629a14b.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2018-08-02 16:38:53 +08:00
Kefu Chai
0912caefa9
Merge pull request #23300 from tchaikov/wip-cmake-cleanup
cmake: cleanups

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-08-02 10:14:09 +08:00
Yan, Zheng
93458c7306 mds: update MDSRank::cluster_degraded before handling mds failure
Migrator checks MDSRank::is_cluster_degraded() to decide if it needs to
send message to other mds. MDSRank::cluster_degraded should get updated
before calling Migrator::handle_mds_failure_or_stop().

Introduced by commit 7de9da4a "mds: handle discontinuous mdsmap"

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2018-08-02 10:12:00 +08:00
Yan, Zheng
f91faa7cef mds: change MDSRank::finished_queue to deque
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2018-08-02 08:22:22 +08:00
Alfredo Deza
020d6b1e55 ceph-volume lvm.activate conditional mon-config on prime-osd-dir
The --no-mon-config should only be done in Mimic releaes and later

Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-08-01 17:10:29 -04:00
Casey Bodley
8d36655fcb
Merge pull request #23372 from cbodley/wip-25214
qa/rgw: override valgrind --max-threads for radosgw

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
2018-08-01 16:12:21 -04:00
Casey Bodley
e617990efe qa/rgw: override valgrind --max-threads for radosgw
radosgw now uses 512 frontend threads by default, and valgrind won't
start with its default --max-threads=500

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

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-08-01 14:45:24 -04:00
Casey Bodley
ce45875d80
Merge pull request #23145 from cbodley/wip-qa-rgw-admin-rest
qa/rgw: add radosgw-admin-rest task to singleton suite

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2018-08-01 13:52:40 -04:00
Patrick Donnelly
7184ed5475
Merge PR #23195 into master
* refs/pull/23195/head:
	mds: use vector for context lists
	common: make C_ContextsBase container agnostic
	common: make finish_contexts container agnostic
	mds: add vector def for MDS contexts
	mds: use compact map to manage waiting list

Reviewed-by: Zheng Yan <zyan@redhat.com>
2018-08-01 09:54:42 -07:00
Jeff Layton
3c94f23d3b client: check for unmounted condition before printing debug output
If the filesystem was unmounted before we attempt to call ceph_ll_close
on a Fh, then we can end up tripping over the dereferences in the
debug output. Check for unmounted filesystem first, and only print
the debug info if it's still mounted.

This patch only fixes up ceph_ll_close, which is the only call ganesha
makes after calling ceph_abort_conn. We may need to fix other paths in
the future though if that ever changes.

Tracker: http://tracker.ceph.com/issues/25213
Signed-off-by: Jeff Layton <jlayton@kernel.org>
2018-08-01 12:30:11 -04:00
Patrick Donnelly
4424c48b98
Merge PR #23353 into master
* refs/pull/23353/head:
	doc: explain how to mkdir under .snap

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-08-01 09:23:26 -07:00
Ken Dreyer
c914f14be3 doc: explain how to mkdir under .snap
Prior to this change, the CephFS snapshot instructions were not clear
whether users should "mkdir" the ".snap" directory or not.

Update the documentation to clarify that users should make a directory
under .snap with a name of their choice.

Thanks to John Spray <jspray@redhat.com> on ceph-users for this
information.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2018-08-01 10:17:51 -06:00
Sage Weil
0fe0ae76b7 mds/MDCache: fix mds_cache_memory_limit get_val<>
Fixes: 922bfc5f3b
Fixes: http://tracker.ceph.com/issues/25215
Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-01 10:39:38 -05:00
Andrew Schoen
b2e8863b9c
Merge pull request #23355 from alfredodeza/wip-rm25173
ceph-volume do not use stdin in luminous

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
2018-08-01 14:48:37 +00:00
Kefu Chai
e9749acc1e
Merge pull request #23366 from tchaikov/wip-cmake-no-common-crc-aarch64
cmake: do not link against common_crc_aarch64

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-08-01 22:43:58 +08:00
Kefu Chai
248b60f709 cmake: do not link against common_crc_aarch64
it's included by libcrc32 already

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-08-01 22:36:19 +08:00
Sage Weil
1ca9711efb Merge PR #23340 into master
* refs/pull/23340/head:
	osd/PGLog.cc: use lgeneric_subdout instead of generic_dout

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-08-01 08:26:40 -05:00
Sage Weil
d445147603 mgr/DaemonServer: osd purge: accept --yes-i-really-mean-it too
This avoids breaking old scripts.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-01 08:25:17 -05:00
Volker Theile
2d9bc53443 mgr/dashboard: Fix typo
Signed-off-by: Volker Theile <vtheile@suse.com>
2018-08-01 15:12:33 +02:00
Sage Weil
26fe2ab6f0 mon,mgr: guard 'osd purge' with safe-to-destroy check
Do the same thing that we do with 'osd destroy'.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-01 08:12:15 -05:00
Sage Weil
e0ee5807ed mon/MonCommands: hide 'osd destroy-actual'
This is only invoked directly (via JSON) by the mgr.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-01 08:12:15 -05:00
Sage Weil
15f404adc3 mon/MonCommands: add HIDDEN flag
Hide a command from the CLI and help.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-01 08:12:15 -05:00
Sage Weil
d2b41d4095 mon,mgr: guard 'osd destroy' with 'osd safe-to-destroy' check
Rename actual command 'osd destroy-actual', and map 'osd destroy' to the
mgr code so that we first check safe-to-destroy.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-01 08:12:15 -05:00