Commit Graph

40 Commits

Author SHA1 Message Date
Ilya Dryomov
870e42ac6a qa/suites/krbd: more fsx tests
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-10-01 16:48:47 +02:00
Sage Weil
09ee3f3538 Merge PR #20469 into master
* refs/pull/20469/head:
	osd/PG: remove warn on delete+merge race
	osd: base project_pg_history on is_new_interval
	osd: make project_pg_history handle concurrent osdmap publish
	osd: handle pg delete vs merge race
	osd/PG: do not purge strays in premerge state
	doc/rados/operations/placement-groups: a few minor corrections
	doc/man/8/ceph: drop enumeration of pg states
	doc/dev/placement-groups: drop old 'splitting' reference
	osd: wait for laggy pgs without osd_lock in handle_osd_map
	osd: drain peering wq in start_boot, not _committed_maps
	osd: kick split children
	osd: no osd_lock for finish_splits
	osd/osd_types: remove is_split assert
	ceph-objectstore-tool: prevent import of pg that has since merged
	qa/suites: test pg merging
	qa/tasks/thrashosds: support merging pgs too
	mon/OSDMonitor: mon_inject_pg_merge_bounce_probability
	doc/rados/operations/placement-groups: update to describe pg_num reductions too
	doc/rados/operations: remove reference to lpgs
	osd: implement pg merge
	osd/PG: implement merge_from
	osdc/Objecter: resend ops on pg merge
	osd: collect and record pg_num changes by pool
	osd: make load_pgs remove message more accurate
	osd/osd_types: pg_t: add is_merge_target()
	osd/osd_types: pg_t::is_merge -> is_merge_source
	osd/osd_types: adding or substracting invalid stats -> invalid stats
	osd/PG: clear_ready_to_merge on_shutdown (or final merge source prep)
	osd: debug pending_creates_from_osd cleanup, don't use cbegin
	ceph-objectstore-tool: debug intervals update
	mgr/ClusterState: discard pg updates for pgs >= pg_num
	mon/OSDMonitor: fix long line
	mon/OSDMonitor: move pool created check into caller
	mon/OSDMonitor: adjust pgp_num_target down along with pg_num_target as needed
	mon/OSDMonitor: add mon_osd_max_initial_pgs to cap initial pool pgs
	osd/OSDMap: set pg[p]_num_target in build_simple*() methods
	mon/PGMap: adjust SMALLER_PGP_NUM warning to use *_target values
	mon/OSDMonitor: set CREATING flag for force-create-pg
	mon/OSDMonitor: start sending new-style pg_create2 messages
	mon/OSDMonitor: set last_force_resend_prenautilus for pg_num_pending changes
	osd: ignore pg creates when pool FLAG_CREATING is not set
	mgr: do not adjust pg_num until FLAG_CREATING removed from pool
	mon/OSDMonitor: add FLAG_CREATING on upgrade if pools still creating
	mon/OSDMonitor: prevent FLAG_CREATING from getting set pre-nautilus
	mon/OSDMonitor: disallow pg_num changes while CREATING flag is set
	mon/OSDMonitor: set POOL_CREATING flag until initial pool pgs are created
	osd/osd_types: add pg_pool_t FLAG_POOL_CREATING
	osd/osd_types: introduce last_force_resend_prenautilus
	osd/PGLog: merge_from helper
	osd: no cache agent or snap trimming during premerge
	osd: notify mon when pending PGs are ready to merge
	mgr: add simple controller to adjust pg[p]_num_actual
	mon/OSDMonitor: MOSDPGReadyToMerge to complete a pg_num change
	mon/OSDMonitor: allow pg_num to adjusted up or down via pg[p]_num_target
	osd/osd_types: make pg merge an interval boundary
	osd/osd_types: add pg_t::is_merge() method
	osd/osd_types: add pg_num_pending to pg_pool_t
	osd: allow multiple threads to block on wait_min_pg_epoch
	osd: restructure advance_pg() call mechanism
	mon/PGMap: prune merged pgs
	mon/PGMap: track pgs by state for each pool
	osd/SnapMapper: allow split_bits to decrease (merge)
	os/bluestore: fix osr_drain before merge
	os/bluestore: allow reuse of osr from existing collection
	os/filestore: (re)implement merge
	os/filestore: add _merge_collections post-check
	os: implement merge_collection
	os/ObjectStore: add merge_collection operation to Transaction
