Commit Graph

91994 Commits

Author SHA1 Message Date
Gregory Farnum
f081b10060
Merge pull request #24812 from gregsfortytwo/wip-readable-fails-on-empty
test: make readable.sh fail if it doesn't run anything

Reviewed-by:  Sage Weil <sage@redhat.com>
2018-11-02 13:02:17 -07:00
Yuri Weinstein
a24793ed6c
Merge pull request #22923 from ceph/wip-fix-latest-distro
qa/tests: update links for centos latest to point to 7.5

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
2018-11-02 12:30:41 -07:00
Jason Dillaman
c9a44e8359
Merge pull request #24897 from trociny/wip-36683
test/rbd_mirror: race in TestMockImageMap.AddInstancePingPongImageTest

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-11-02 14:34:53 -04:00
Mykola Golub
c796aecc2e test/rbd_mirror: race in TestMockImageMap.AddInstancePingPongImageTest
Remove a context from peer_ack_ctxs before completing to avoid a race
with a listener inserting a new one.

Fixes: http://tracker.ceph.com/issues/36683
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-02 19:47:55 +02:00
Volker Theile
9440776f06 rgw: Return tenant field in bucket_stats function
Fixes: https://tracker.ceph.com/issues/36681

Signed-off-by: Volker Theile <vtheile@suse.com>
2018-11-02 13:26:10 +01:00
John Spray
a3e1a3e048 pybind: update python callers of force flags
Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:43 -04:00
John Spray
98c2511334 mon: convert remaining confirmation flags to CephBool
Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:43 -04:00
John Spray
525623b6cd ceph_argparse: introduce CephBool arguments
This replaces use of CephChoices for cases like
--yes-i-really-really-mean-it.

It's a relatively invasive change, because both
client and server need to handle backward compatibility:
 - Clients are easy, they just cope with the server's
   use of CephChoices/CephString with a few special case
   strings to recognise --yes-i-really-mean-it and similar
 - Servers are harder, they have to convert CephBool arguments
   into a similar CephChoices argument that older clients will
   understand.  This involves propagating feature flags into
   some code paths that couldn't see them before.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:42 -04:00
John Spray
6c1e4b825c test: remove quirky argparse case
This relied on a behaviour where positional
arguments could be omitted if the subsequent
argument was of a different type.

This was pretty weird, and in any case the reweight-by-utilization
command is likely to go away soon.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:42 -04:00
John Spray
0da65ed851 mgr,mon: use CephChoices for confirmation flags
...so that arg parsing can rely on strings satisfying
a "doesn't start with --" convention.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:41 -04:00
John Spray
61d2ad0c38 test: add cases for CLI's --key=val style
Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:41 -04:00
John Spray
cc7a12f78c mon: remove dead "cluster_snap" command
This had existed in a disabled state (by having an empty
string for the cli/rest field in the command definition)
for a long time.  Now that that field is gone, we don't
have a concept of "disabled" commands any more, so
let's just clean up this loose end.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:41 -04:00
John Spray
e8775e8f30 pybind: enable --keyword=arguments in ceph_argparse
This is a simple implementation that treats anything
that matches the "--X=Y" pattern as separate from
positional arguments.

This works well for optional arguments.  Mandatory
arguments still need to be specified positionally,
or the parsing code will think the command's
argument description has not been satisfied.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:41 -04:00
John Spray
bd548c0e61 ceph.in: some cleanups
Add some docstrings to functions, remove some
dead code and places where e.g. dicts were used
unncessary.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:40 -04:00
John Spray
917fc3d085 ceph.in: misc cleanups
Get this pyflakes-clean ahead of making
changes for keyword arguments.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:40 -04:00
John Spray
7734e9fa88 common: remove unused 'avail' field from commands
This was introduced for the now-removed ceph-rest-api
gateway.  It enabled limiting certain commands
to be CLI-only or rest-only, but in practice almost
everything just said "cli,rest" here.

Now that ceph-rest-api is gone, let's remove this
field.

The CLI client code already tolerated the absence
of this field, so older CLI clients will not mind.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:40 -04:00
John Spray
f82372fe2e mon: fix help string for osd crush rule create-replicated
Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-02 06:57:40 -04:00
Shiyang Ruan
e2d50a774b rbd: return error code when the source and distination namespace are different.
Signed-off-by: Shiyang Ruan <ruansy.fnst@cn.fujitsu.com>
2018-11-02 17:51:41 +08:00
Patrick Nawracay
27ee675d3c mgr/dashboard: Simplification of PoolForm method
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
2018-11-02 08:57:37 +01:00
Shiyang Ruan
5af59e2444 rbd: make sure the return-value 'r' will be returned.
Signed-off-by: Shiyang Ruan <ruansy.fnst@cn.fujitsu.com>
2018-11-02 13:44:57 +08:00
Kefu Chai
a7bb772e11
Merge pull request #24616 from tchaikov/wip-wip-librados-3
librados: split C++ and C APIs into different source files

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2018-11-02 10:44:04 +08:00
John Spray
e7887a3293 mon: fix 'log last' missing out latest event
The loop was iterating up to but not including the
rbegin() entry.

Also remove a spurious derr << "bar"

