Commit Graph

75 Commits

Author SHA1 Message Date
Patrick Donnelly
5b87301192
Merge remote-tracking branch 'upstream/pull/15822/head' into master
* upstream/pull/15822/head:
  qa: add timeout/repeat to pool df

Reviewed-by: John Spray <jspray@redhat.com>
2017-07-06 22:14:32 -07:00
Patrick Donnelly
97cdb1e34a
Merge remote-tracking branch 'upstream/pull/15817/head' into master
* upstream/pull/15817/head:
  qa: wait for healthy cluster before testing pins

Reviewed-by: Zheng Yan <zyan@redhat.com>
2017-07-06 21:36:34 -07:00
Patrick Donnelly
2cb42a4dbf
Merge remote-tracking branch 'upstream/pull/13770/head' into master
* upstream/pull/13770/head:
  tasks/cephfs: add TestStrays.test_replicated_delete_speed

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-07-06 21:33:03 -07:00
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