2018-09-07 15:55:21 -05:00
Sage Weil
44de03d5e6 qa/suites: test pg merging
Signed-off-by: Sage Weil <sage@redhat.com>
2018-09-07 12:09:05 -05:00
Ilya Dryomov
592f566b4e qa/tasks/cram: tasks now must live in the repository
Commit 0d8887652d53 ("qa/tasks/cram: use suite_repo repository for all
cram jobs") removed hardcoded git.ceph.com links, but as it turned out
it is still used for nightlies.  There is no good way to accommodate
the different URL schemes, so let's get rid of URLs altogether.

Fixes: https://tracker.ceph.com/issues/27211
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-09-06 22:32:39 +02:00
Ilya Dryomov
0d8887652d qa/tasks/cram: use suite_repo repository for all cram jobs
Currently git.ceph.com is hardcoded for all cram jobs.  Testing
modifications is a pain: one needs to push to either ceph/ceph.git or
ceph/ceph-ci.git (depending on where the ceph branch is at, triggering
unnecessary builds in the latter case) and wait for the mirror to sync.
Runs scheduled against branches in developer's forks fail.

Move away from git.ceph.com to allow mixing branches and repositories,
similar to workunits.

Fixes: https://tracker.ceph.com/issues/27211
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-09-03 22:07:20 +02:00
Ilya Dryomov
a4df8c3562 qa: rbd_workunit_kernel_untar_build: install build dependencies
Commit f0fe0936e6 ("qa: use recent kernel to kernel build testing")
bumped the kernel to 4.17.

Fixes: http://tracker.ceph.com/issues/35074
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-08-31 14:31:03 +02:00
Patrick Donnelly
b39f9d06dc
qa: fix symlinks indirectly pointing at qa to .qa
Building on the previous commit.

Command used:

$ find suites/ -type l -and -not -name .qa -execdir ~/fix.sh {} \;

fix.sh:
    #!/bin/bash

    link="$(readlink "$1")"

    echo $link
    dirlink="$(dirname "$link")"
    baselink="$(basename "$link")"

    while true; do
        echo $dirlink
        if [ "$dirlink" -ef ~/ceph/qa ]; then
            ln -nsf ".qa/$baselink" "$1"
            exit
        else
            baselink="$(basename "$dirlink")/$baselink"
            dirlink="$(dirname "$dirlink")"
            if [ "$dirlink" -ef . ]; then
                break
            fi
        fi
    done

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-06-26 11:48:38 -07:00
Patrick Donnelly
716db6e2fd
qa: add .qa helper link
This utilizes the recent feature in teuthology [1] to skip hidden files in
suites when building the job matrix.

Idea of this change is to enable referring to the top-level qa directory in a
position-independent way such that copies of a suite to another location do not
break any symlinks.

[1] https://github.com/ceph/teuthology/pull/1185

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-06-26 11:33:48 -07:00
Ilya Dryomov
8d8390ff95 qa: krbd whole-object-discard test
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-03-07 12:06:33 +01:00
Ilya Dryomov
c13d196256
Merge pull request #20721 from idryomov/wip-krbd-parent-overlap-test
qa: krbd parent-overlap test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-03-05 18:39:35 +01:00
Ilya Dryomov
5224a218bb qa: krbd parent-overlap test
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-03-05 14:26:42 +01:00
Ilya Dryomov
392fab6919 qa: krbd msgr-segments test
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-03-05 11:51:08 +01:00
Ilya Dryomov
6828641e72 qa: krbd huge-image test
We've had multiple overflows in ceph_calc_file_object_mapping().
It wasn't being used by rbd, but it now is.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-03-02 19:41:11 +01:00
Ilya Dryomov
b5c51bd9c5 qa/suites/krbd: rename blkroset to basic
More simple fixed-1.yaml based tests are coming.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-03-02 18:26:38 +01:00
Ilya Dryomov
72edaae04d qa: krbd latest-osdmap-on-map test
Make sure we get the latest osdmap when using an existing client.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-02-25 11:40:19 +01:00
Ilya Dryomov
8cd42742b6 qa/suites/krbd: enable generic/050 and generic/448
generic/448 has been failing on ext4 and is now fixed upstream.
The fix for generic/050 is in testing, scheduled for 4.15-rc1.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-11-07 18:05:44 +01:00
Ilya Dryomov
2275381286 qa/suites/krbd: add krbd BLKROSET test
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-10-31 13:40:16 +01:00
Ilya Dryomov
2f70787c74 qa/suites/krbd: exclude shared/298
Non-trivial lockdep false positive, discussion at

  https://www.spinics.net/lists/linux-xfs/msg10778.html

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-09-26 16:33:35 +02:00
Ilya Dryomov
131c1189d6 qa/suites/krbd: enable xfstests blockdev tests
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-09-08 15:45:34 +02:00
Ilya Dryomov
6647c65ebe qa/suites/krbd: new rbd_xfstests job definition
ext4 seems to be a better choice for our purposes -- less test churn,
rather small and reliable exclude list.

All excluded tests but generic/050 fail with no krbd in the mix, most
have popped up on linux-ext4 list at least once.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-08-29 16:09:35 +02:00
John Spray
343e1a4281 qa: update whitelist for "wrongly marked me down"
Signed-off-by: John Spray <john.spray@redhat.com>
2017-07-24 14:54:46 +01:00
Ilya Dryomov
7e7f6cfe5c qa/suites/krbd: add luminous thrash tests
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-07-19 12:18:16 +02:00
Ilya Dryomov
0635c25e74 qa/suites/krbd: reorganize thrash tests
- factor out install and ceph into ceph/ceph.yaml
- pg_num thrashing + 20 minute health timeout for thrashosds
- common thrashosds-health.yaml whitelist
- drop iozone workload

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-07-19 12:18:16 +02:00
Ilya Dryomov
dac11877e2 qa/suites/krbd: heavier rbd_fio workload
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-07-19 12:18:16 +02:00
Sage Weil
5a2d78ad85 qa: stop testing btrfs
This is too noisy and we don't recommend it anyway.

See http://tracker.ceph.com/issues/20169

Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-30 09:28:03 -04:00
Ilya Dryomov
156cf45214 qa: krbd discard/zeroout tests
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-05-31 14:39:08 +02:00
Ilya Dryomov
ffb9e09b18 qa/suites/krbd: unmap subsuite needs straw buckets
The default tunables for luminous allow straw2 buckets, which aren't
supported by pre-single-major.yaml kernel.  The map is generated before
crush_tunables override takes effect, so set the bucket algorithm to
straw manually.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-05-25 16:11:06 +02:00
Ilya Dryomov
7c8a7f52da qa: krbd write-after-checksum tests
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-04-27 16:28:08 +02:00
Ilya Dryomov
9038074796 Merge pull request #14785 from idryomov/wip-krbd-exclusive-option
rbd: recognize exclusive option

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-04-26 16:25:31 +02:00
Ilya Dryomov
192f6ca079 qa/workunits/rbd: test exclusive map option
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-04-26 15:05:50 +02:00
Yehuda Sadeh
180e276dd1 qa/suite: replace reference to fs/xfs.yaml
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2017-04-24 15:40:12 -07:00
Josh Durgin
cab2968e8f qa: use bluestore for (k)rbd ec overwrites tests
Only bluestore supports ec overwrites

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2017-04-19 17:49:11 -07:00
Josh Durgin
6fba80c1fa osd, OSDMonitor, qa: mark ec overwrites non-experimental
Keep the pool flag around so we can distinguish between a pool that
should maintain hashes for each chunk, and a missing one is a bug, vs
an overwrites pool where we rely on bluestore checksums for detecting
corruption.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2017-04-19 17:45:43 -07:00
Sage Weil
14e7d6351a Merge pull request #14198 from liewegas/wip-fs
qa/suites: drop 'fs' facet, and add 'objectstore' facet where missing

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-04-08 13:21:03 -05:00
Sage Weil
271a7588b5 qa/suites: run mgr daemon(s)
Everything up upgrade/, which will be slightly tricky.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-29 11:39:26 -04:00
Sage Weil
73981ad807 qa/suites: remove 'fs' facet from all tests
The objectstore facet now covers bluestore, filestore(xfs),
and filestore(btrfs).

Signed-off-by: Sage Weil <sage@redhat.com>
2017-03-28 11:57:21 -04:00
Zack Cerza
201b4d0d1e qa/suites/krbd: Add openstack volume configuration
Signed-off-by: Zack Cerza <zack@redhat.com>
2017-02-24 11:17:45 -07:00
Ilya Dryomov
4db31d53d9 qa: add workunit to test krbd data-pool support
This is based on a script that I've been using for a while for basic
smoke testing.  The matrix has exploded with the addition of data-pool
and now it's primarily a data-pool test fixture that takes minutes to
run, so turning it into a workunit.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-02-16 22:42:46 +01:00
Nathan Cutler
ed0e8be0b2 tests: subst repo name in krbd/unmap/tasks/unmap.yaml
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-01-07 13:40:06 +01:00
Sage Weil
c01f2ee0e2 move ceph-qa-suite dirs into qa/ 2016-12-14 11:29:55 -06:00