Commit Graph

2058 Commits

Author SHA1 Message Date
Joao Eduardo Luis
dfafdf3dae mon: retire some osd set/unset flags
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
2019-03-02 11:36:23 +00:00
Patrick Donnelly
eac565f7b0
Merge PR #26659 into master
* refs/pull/26659/head:
	qa: remove libcephfs-java tests

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2019-03-01 06:53:20 -08:00
Patrick Donnelly
df62f2d91d
qa: remove libcephfs-java tests
These have bit-rotted and no longer work. No cycles from interested parties
available to fix.

Fixes: https://tracker.ceph.com/issues/38487
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-02-28 13:32:15 -08:00
Brad Hubbard
d1892aaf6b qa/workunits/rest: Better detection of rest url
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2019-02-28 07:29:25 +10:00
Jason Dillaman
9d694ba351 qa/workunits/rbd: delete pools before stopping rbd-mirror
This better mimics the behavior of teuthology and tests rbd-mirror
daemon's ability to handle a pool deletion.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-25 13:31:43 -05:00
Xie Xingguo
be26cb08e5
Merge pull request #26560 from xiexingguo/wip-pool-force-recovery
mgr: add per pool force-recovery/backfill commands

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: David Zafman <dzafman@redhat.com>
2019-02-23 15:30:14 +08:00
xie xingguo
fa98f09674 mgr: add per pool force-recovery/backfill commands
For those with multiple storage pools sharing the same devices,
I think it would make much more sense to offer per-pool
commands to bring pools with high priority, e.g., because they
are hosting data of more importance than others, back to normal
quickly.

Fixes: http://tracker.ceph.com/issues/38456
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2019-02-23 12:18:24 +08:00
Sage Weil
0a7077a855 Merge PR #26237 into master
* refs/pull/26237/head:
	Revert "qa: update test_envlibrados_for_rocksdb.sh for libradospp split"
	doc/librados: explicitly mention that the C++ API is not stable
	ceph.spec: force use of upgrade devtoolset-gcc under RHEL 7
	librados: add symbol versioning to the C++ API
	librados: add symbol versioning to the C API
	librados: revert librados3/libradoscc back to librados2

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-02-21 11:18:46 -06:00
Mykola Golub
a51d9188bb
Merge pull request #26521 from dillaman/wip-38385
qa/workunits: fixed mon address parsing for rbd-mirror
2019-02-21 16:46:05 +02:00
Jason Dillaman
9683869442 Revert "qa: update test_envlibrados_for_rocksdb.sh for libradospp split"
This reverts commit 0475dfdea3.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-21 08:28:43 -05:00
Xie Xingguo
6c43373687
Merge pull request #26532 from xiexingguo/wip-pool-scrub
mgr: add per pool scrub commands

Reviewed-by: Sage Weil <sage@redhat.com>
2019-02-21 13:26:15 +08:00
xie xingguo
97d55fd113 mgr: add per pool scrub commands
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2019-02-21 09:04:41 +08:00
Jason Dillaman
3e0094910a qa/workunits: fixed mon address parsing for rbd-mirror
The test extracts the mon addresses from the monmap, but with the
recent v2 format change it extracted an invalid address.

Fixes: http://tracker.ceph.com/issues/38385
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-19 14:22:34 -05:00
Mykola Golub
5e951cd3ae qa/workunits/rbd: add parent migration case
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-02-19 08:58:08 +00:00
Mykola Golub
d10d40fd49 rbd: add option to list all descendant images
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-02-19 08:58:08 +00:00
Jason Dillaman
1a74204952
Merge pull request #26226 from trociny/wip-rbd-re-sparsify
rbd: online re-sparsify of images

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-02-18 09:24:21 -05:00
Sage Weil
a60f332c32 Merge PR #24805 into master
* refs/pull/24805/head:
	qa/suite: add dedup test
	src/tools: fix compile error (master version issue)
	src/tools: add stats (fixed objects,total objects)
	src/tools: make room for cdc
	src/tools: make enhacned stats and interface class
	src/tools: set timelimit and add signal handler to check progress
	src/tools: use the slice thing and make parallel (chunk_scrub)
	src/test: add max-thread test in test_dedup_tool.sh
	src/tools: use the slice thing and make parallel
	src/test: add chunk-scrub test in test_dedup_tool.sh
	src/tools: add chunk-scrub op in dedup tool
	src/cls/cas: add has_chunk op
	src/test: add test_dedup_tool.sh
	src/tools: initial works for dedup tool

