Commit Graph

122 Commits

Author SHA1 Message Date
John Spray
623f1240a2 tasks/cephfs: add TestStrays.test_replicated_delete_speed
Reproducer for http://tracker.ceph.com/issues/16914

Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-29 17:21:57 +01:00
Patrick Donnelly
95c0ca6a2b
qa: add timeout/repeat to pool df
Fixes: http://tracker.ceph.com/issues/20212

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-06-27 06:50:15 -07:00
John Spray
b6cfa35458 qa: no longer need to explicitly enable multimds
Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-23 17:07:34 +01:00
John Spray
38dccd2c72 Merge pull request #15548 from ukernel/wip-20196
mds: improvements for stray reintegration

Reviewed-by: John Spray <john.spray@redhat.com>
2017-06-22 06:46:27 -04:00
Patrick Donnelly
d4870a093c
qa: wait for healthy cluster before testing pins
Fixes: http://tracker.ceph.com/issues/20318

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-06-21 13:21:32 -07:00
Yan, Zheng
57e82edc9c qa/cephfs: use ceph.dir.pin to trigger migration
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-06-20 17:39:46 +08:00
John Spray
18fbf24c7a Merge pull request #15308 from jcsp/wip-19706
mon: don't kill MDSs unless some beacons are getting through

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-06-15 10:50:44 -04:00
Yan, Zheng
5e1d8879ee qa/cephfs: update stray reintegration test case
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-06-12 09:46:06 +08:00
John Spray
7e1be30b9a qa: clean up test_exports.py
Mainly just using the setfattr helper
instead of run_shell.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-01 07:18:03 -04:00
John Spray
6ef30d1ed3 qa: explicitly set up standby replay in test_journal_migration
Previously this relied on being run in a special cluster configuration
that set up standby replay daemons.  This change will allow it
to live alongside all the 'normal' functional tests.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-06-01 07:18:03 -04:00
John Spray
3326321858 qa: fix daemon restart between tests
Previously, calling mds_stop without mds_fail meant
that if the filesystem creation was not quick, then
we would see those daemons go laggy.  This starts
to trigger failures now that we have cluster log
messages that fire when a daemon gets failed out
due to being laggy.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-05-31 18:00:43 -04:00
Patrick Donnelly
76335b0e0f
qa: improve debug message for subtree wait
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-30 09:08:27 -07:00
John Spray
f80e0973f5 Merge pull request #15062 from ukernel/wip-19912
qa/tasks/cephfs: use getattr to guarantee inode is in client cache

Reviewed-by: John Spray <john.spray@redhat.com>
2017-05-25 18:44:54 +01:00
John Spray
ef9d555916 Merge pull request #15105 from ukernel/wip-19892
qa/cephfs: disable mds_bal_frag for TestStrays.test_purge_queue_op_rate