Fixes: http://tracker.ceph.com/issues/36679
Signed-off-by: John Spray <john.spray@redhat.com>
2018-11-01 19:50:15 -04:00
Patrick Donnelly
f981e10c5f
Merge PR #24555 into master
* refs/pull/24555/head:
	doc: document optional timeout argument for `cache drop`
	mds: make timeout parameter optional for "cache drop"

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-11-01 14:58:23 -07:00
Patrick Donnelly
e9fbb47150
Merge PR #24747 into master
* refs/pull/24747/head:
	client: add new routine to get fscid from a ceph_mount

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-11-01 14:53:25 -07:00
Josh Durgin
1d832401f4
Merge pull request #24868 from liewegas/wip-doc-fix
doc/rados/operations/crush-map-edits: fix 'take' syntax

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2018-11-01 14:52:24 -07:00
Casey Bodley
a3b4124fd2 rgw: beast frontend parses ipv6 addrs
Fixes: http://tracker.ceph.com/issues/36662

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-11-01 16:24:37 -04:00
Casey Bodley
9836ee2643 rgw: beast frontend uses default port 443 for ssl_endpoint
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-11-01 16:24:37 -04:00
Vasu Kulkarni
67bfc94f17 qa/tests: update links for centos latest to point to 7.5
Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
2018-11-01 11:09:12 -07:00
Kefu Chai
38db3ee6c5 rpm,deb: package libceph-common.so.* not libceph-common.so*
be more explicit on what we are packaging. because only
libceph-common.so.${soversion} will be packaged, since libceph-common.so
won't be installed by cmake anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
701136b1e2 cmake: do not create symlink for libceph-common.so.*
and bump up its soversion, so it won't conflict with libceph-common.so.0
offered by librados2.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
b4a5f76243 qa: add librados3 to exclude list of pre-nautilus install tasks
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
083b846198 qa: s/librados2/librados3/
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
8c6ec85f43 doc: s/librados2/librados3/
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
286ef1fe35 debian: s/librados2/librados3/
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
842a57eb16 rpm: s/librados2/librados3/
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
c680fb10f5 cmake: bump librados so version
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
a0813bccc9 librados: bump version number
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
0475dfdea3 qa: update test_envlibrados_for_rocksdb.sh for libradospp split
include a patch so rocksdb can use libradospp instead of librados. will
upstream the patch and make it work for both pre-nautilus librados and
nautilus libradospp

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
dd0f43db7c rpm: add libradospp* packages
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
d4857fef24 debian: add libradospp* packages
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:31 +08:00
Kefu Chai
3730d10623 librados: move C++ APIs into libradospp
the goal is to decouple C++ API from C API, and to version them
differently, as they are targeting different consumers.

this allows us to change the C++ API and bumping up its soversion
without requiring consumer to recompile the librados client for
using the new librados. in this way, C++ API can move faster than
C API. for example, if bufferlist interface is changed for better
performance, and this breaks existing API/ABI, we can bump up
the C++ library's soversion, and and the C library's version unchanged
but ship the new librados's C binding. so the librados client linked
against librados's C library will be able to take advantage of
the improvement in C++ library. while the librados client
linked against C++ library won't break at runtime due to unresolved
symbol or changed structure layout.

this is massive change, the genereal idea is to

* split librados.cc into two source files: librados_c.cc and
  librados_cxx.cc, the former for implementing C APIs, the later
  for C++ APIs.
* extract the C++ API in librados into librados-cxx, the library
  name will be libradospp. but we can change it before nautilus
  is released.
* link these librados libraries with static libraries which it
  depends on, so "-Wl,--exclude-libs,ALL" link flags can help
  hide the non-public symbols.
* extract the tests exercising librados' C++ API into a different
  source file named *_cxx.cc. for instance, to move the C++ tests
  in aio.cc into aio_cxx.cc
* extract the shared helper functions which do not use any librados
  or librados-cxx APIs into test_shared{.cc,h}. the "shared" here
  means, *shared* by C++ and C tests.
* extract the test fixtures, i.e., the subclasses of testing::Test,
  for testing C++ APIs into testcase_cxx.cc.
* update qa/workunits/rados/test.sh accordingly to add the splitted
  tests
* update the consumers of librados to link against librados-cxx
  instead, if they are using the C++ API.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:15:30 +08:00
Kefu Chai
9167c8381f librados: move get_inconsistent_pgs() into RadosClient
so we don't need parse the pg string and render it again for librados C
API.

the downside of this change is that, get_inconsistent_pgs() could be
implemented using RadosClient, instead be *in* it. but before we have
a place for the helper functions for these higher-level functions,
RadosClient is a good place for hosting them.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-02 00:09:17 +08:00
Casey Bodley
c0fd904b99
Merge pull request #24406 from ivancich/wip-rgw-renew-reshard-lock
rgw: renew resharding locks to prevent expiration

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-11-01 12:06:11 -04:00
Stephan Müller
ff64ffd364 mgr/dashboard: Cleanup of OSD list methods
Some test changes were required, too.

Fixes: https://tracker.ceph.com/issues/36615
Signed-off-by: Stephan Müller <smueller@suse.com>
2018-11-01 16:52:05 +01:00
Jason Dillaman
f10ef69bd2 rbd: support namespaces for image migration
Fixes: http://tracker.ceph.com/issues/26951
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-11-01 10:11:51 -04:00
Jason Dillaman
3f8ad2e3a7
Merge pull request #20598 from rishabh-d-dave/fix-rbdfuse-look-for-ceph-conf
rbd-fuse: look for ceph.conf in standard locations

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-11-01 09:55:58 -04:00
Lenz Grimmer
de72ece6cb
Merge pull request #24829 from p-na/pna-fix-docstring
mgr/dashboard: Fix links to external documentation

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
2018-11-01 14:04:39 +01:00
Jianpeng Ma
5a1d2f1733 os/bluefs: set logfile w/ WRITE_LIFE_MEDIUM
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2018-11-01 16:11:19 +08:00
Jianpeng Ma
93ecda5311 os/bluefs: make super block w/ WRITE_LIFE_TIME_SHORT.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2018-11-01 16:11:16 +08:00
Jianpeng Ma
e53cea91cf os/bluestore: BlueFS support write_life_time feature of SSD.
Rocksdb already supported this feature for posix fs backend.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2018-11-01 16:10:56 +08:00