Reviewed-by: Sage Weil <sage@redhat.com>
2019-02-17 08:18:06 -06:00
Mykola Golub
be2cdc0bcf rbd: online re-sparsify of images
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-02-15 11:12:00 +00:00
Ilya Dryomov
7fdb879004 qa: krbd namespaces test
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-02-08 15:29:20 +01:00
Jason Dillaman
347eac67ba
Merge pull request #26168 from shyukri/qa-rbd-replace-bench-write
qa: rbd/workunits : Replace "rbd bench-write" with "rbd bench --io-type write"

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-01-30 07:51:55 -05:00
Jason Dillaman
0474727294 rbd: simplify pool namespace positional argument handling
The pool and namespace can now be specified as in a
<pool-name>[/<namespace-name>] format as positional
arguments.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-01-28 14:36:44 -05:00
Shyukri Shyukriev
28f0749eae qa:rbd/workunits : Replace rbd bench-write with rbd bench --io-type write
Signed-off-by: Shyukri Shyukriev <shshyukriev@suse.com>
2019-01-28 14:24:54 +02:00
myoungwon oh
e11fb7ce4d src/tools: add stats (fixed objects,total objects)
Signed-off-by: Myoungwon Oh <omwmw@sk.com>
2019-01-26 12:11:51 +09:00
Vikhyat Umrao
8a694fc2f9 qa: specify filestore for misc tests
Signed-off-by: Vikhyat Umrao <vumrao@redhat.com>
Signed-off-by: Sage Weil <sage@redhat.com>
2019-01-16 13:09:19 -06:00
Jason Dillaman
e920693ff6
Merge pull request #25529 from Songweibin/wip-fix-rbd-migration
librbd: disallow trash restoring when image being migrated

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-01-11 09:03:58 -05:00
songweibin
1f2eef7f1f librbd: disallow trash restoring when image being migrated
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2019-01-08 10:26:06 +08:00
Sage Weil
e069c30cb3 Merge remote-tracking branch 'private/wip-mon-kv-fix' into wip-mimic-4 2019-01-04 14:03:56 -06:00
Sage Weil
251f667ef8 Merge PR #25009 into master
* refs/pull/25009/head:
	librbd: stringify locker name with get_legacy_str()
	osdc/Objecter: fix list_watchers addr rendering to match legacy
	test/crimson: disable unittest_seastar_messenger test
	msg/msg_types: encode entity_addr_t TYPE_ANY as TYPE_LEGACY for pre-nautilus
	client: make blacklist detection handle TYPE_ANY entries
	mon/OSDMonitor: maintain compat output for 'blacklist ls'
	client: maintain compat for {inst,addr}_str in status dump
	qa/tasks/ceph_manager: compare osd flush seq #'s as ints
	qa/suites/fs: make use of simple.yaml where appropriate
	qa/msgr: move msgr factet into generic re-usable dir
	crimson: fix monmap build for seastar
	doc/start/ceph.conf: trim the sample ceph.conf file
	doc/rados/operations: only describe --public-{addr,network} method for adding mons
	PendingReleaseNotes: deprecate 'mon addr'
	doc: fix some 'mon addr' references
	doc/rados/configuration: fix some 'mon addr' references
	doc/rados/configuration/network-config-ref: revise network docs somewhat
	doc/rados/configuration/network-config-ref: remove totally obsolete section
	qa/suites/rados: replace mon_seesaw.py task with a small bash script
	qa/suites/fs/upgrade: don't bind to v2 addrs
	qa/tasks/mon_thrash: avoid 'mon addr' in mon section
	mon/MonClient: disable ms_bind_msgr2 if NAUTILUS feature not set
	osd/OSDMap: maintain compat addr fields
	msg/msg_types: add get_legacy_str()
	mds/MDSMap.h: maintain compat addr field
	mon/MgrMap: maintain compat active_addr field
	mon/MonClient: reconnect to mon if it's addrvec appears to have changed
	qa/tasks/ceph.conf.template: increase mon_mgr_mkfs_grace
	msg/async/ProtocolV2: fill in IP for all peer_addrs
	msg/async: print all addrs on debug lines
	mon/MonMap: no noname- mon name prefix when for_mkfs
	ceph-monstore-tool: print initial monmap
	msg/async/ProtocolV2: advertise ourselves as a v2 addr when using v2 protocol
	msg/async: assert existing protocol matches current protocol
	msg/async: add missing modelines
	mon/MonMap: add missing modeline
	vstart.sh: put mon addrs in mon_host, not 'mon addr'
	msg/async: better debug around conn map lookups and updates
	mon/MonClient: dump initial monmap at debug level 10
	qa/standalone/osd/osd-fast-mark-down: use v1 addr w/ simplemessenger
	qa/tasks/ceph: set initial monmap features with using addrvec addrs
	monmaptool: add --enable-all-features option
	qa/tasks/ceph: only use monmaptool --addv if addr has [,:v]
	qa/tasks/ceph_manager: make get_mon_status use mon addr
	qa/tasks/ceph: keep mon addrs in ctx namespace
	mon/OSDMonitor: log all osd addrs on boot
	msg/simple: behave when v2 and v1 addrs are present at target
	mon/MonClient: warn if global_id changes
	msg/Connection: add warning/note on get_peer_global_id
	mds/MDSDaemon: clean up handle_mds_map debug output a bit
	qa/suites/rados/upgrade: debug mds
	mds/MDSRank: improve is_stale_message to handle addrvecs
	msg/async: make loopback detect when sending to one of our many addrs
	qa/suites/rados/upgrade: no aggressive pg num changes
	mon/OSDMonitor: require nautilus mons for require_osd_release=nautilus
	mon/OSDMonitor: require mimic mons for require_osd_release=mimic
	qa/suites/rados/thrash-old-clients: use legacy addr syntax in ceph.conf
	msg/async: preserve peer features when replacing a connection
	qa/tasks/ceph.py: move methods from teuthology.git into ceph.py directly; support mon bind * options
	mon/MonMap: adjust build_initial behavior for mkfs vs probe
	mon/MonMap: improve ambiguous addr behavior
	qa/suites/rados/upgrade: spread mons a bit
	qa/rados/thrash-old-clients: keep mons on separate hosts
	qa/standalone/mon/misc.sh: tweak test to be more robust
	qa/tasks/mon_seesaw: expect v1/v2 prefix in addr
	osd/OSDMap: fix is_blacklisted() check to assume type ANY
	mon/OSDMonitor: use ANY addr type for blacklisting
	mon/msg_types: TYPE_V1ORV2 -> TYPE_ANY
	qa/workunits/cephtool: fix blacklist test
	qa/suites/upgrade: install old version with only v1 addrs
	common/options: by default, bind to both msgr v1 and v2 addresses
	vstart.sh: add --msgr1, --msgr2, --msgr21 options
	msg/async/ProtocolV2: be flexible with server identity check
	msg/msg_types: fix entity_addrvec_t::parse() with null end arg
	qa/suites/rados/basic/msgr: no msgr2 addrs in initial monmaps
	qa/tasks/ceph: add 'mon_bind_addrvec' and 'mon_bind_msgr2' options
	monmaptool: add --addv argument to pass in addrvec directly
	qa/suites/rados/basic/msgr: do not use msgr2 with simplemessenger
	qa/suites/rados/basic/msgr: async is not experimental
	messages/MOSDBoot: fix compat with pre-nautilus
	mon/MonMap: allow v1 or v2 to be explicitly specified along with part
	msg/msg_types: allow parsing of IPs without assuming v1 vs v2
	msg/msg_types: default parse to v2 addrs
	msg: standarize on v1: and v2: prefixes for *all* entity_addr_t's
	vstart.sh: use msgr2 by default
	mon/MonMap: remove get_addr() methods
	ceph-mon: adjust startup/bind/join sequence to use addrs
	mon: use MonMap::get_addrs() (instead of get_addr())
	mon/MonClient: change pending_cons to addrvec-based map
	mon/MonMap: fix set_addr() caller, kill wrapper
	mon/MonMap: remove addr-based add()
	monmaptool: fix --add to do either legacy or msgr2+legacy
	monmaptool: clean up iterator use a bit
	mon/MonMap: handle ambiguous mon addrs by trying both legacy and msgr
	mon/MonMap: take addrvec for set_initial_members
	mon/MonMap: use addrvecs for test instances
	mon: pass addrvec via MMonJoin
	mon/MonmapMonitor: fix 'mon add' to populate addrvec
	mon/MonMap: addr -> addrvec
	msg/async/ProtocolV2: only update socket_addr if we learned our addr
	osd: go active even if mon only accepted our v1 addr
	test/msgr: add test for msgr2 protocol
	msg/async/ProtocolV2: share socket_addr and all addrs during handshake
	msg/async: print socket_addr for the connection
	msg/async: msgr2 protocol placeholder
	msg/async: move ProtocolV1 class to its own source file
	msg/async: keep listen addr in ServerSocket, pass to new connections
	msg/async/AsyncMessenger: fix set_addr_unknowns

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2019-01-04 13:42:09 -06:00
Sage Weil
d8d16ba6aa qa/workunits/rados/test_health_warnings: prevent out osds
Fixes: http://tracker.ceph.com/issues/37776
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-31 11:18:05 -06:00
Sage Weil
b84b8c9c66 qa/workunits/cephtool: fix blacklist test
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-21 15:31:32 -06:00
Sage Weil
b255e49259 qa/workunits/mon/pg_autoscaler: clean up pools afterwards
This avoids a huge pg merge from 100s to 4, which takes a long time and
makes the teuthology scrub cleanup time out.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-19 14:37:01 -06:00
Sage Weil
2cd1ca6625 qa/suites/rados: add simple pg-autoscaler test
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-18 13:30:54 -06:00
Sage Weil
87828e5cdd qa/workunits/cephtool/test.sh: pg_autoscale_mode=off while testing pg_num etc
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-18 13:30:54 -06:00
Sage Weil
4d3407ba93 mon/OSDMonitor: remove max_split_count configurable
This isn't really relevant or useful now that the mgr is throttling the
actual pg_num adjustment based on pg_num_target, % misplaced, etc.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-18 13:30:54 -06:00
Sage Weil
81160bc202 Merge PR #25190 into master
* refs/pull/25190/head:
	mgr/prometheus: adjust to new 'df' fields
	mon/Monitor: fix newline between df section
	doc: update docs for new ceph df output
	mon/PGMap: break down RAW usage by device class
	mon/PGMap: tweak df headers
	mon/PGMap: GLOBAL -> RAW STORAGE in 'df' output
	mon/PGMap: dump_fs_stats -> dump_cluster_stats

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-12-18 10:47:52 -06:00
Mykola Golub
b29b4f0c71 qa/workunits/rbd: add trash move/restore mirror test
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-12-14 16:47:15 +00:00
Sage Weil
738789b057 mon/PGMap: GLOBAL -> RAW STORAGE in 'df' output
Signed-off-by: Sage Weil <sage@redhat.com>
2018-12-07 13:28:07 -06:00
Igor Fedotov
79fd227639 qa: replace raw_bytes_used field access in QA test cases
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2018-12-06 18:54:21 +03:00
Igor Fedotov
25664c4ccf test: add test coverage for rados df reports
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
2018-12-06 18:54:21 +03:00
Jason Dillaman
6db4c152a6
Merge pull request #25266 from trociny/wip-24608
rbd-ggate: support namespaces

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-12-05 20:25:54 -05:00
Jason Dillaman
4bc7e0aa84
Merge pull request #25260 from trociny/wip-24609
rbd-nbd: support namespaces

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-12-05 13:24:36 -05:00
Sage Weil
706197a7c7 Merge PR #25272 into master
* refs/pull/25272/head:
	qa: add simple test-volumes.sh workunit and run it from fs/basic_functional
	vstart.sh: create default fs via 'fs volume create'
	mgr/volumes: fix oremote
	mon/MgrMonitor: enable volumes module by default
	mgr: create `volumes` module
	mgr: cleaner constructor for CommandResult
	mgr: block for latest osdmap after command execution
	mgr: add MgrModule.mon_command helper
	ceph_volume_client: enable using existing rados inst
	mon: give ceph-mgr access to 'fs' commands

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
2018-11-28 11:34:57 -06:00
Sage Weil
43bf12e12d qa: add simple test-volumes.sh workunit and run it from fs/basic_functional
Signed-off-by: Sage Weil <sage@redhat.com>
2018-11-28 08:54:29 -06:00
Nathan Cutler
6c6ae9e30d qa/workunits/rados/test_librados_build.sh: grab files from explicit git branch
Fixes: https://tracker.ceph.com/issues/37392
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-11-27 00:34:17 +01:00
Mykola Golub
d13b4197e4 rbd-ggate: support namespaces
Fixes: http://tracker.ceph.com/issues/24608
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-26 19:47:34 +00:00
Mykola Golub
efae1c7a79 rbd-nbd: support namespaces
Fixes: http://tracker.ceph.com/issues/24609
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-25 19:29:19 +02:00
Kefu Chai
a04691031c
Merge pull request #24858 from jecluis/wip-pr-19983-tests
qa/cephtool: test bounds on pool's `hit_set_*`

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-11-15 14:12:09 +08:00
Kefu Chai
60dc1c2a32 qa: patch rocksdb the right way
quote from patch(1)