Reviewed-by: John Spray <john.spray@redhat.com>
2017-05-24 16:41:45 +01:00
John Spray
ee75318807 Merge pull request #15122 from batrick/test-fragment-error
qa: fix float parse error in test_fragment

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-24 16:40:50 +01:00
John Spray
3913ed0ba6 qa: refine assert_session_count (don't count killing)
Signed-off-by: John Spray <john.spray@redhat.com>
2017-05-23 05:22:18 -04:00
John Spray
ee2683c804 qa: update TestVolumeClient for new blacklisting
Blacklisted clients will now proactively fail
outstanding operations, rather than blocking.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-05-23 05:22:18 -04:00
John Spray
ab8e328c80 qa: clean up whitespace in test_misc.py
Signed-off-by: John Spray <john.spray@redhat.com>
2017-05-23 05:22:18 -04:00
John Spray
c91ccac6f6 qa: remove outdated TODO in TestVolumeClient
Signed-off-by: John Spray <john.spray@redhat.com>
2017-05-23 05:22:17 -04:00
John Spray
47a9c9ba67 qa: add test_filelock_eviction
To check that eviction is releasing flocks.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-05-23 05:22:17 -04:00
Patrick Donnelly
6c34a2c673
qa: silence upgrade test failure
The new fs setting standby_count_wanted is only avialable in luminous. Upgrade
tests were tripping on this.

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

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-16 18:43:57 -04:00
Patrick Donnelly
4b72940d02
qa: fix float parse error in test_fragment
2017-05-16 17:45:30,663.663 INFO:__main__:run args=['./bin/ceph', 'daemon', 'mds.b', 'perf', 'dump', 'mds']
    2017-05-16 17:45:30,664.664 INFO:__main__:Running ['./bin/ceph', 'daemon', 'mds.b', 'perf', 'dump', 'mds']
    Can't get admin socket path: unable to get conf option admin_socket for mds.b: parse error setting 'mds_bal_fragment_size_max' to '152.0'

    2017-05-16 17:45:30,781.781 INFO:__main__:test_rapid_creation (tasks.cephfs.test_fragment.TestFragmentation) ... ERROR
    2017-05-16 17:45:30,782.782 ERROR:__main__:Traceback (most recent call last):
      File "/home/pdonnell/ceph/qa/tasks/cephfs/test_fragment.py", line 114, in test_rapid_creation
        self.assertEqual(self.get_splits(), 0)
      File "/home/pdonnell/ceph/qa/tasks/cephfs/test_fragment.py", line 15, in get_splits
        return self.fs.mds_asok(['perf', 'dump', 'mds'])['mds']['dir_split']
      File "/home/pdonnell/ceph/qa/tasks/cephfs/filesystem.py", line 788, in mds_asok
        return self.json_asok(command, 'mds', mds_id)
      File "/home/pdonnell/ceph/qa/tasks/cephfs/filesystem.py", line 174, in json_asok
        proc = self.mon_manager.admin_socket(service_type, service_id, command)
      File "../qa/tasks/vstart_runner.py", line 561, in admin_socket
        args=[os.path.join(BIN_PREFIX, "ceph"), "daemon", "{0}.{1}".format(daemon_type, daemon_id)] + command, check_status=check_status
      File "../qa/tasks/vstart_runner.py", line 296, in run
        proc.wait()
      File "../qa/tasks/vstart_runner.py", line 174, in wait
        raise CommandFailedError(self.args, self.exitstatus)
    CommandFailedError: Command failed with status 22: ['./bin/ceph', 'daemon', 'mds.b', 'perf', 'dump', 'mds']

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-16 18:02:18 -04:00
John Spray
60f904615f Merge pull request #15096 from jcsp/wip-journalrepair-test
qa: simplify TestJournalRepair

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-16 16:11:57 +01:00
Yan, Zheng
6473b79337 qa/cephfs: disable mds_bal_frag for TestStrays.test_purge_queue_op_rate
directory fragmentation generates extra osd ops, which affects checks
in the test.

Fixes: http://tracker.ceph.com/issues/19892
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-05-16 16:43:29 +08:00
John Spray
2350555fe5 qa: simplify TestJournalRepair
This was sending lots of metadata ops to MDSs to persuade
them to migrate some subtrees, but that was flaky.  Use
the shiny new rank pinning functionality instead.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-05-15 17:27:07 -04:00
Douglas Fuller
7f659e104d qa/cephfs: Fix for test_data_scan
Don't assume that test_data_scan will be run on exactly 2 MDS nodes.

Fixes: http://tracker.ceph.com/issues/19893
Signed-off-by: Douglas Fuller <dfuller@redhat.com>
2017-05-15 16:01:02 -04:00
John Spray
17f669a868 Merge pull request #15026 from ukernel/wip-19891
qa/suites/fs: reserve more space for mds in full tests

Reviewed-by: John Spray <john.spray@redhat.com>
2017-05-15 13:21:52 +01:00
John Spray
897b5f5bbe Merge pull request #15035 from batrick/quiet-mds-grow-shrink
qa: silence spurious insufficient standby health warnings

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-05-15 13:17:38 +01:00
Yan, Zheng
1a48359f34 qa/tasks/cephfs: use getattr to guarantee inode is in client cache
When selinux is enabled, kernel client may releases inodes (without
uptodate xattr) in readdir reply immediately after processing the reply.
The reason is that linking the inode to dentry causes deadlock if xattr
is not uptodate.

We can use stat(2) syscall to guarantee that kernel client caches an
inode.

Fixes: http://tracker.ceph.com/issues/19912
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-05-12 16:42:25 +08:00
Yan, Zheng
b67a599ebe Merge pull request #14598 from batrick/mds-balancer-pin
mds: support export pinning on directories
2017-05-11 11:56:34 +08:00
Yan, Zheng
bbb3369b50 qa/suites/fs: fix write size calculation in full tests
'max_avail' has already taken full_ratio into account

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-05-11 11:18:22 +08:00
Patrick Donnelly
02c41f683d
qa: add health warning test for insufficient standbys
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-10 11:05:09 -04:00
Patrick Donnelly
a4cb10900d
qa: turn off spurious standby health warning
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-10 10:21:28 -04:00
Patrick Donnelly
9552efde4a
qa: improve time handling for test_exports test
Also catches corner-case found by Zheng where an unjournaled directory will
cause export pinning to fail because it cannot be made a subtree until its
parent is stable.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-05 19:07:05 -04:00
Patrick Donnelly
63cbe330b7
qa: remove errant mount requirement
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-02 18:29:08 -04:00
Patrick Donnelly
6bd58fefb7
mds: use aux subtrees for export pinned inodes
Idea here is that a pinned inode should not be exported when its parent is.
Setting the pinned inode's dirfrags to aux subtrees prevents them from being
merged with a parent subtree.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-05-02 00:30:35 -04:00
John Spray
d0d3a4a02e Merge pull request #12935 from stiopaa1/17855_evictClient
mds/Server.cc: Don't evict a slow client if...

Reviewed-by: John Spray <john.spray@redhat.com>
2017-04-24 22:10:01 +01:00
John Spray
837a71c0af qa/tasks/cephfs: clean up mount point setup
Previously were sometimes trying to maintain a mounted
client across a filesystem destroy/create.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-24 11:19:55 +01:00
John Spray
16702ff13d Merge pull request #14018 from jcsp/wip-17939
client: getattr before returning quota/layout xattrs

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-04-24 11:12:26 +01:00
Michal Jarzabek
1a5cb534d9 mds/Server.cc: Don't evict a slow client if...
... it's the only client

Fixes: http://tracker.ceph.com/issues/17855
Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
2017-04-23 13:31:47 +01:00
Patrick Donnelly
0b420be7e9
mds: add export_pin feature
This allows the client/admin to pin a directory tree to a particular rank,
preventing its export by the dynamic balancer.

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

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-04-19 18:21:19 -04:00
John Spray
033ee6bd1f Merge pull request #14396 from jcsp/wip-19550
qa: re-enable ENOSPC tests for kclient
2017-04-18 12:59:14 +01:00
John Spray
d98e19fdbd Merge pull request #14589 from jcsp/wip-19640
client: refine fsync/close writeback error handling

Reviewed-by: Jeff Layton <jlayton@redhat.com>
2017-04-18 12:58:37 +01:00
John Spray
a2a100dc13 Merge pull request #14272 from jcsp/wip-vstart-fixup
qa: fix test_standby_for_invalid_fscid with vstart_runner

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-04-18 12:50:20 +01:00
John Spray
1a69bec52f client: refine fsync/close writeback error handling
Previously, errors stuck indelibly to the inode, which
meant that a close call would see an error even if the
user already dutifully fsync()'d and handled it.

We should emit each error only once per file handle.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-18 07:47:10 -04:00
John Spray
dd43d3bc64 qa/cephfs: use getfattr/setfattr helpers
Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-14 06:38:48 -04:00
John Spray
61617f8f10 qa: add test for reading quotas from different clients
Fixes: http://tracker.ceph.com/issues/17939
Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-14 06:38:48 -04:00
John Spray
fb046b9730 qa/tasks/cephfs: update kernel_mount for debugfs format
Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-09 18:13:29 +01:00
John Spray
e0833965b6 qa: re-enable ENOSPC tests for kclient
Fixes: http://tracker.ceph.com/issues/19550
Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-07 14:45:30 +01:00
Douglas Fuller
37bafff9f4 qa/cephfs: Add test for rebuilding into an alternate metadata pool
Add a test to validate the ability of cephfs_data_scan and friends to
recover metadata from a damaged CephFS installation into a fresh metadata
pool.

cf: http://tracker.ceph.com/issues/15068
cf: http://tracker.ceph.com/issues/15069
Signed-off-by: Douglas Fuller <dfuller@redhat.com>
2017-04-04 12:29:01 -07:00
John Spray
bf39f561e9 qa: fix test_standby_for_invalid_fscid with vstart_runner
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-31 12:13:57 -04:00
John Spray
41f8ded3e7 qa: update TestDamage for PurgeQueue
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:03 +00:00
John Spray
1a1951002d qa: update TestFlush for changed stray perf counters
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:03 +00:00
John Spray
6cf9c2956c qa: add TestStrays.test_purge_queue_op_rate
For ensuring that the PurgeQueue code is not generating
too many extra IOs.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:02 +00:00
John Spray
3e66de2182 mds: create purge queue if it's not found
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:26:59 +00:00
John Spray
f826c7e8aa qa/cephfs: add TestStrays.test_purge_on_shutdown
...and change test_migration_on_shutdown to
specifically target non-purgeable strays (i.e.
hardlink-ish things).

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:26:55 +00:00
John Spray
3970502c9b qa: update test_strays for purgequeue
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:59 +00:00
John Spray
73100305e5 Merge pull request #13262 from batrick/multimds-thrasher
Add multimds:thrash sub-suite and fix bugs in thrasher for multimds

Reviewed-by: John Spray <john.spray@redhat.com>
2017-03-07 14:29:18 +00:00
John Spray
39204abeda Merge pull request #13282 from jcsp/wip-fuse-mount-teardown
tasks/cephfs: tear down on mount() failure

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-02-28 15:04:59 +00:00
John Spray
880cbf09aa Merge pull request #13137 from jcsp/wip-18661
qa: fix race in Mount.open_background

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-02-10 17:48:05 +00:00
John Spray
6203f33df4 tasks/cephfs: tear down on mount() failure
There were some cases where we would leave a mountpoint
that would cause the teuthology teardown to get hung up
when it tried to look inside cephtest/

Signed-off-by: John Spray <john.spray@redhat.com>
2017-02-06 22:53:21 +00:00
Patrick Donnelly
82662edd7f
qa: do not pretty the json to shorten stdout log
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-02-06 14:07:14 -05:00
Patrick Donnelly
cf9e0da078
qa: use fs methods for setting configs
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-02-06 14:07:13 -05:00
John Spray
3c9f16d8ab tasks/kclient: apply timeout to umount
The umount process can get stuck, in which case
we want to fail the test rather than waiting around for it.

During teardown of the kclient task catch this
timeout explicitly so that we will powercycle the node if
needed.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-02-02 15:09:48 +00:00
John Spray
a027dba78f tasks/cephfs: switch open vs. write in test_open_inode
Do the write after opening the file, so that we get good
behaviour wrt the change in Mount.open_background that uses
file existence to confirm that the open happened.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-02-01 00:38:08 +00:00
John Spray
c6d91dd912 qa: fix race in Mount.open_background
Previously a later remote call could end up executing
before the remote python program in open_background
had actually got as far as opening the file.

Fixes: http://tracker.ceph.com/issues/18661
Signed-off-by: John Spray <john.spray@redhat.com>
2017-01-26 16:48:58 +00:00
Michal Jarzabek
052c3d3f68 mon/MDSMonitor.cc:refuse fs new on pools with obj
Fixes: http://tracker.ceph.com/issues/11124
Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
2017-01-23 19:48:53 +00:00
John Spray
1e62467d09 Merge pull request #12833 from ukernel/wip-18396
tasks/cephfs: fix kernel force umount

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2017-01-13 11:20:00 +00:00
Yan, Zheng
6526ecc084 qa/tasks: add test_open_ino_errors
Validate that errors encountered during opening inos are properly
propagated

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-12 20:15:53 +08:00
Yan, Zheng
4cdeeaac10 qa/tasks/cephfs: fix kernel force umount
Fixes: http://tracker.ceph.com/issues/18396
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2017-01-10 08:31:25 +08:00
John Spray
5f6cdab80f qa/tasks: add test_corrupt_backtrace
Validate that we get EIO and a damage table entry
when seeing a decode error on a backtrace.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-01-05 13:41:59 +00:00
Sage Weil
c01f2ee0e2 move ceph-qa-suite dirs into qa/ 2016-12-14 11:29:55 -06:00