>       but usually just
>
>       patch -pnum <patchfile

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-15 13:03:00 +08:00
Kefu Chai
2dc0f86227 qa: use FOUND_VAR to be backward compatible with cmake 2.8.12
before this change, we assume that the variable set if rados::radospp is
found will be radospp_FOUND, but this is a feature cmake 3, see
https://cmake.org/cmake/help/v3.3/module/FindPackageHandleStandardArgs.html

while the cmake shipped by centos is cmake 2.8.12, where the variable
name will be <UPPERCASED_NAME>_FOUND, see
https://cmake.org/cmake/help/v2.8.12/cmake.html#module:FindPackageHandleStandardArgs

in the test of test_envlibrados_for_rocksdb.sh, we are using cmake not
the cmake3 offered by EPEL7, so RADOSPP_FOUND will be set instead. that's why
executable env_librados_test will fail to link against rados::radospp.
as rados::radospp won't be defined if radospp_FOUND is not defined/set.

after this change, the 2nd mode of FIND_PACKAGE_HANDLE_STANDARD_ARGS()
is used instead to ensure that radospp_FOUND is defined even if cmake
2.8.12 is used.

also, the message() commands for debugging purpose are removed.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-15 11:57:52 +08:00
Nathan Cutler
0185abfeb4 tests: make ceph-admin-commands.sh log what it does
Fixes: http://tracker.ceph.com/issues/37089
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-11-13 19:46:24 +01:00
Kefu Chai
0e5bdd9d56 librados: remove rados_tmap_*
we have switched from tmap to omap long ago.

but keep the server side implementation around, in case ancient
client is still using these tmap APIs.

also, tmap_update() is kept, because librbd is using it for v1 image
backward compatibility.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-11-07 14:05:25 -08:00
Jason Dillaman
cc592823fa
Merge pull request #24717 from trociny/wip-rbd-mirror-status-instance
rbd: show info about mirror daemon instance in image mirror status output

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-11-06 11:11:49 -05:00
Mykola Golub
7d2ffd981b rbd: show info about mirror instance in image mirror status output
It is particularly useful when running multiple rbd-mirror instances
in Active-Passive or Active-Active mode.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-05 22:34:39 +02:00
Mykola Golub
472abc2ed9 test/librbd: migration supporting namespace tests
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-03 19:36:44 +02: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
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
Joao Eduardo Luis
256ced3586 qa/cephtool: test bounds on pool's hit_set_*
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
2018-10-31 16:05:40 +00:00
Joao Eduardo Luis
5fff611041 mon/config-key: limit caps allowed to access the store
Henceforth, we'll require explicit `allow` caps for commands, or for the
config-key service. Blanket caps are no longer allowed for the
config-key service, except for 'allow *'.

Signed-off-by: Joao Eduardo Luis <joao@suse.de>
2018-10-17 14:42:15 +01:00
Sage Weil
7ac6ab4b2f Merge PR #24494 into master
* refs/pull/24494/head:
	ceph-kvstore-tool: rename repair -> destructive-repair

Reviewed-by: Neha Ojha <nojha@redhat.com>
2018-10-14 13:11:11 -05:00
Sage Weil
8cc6369511 ceph-kvstore-tool: rename repair -> destructive-repair
This is shown to corrupt otherwise healthy rocksdb databases.  Rename to
make it clear that it is generally not safe to run and shoud only be used
as a last resort.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-10-14 11:41:24 -05:00
Jason Dillaman
2a1dca3fca qa/workunits/rbd: switch devstack to rocky branch and tempest to 19.0.0 tag
Fixes: http://tracker.ceph.com/issues/36410
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-12 08:40:44 -04:00
Jason Dillaman
ba32395165
Merge pull request #24550 from dillaman/wip-36409
qa/workunits: replace 'realpath' with 'readlink -f' in fsstress.sh

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-10-12 08:39:37 -04:00
Jason Dillaman
ddb7e5eb80 qa/workunits: replace 'realpath' with 'readlink -f' in fsstress.sh
Fixes: http://tracker.ceph.com/issues/36409
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-11 15:25:20 -04:00
Jason Dillaman
c60ffac61e
Merge pull request #24428 from trociny/wip-rbd-config-global
rbd: add 'config global' command to get/store overrides in mon config db

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-10-11 10:50:33 -04:00
Patrick Donnelly
d03a8302b5
Merge PR #23069 into master
* refs/pull/23069/head:
	tests/libcephfs: add simple reclaim test
	mds: check auth name before reclaiming session
	mds: reclaim session before allowing mds to become active
	mds: allow client to specify its session timeout
	mds: initial code for client states reclaim

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-10-10 15:29:41 -07:00
Mykola Golub
c552f166c3
Merge pull request #24476 from dillaman/wip-35944
librbd: add new configuration option to always move deleted items to the trash

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-10-10 18:40:14 +03:00
Jason Dillaman
a6a2f395b7
Merge pull request #24512 from trociny/wip-qa-namespace-create_args
qa/workunits/rbd: force v2 image format for namespace test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-10-10 10:42:08 -04:00
Mykola Golub
b3e4d43c15 rbd: add 'config global' command to get/store overrides in mon config db
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-10-10 17:31:32 +03:00
Jason Dillaman
97950fec27 qa/workunits/rbd: test new move-to-trash on image remove config override
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-10 09:08:03 -04:00
John Spray
67d147c00d
Merge pull request #23622 from renhwztetecs/renhw-wip-25103
mgr: fixup pgs show in unknown state

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2018-10-10 13:28:33 +01:00
Mykola Golub
24e1a6bd47 qa/workunits/rbd: force v2 image format for namespace test
While here, fix test_locking too.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-10-10 10:50:30 +03:00
Mykola Golub
f2d72d46d4 qa/workunits/rbd: fix cli generic namespace test
expect_fail incorrectly unset '-e' option and if a consequent test
failed it did not abort the execution. And two typos in the namespace
tests were not detected due to this.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-10-07 15:09:25 +03:00
Jeff Layton
9bca82d00e tests/libcephfs: add simple reclaim test
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2018-10-05 10:18:28 -04:00
Kefu Chai
b35f6a533a qa/workunits/mon/test_mon_config_key.py: bump up the size limit
in b38b8e980c, we changed the upper
limit of size of `config key` 's value to 64k, so we need to update
the test accordingly.

Fixes: http://tracker.ceph.com/issues/36260
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-30 16:04:04 +08:00
huanwen ren
e5096b41ca common: adapt to the new pg dump format.
Signed-off-by: huanwen ren <ren.huanwen@zte.com.cn>
2018-09-27 23:22:50 +08:00
Nathan Cutler
a38af571c2
Merge pull request #23131 from smithfarm/wip-15100
qa: add test that builds example librados programs

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Jesse Williamson <jwilliamson@suse.de>
2018-09-27 00:17:48 +02:00
Mykola Golub
78881934c0
Merge pull request #22043 from dillaman/wip-24139
rbd-mirror: bootstrap needs to handle local image id collision

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-09-26 22:49:02 +03:00
Jason Dillaman
dca9e3e252 qa/workunits/rbd: wait max 2 hrs for all stress images to sync
Sporadically the rbd-mirror fsx stress test would fail due to very
slow sync times due to overloaded clusters. Attempt to wait for all
images to be replicated before proceeding with the comparison.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-25 16:08:59 -04:00
Jason Dillaman
d04a7679c0 qa/workunits/rbd: exclude rbd-mirror sync-point snaps from comparison
This is a temporary workaround to tracker ticket issue #36185

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-25 16:08:25 -04:00
Jason Dillaman
27832e2781 qa/workunits/rbd: image compare should print byte offset of any deltas
This will assist in debugging any mirroring issues.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-25 08:45:08 -04:00
Nathan Cutler
c46c890d02 qa: add test that builds example librados programs
Fixes: http://tracker.ceph.com/issues/15100
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-09-25 13:18:04 +02:00
Patrick Donnelly
0dd623c8aa
Merge PR #23187 into master
* refs/pull/23187/head:
	test: make rank argument mandatory when running journal_tool
	cephfs-journal-tool: make "--rank" argument mandatory
	cephfs-journal-tool: pass local arg vector for Journal actions
	cephfs-journal-tool: dump to per rank output file wherever necessary

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-09-24 14:46:14 -07:00
Patrick Donnelly
c0ba741a6e
Merge PR #24158 into master
* refs/pull/24158/head:
	cephfs: remove vestiges of mds deactivate

Reviewed-by: Douglas Fuller <dfuller@redhat.com>
2018-09-24 14:39:45 -07:00
Jason Dillaman
762a7ae386
Merge pull request #23743 from trociny/wip-rbd-config-pool
librbd: pool and image level config overrides

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-09-24 10:19:01 -04:00
Patrick Donnelly
9e9f3ead36
Merge PR #24157 into master
* refs/pull/24157/head:
	qa: cleanup parallel execution of fsstress

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-09-21 13:01:14 -07:00
Patrick Donnelly
de824f74dd
qa: cleanup parallel execution of fsstress
Two instances of fsstress clobber each other. Just build it in the local sandbox.

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

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-09-21 11:34:20 -07:00
Venky Shankar
f65193d955 test: make rank argument mandatory when running journal_tool
Also, fix a bunch of quirky journal_tool invocations that pass
"--rank" argument as the command argument rather than passing it
as function argument.

Fixes: https://tracker.ceph.com/issues/24780
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2018-09-21 06:09:39 -04:00
Kefu Chai
4b0e2c8ed4 qa: fix typos
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-21 12:41:42 +08:00
Mykola Golub
ecdf8cd6b2 rbd: add config commands
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-09-20 10:35:18 +03:00
Patrick Donnelly
f113fa80a9
cephfs: remove vestiges of mds deactivate
Fixes: http://tracker.ceph.com/issues/24001

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-09-19 15:23:38 -07:00
Mykola Golub
ce6e35a81e
Merge pull request #23662 from dillaman/wip-24412
librbd: support v2 cloning across namespaces

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: songweibin <song.weibin@zte.com.cn>
2018-09-19 21:20:58 +03:00
Sage Weil
fe14970768 Merge PR #24143 into master
* refs/pull/24143/head:
	qa/workunits/cephtool/test_kvstore_tool.sh: run test in ., not /tmp

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2018-09-19 10:41:04 -05:00
Jason Dillaman
d4c7ce3c0a qa/workunits/rbd: test clone v2 across namespaces
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-19 08:05:29 -04:00
Sage Weil
4d905d5d29 qa/workunits/mon/caps.sh: wait longer to time out
5s -> 5m to gives us more leeway for when the mons are thrashing.

Also, *only* set this timeout when we expect a timeout.  If we don't,
wait forever.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-18 08:57:25 -05:00
Sage Weil
5940487be3 qa/workunits/cephtool/test_kvstore_tool.sh: run test in ., not /tmp
Notably, we can't make a bluestore store on a tmpfs.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-18 07:39:05 -05:00
Mykola Golub
a68be2b452
Merge pull request #24036 from dillaman/wip-24688
rbd-mirror: optionally extract peer secrets from config-key

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-09-16 11:53:04 +03:00
Mykola Golub
ad9fc49776
Merge pull request #23896 from Songweibin/wip-group-snap-rollback
rbd: add group snap rollback method

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-09-13 19:35:10 +03:00
Jason Dillaman
d3a1a831ac qa/workunits/rbd: new test for rbd-mirror peer config-key secrets
Fixes: http://tracker.ceph.com/issues/24688
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-13 09:58:34 -04:00
Sage Weil
4591f134c8 Merge PR #24025 into master
* refs/pull/24025/head:
	mon/OSDMonitor: reject pg_num -> 0

Reviewed-by: huangjun <huangjun@xsky.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2018-09-12 11:51:58 -05:00
songweibin
dec2ea83cf tools/rbd: support group snap rollback CLI
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2018-09-12 23:42:15 +08:00