From: Ramana Raja Date: Wed, 18 Nov 2020 10:28:39 +0000 (+0530) Subject: qa/workunits/fs/snaps: allow tests to be run X-Git-Tag: v16.1.0~404^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a232d273c1a66a196c83d8dae96b29a89a8b5751;p=ceph.git qa/workunits/fs/snaps: allow tests to be run ... filesystems other than 'cephfs'. It is not required to set 'allow_new_snaps' to True to allow snapshot to be created on a filesystem. Remove that setting. Remove 'fs/snaps/snaptest-0.sh' that is racy when running in parallel on an another client that mounted the same file system. Include a similar test in qa/tasks/cephfs/test_snapshots.py Signed-off-by: Ramana Raja --- diff --git a/qa/tasks/cephfs/test_snapshots.py b/qa/tasks/cephfs/test_snapshots.py index a036ec4a63f8..fa4d9431fefd 100644 --- a/qa/tasks/cephfs/test_snapshots.py +++ b/qa/tasks/cephfs/test_snapshots.py @@ -1,3 +1,4 @@ +import errno import logging import signal from textwrap import dedent @@ -38,6 +39,25 @@ class TestSnapshots(CephFSTestCase): def _get_pending_snap_destroy(self, rank=0, status=None): return self._get_snapserver_dump(rank,status=status)["pending_destroy"] + def test_allow_new_snaps_config(self): + """ + Check whether 'allow_new_snaps' setting works + """ + self.mount_a.run_shell(["mkdir", "test-allow-snaps"]) + + self.fs.set_allow_new_snaps(False); + try: + self.mount_a.run_shell(["mkdir", "test-allow-snaps/.snap/snap00"]) + except CommandFailedError as ce: + self.assertEqual(ce.exitstatus, errno.EPERM, "expected EPERM") + else: + self.fail("expected snap creatiion to fail") + + self.fs.set_allow_new_snaps(True); + self.mount_a.run_shell(["mkdir", "test-allow-snaps/.snap/snap00"]) + self.mount_a.run_shell(["rmdir", "test-allow-snaps/.snap/snap00"]) + self.mount_a.run_shell(["rmdir", "test-allow-snaps"]) + def test_kill_mdstable(self): """ check snaptable transcation diff --git a/qa/workunits/fs/snaps/snap-rm-diff.sh b/qa/workunits/fs/snaps/snap-rm-diff.sh index 63f642878bee..30ffa9113a5d 100755 --- a/qa/workunits/fs/snaps/snap-rm-diff.sh +++ b/qa/workunits/fs/snaps/snap-rm-diff.sh @@ -1,6 +1,5 @@ #!/bin/sh -ex -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it wget -q http://download.ceph.com/qa/linux-2.6.33.tar.bz2 mkdir foo cp linux* foo diff --git a/qa/workunits/fs/snaps/snaptest-0.sh b/qa/workunits/fs/snaps/snaptest-0.sh deleted file mode 100755 index 791caf9ec19b..000000000000 --- a/qa/workunits/fs/snaps/snaptest-0.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -x - -expect_failure() { - if "$@"; then return 1; else return 0; fi -} -set -e - -ceph fs set cephfs allow_new_snaps false -expect_failure mkdir .snap/foo -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - -echo asdf > foo -mkdir .snap/foo -grep asdf .snap/foo/foo -rmdir .snap/foo - -echo asdf > bar -mkdir .snap/bar -rm bar -grep asdf .snap/bar/bar -rmdir .snap/bar -rm foo - -ceph fs set cephfs allow_new_snaps false -expect_failure mkdir .snap/baz - -echo OK diff --git a/qa/workunits/fs/snaps/snaptest-1.sh b/qa/workunits/fs/snaps/snaptest-1.sh index 476531fc4d8f..431e83387899 100755 --- a/qa/workunits/fs/snaps/snaptest-1.sh +++ b/qa/workunits/fs/snaps/snaptest-1.sh @@ -2,8 +2,6 @@ set -ex -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - echo 1 > file1 echo 2 > file2 echo 3 > file3 diff --git a/qa/workunits/fs/snaps/snaptest-2.sh b/qa/workunits/fs/snaps/snaptest-2.sh index 6ded7b66990d..11fe9316ae8d 100755 --- a/qa/workunits/fs/snaps/snaptest-2.sh +++ b/qa/workunits/fs/snaps/snaptest-2.sh @@ -1,7 +1,5 @@ #!/usr/bin/env bash -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - echo "Create dir 100 to 199 ..." for i in $(seq 100 199); do echo " create dir $i" diff --git a/qa/workunits/fs/snaps/snaptest-authwb.sh b/qa/workunits/fs/snaps/snaptest-authwb.sh index 2c53e2a6117c..965ee851273f 100755 --- a/qa/workunits/fs/snaps/snaptest-authwb.sh +++ b/qa/workunits/fs/snaps/snaptest-authwb.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - touch foo chmod +x foo mkdir .snap/s @@ -11,4 +9,4 @@ find .snap/s/foo -executable | grep foo rmdir .snap/s rm foo -echo OK \ No newline at end of file +echo OK diff --git a/qa/workunits/fs/snaps/snaptest-capwb.sh b/qa/workunits/fs/snaps/snaptest-capwb.sh index f36d38ab5c05..d26f324b6147 100755 --- a/qa/workunits/fs/snaps/snaptest-capwb.sh +++ b/qa/workunits/fs/snaps/snaptest-capwb.sh @@ -4,8 +4,6 @@ set -e mkdir foo -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - # make sure mds handles it when the client does not send flushsnap echo x > foo/x sync @@ -32,4 +30,4 @@ rmdir foo/.snap/s rm -r foo -echo OK \ No newline at end of file +echo OK diff --git a/qa/workunits/fs/snaps/snaptest-dir-rename.sh b/qa/workunits/fs/snaps/snaptest-dir-rename.sh index 85b929a25b07..3bbd9a11ef83 100755 --- a/qa/workunits/fs/snaps/snaptest-dir-rename.sh +++ b/qa/workunits/fs/snaps/snaptest-dir-rename.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - # # make sure we keep an existing dn's seq # @@ -16,4 +14,4 @@ rmdir a stat .snap/bar/a rmdir .snap/bar -echo OK \ No newline at end of file +echo OK diff --git a/qa/workunits/fs/snaps/snaptest-double-null.sh b/qa/workunits/fs/snaps/snaptest-double-null.sh index 49a1b271c50f..cdf32e4f0ef6 100755 --- a/qa/workunits/fs/snaps/snaptest-double-null.sh +++ b/qa/workunits/fs/snaps/snaptest-double-null.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - # multiple intervening snapshots with no modifications, and thus no # snapflush client_caps messages. make sure the mds can handle this. diff --git a/qa/workunits/fs/snaps/snaptest-estale.sh b/qa/workunits/fs/snaps/snaptest-estale.sh index e005b9a820bd..a4fb94368d4c 100755 --- a/qa/workunits/fs/snaps/snaptest-estale.sh +++ b/qa/workunits/fs/snaps/snaptest-estale.sh @@ -1,7 +1,5 @@ #!/bin/sh -x -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - mkdir .snap/foo echo "We want ENOENT, not ESTALE, here." diff --git a/qa/workunits/fs/snaps/snaptest-git-ceph.sh b/qa/workunits/fs/snaps/snaptest-git-ceph.sh index 50b854a5583d..0d11efedb73d 100755 --- a/qa/workunits/fs/snaps/snaptest-git-ceph.sh +++ b/qa/workunits/fs/snaps/snaptest-git-ceph.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - git clone git://git.ceph.com/ceph.git cd ceph diff --git a/qa/workunits/fs/snaps/snaptest-hardlink.sh b/qa/workunits/fs/snaps/snaptest-hardlink.sh index 9848a01981e1..90f3583b19ec 100755 --- a/qa/workunits/fs/snaps/snaptest-hardlink.sh +++ b/qa/workunits/fs/snaps/snaptest-hardlink.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - mkdir 1 2 echo asdf >1/file1 echo asdf >1/file2 diff --git a/qa/workunits/fs/snaps/snaptest-intodir.sh b/qa/workunits/fs/snaps/snaptest-intodir.sh index 94af442278bb..d6a220f73bfe 100755 --- a/qa/workunits/fs/snaps/snaptest-intodir.sh +++ b/qa/workunits/fs/snaps/snaptest-intodir.sh @@ -1,7 +1,5 @@ #!/bin/sh -ex -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - # this tests fix for #1399 mkdir foo mkdir foo/.snap/one @@ -21,4 +19,4 @@ rmdir foo/baz/.snap/two rmdir foo/.snap/one rm -r foo -echo OK \ No newline at end of file +echo OK diff --git a/qa/workunits/fs/snaps/snaptest-multiple-capsnaps.sh b/qa/workunits/fs/snaps/snaptest-multiple-capsnaps.sh index 56ceaa8a95e1..5ebc852cf6c7 100755 --- a/qa/workunits/fs/snaps/snaptest-multiple-capsnaps.sh +++ b/qa/workunits/fs/snaps/snaptest-multiple-capsnaps.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - echo asdf > a mkdir .snap/1 chmod 777 a diff --git a/qa/workunits/fs/snaps/snaptest-parents.sh b/qa/workunits/fs/snaps/snaptest-parents.sh index a66a977fd572..7ab1ba7cf2d1 100755 --- a/qa/workunits/fs/snaps/snaptest-parents.sh +++ b/qa/workunits/fs/snaps/snaptest-parents.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - echo "making directory tree and files" mkdir -p 1/a/b/c/ echo "i'm file1" > 1/a/file1 diff --git a/qa/workunits/fs/snaps/snaptest-realm-split.sh b/qa/workunits/fs/snaps/snaptest-realm-split.sh index 3f01fd54dee7..300cca21de51 100755 --- a/qa/workunits/fs/snaps/snaptest-realm-split.sh +++ b/qa/workunits/fs/snaps/snaptest-realm-split.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - mkdir -p 1/a exec 3<> 1/a/file1 diff --git a/qa/workunits/fs/snaps/snaptest-snap-rename.sh b/qa/workunits/fs/snaps/snaptest-snap-rename.sh index 9301a2963775..aa7325b92ea3 100755 --- a/qa/workunits/fs/snaps/snaptest-snap-rename.sh +++ b/qa/workunits/fs/snaps/snaptest-snap-rename.sh @@ -5,8 +5,6 @@ expect_failure() { } set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - mkdir -p d1/d2 mkdir -p d1/d3 mkdir d1/.snap/foo diff --git a/qa/workunits/fs/snaps/snaptest-snap-rm-cmp.sh b/qa/workunits/fs/snaps/snaptest-snap-rm-cmp.sh index c5bd65e9a8f7..88a0e8ae54a1 100755 --- a/qa/workunits/fs/snaps/snaptest-snap-rm-cmp.sh +++ b/qa/workunits/fs/snaps/snaptest-snap-rm-cmp.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - file=linux-2.6.33.tar.bz2 wget -q http://download.ceph.com/qa/$file diff --git a/qa/workunits/fs/snaps/snaptest-upchildrealms.sh b/qa/workunits/fs/snaps/snaptest-upchildrealms.sh index a4cc9ab304b6..4e531a966521 100755 --- a/qa/workunits/fs/snaps/snaptest-upchildrealms.sh +++ b/qa/workunits/fs/snaps/snaptest-upchildrealms.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - # # verify that a snap update on a parent realm will induce # snap cap writeback for inodes child realms @@ -27,4 +25,4 @@ rmdir a/.snap/a1 rmdir a/.snap/a2 rm -r a -echo "OK" \ No newline at end of file +echo "OK" diff --git a/qa/workunits/fs/snaps/snaptest-xattrwb.sh b/qa/workunits/fs/snaps/snaptest-xattrwb.sh index 09398878092f..e503aed77b4e 100755 --- a/qa/workunits/fs/snaps/snaptest-xattrwb.sh +++ b/qa/workunits/fs/snaps/snaptest-xattrwb.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - echo "testing simple xattr wb" touch x setfattr -n user.foo x @@ -28,4 +26,4 @@ getfattr -n user.foo a/.snap/s/b | grep user.foo # should be there, too! rmdir a/.snap/s rm -r a -echo OK \ No newline at end of file +echo OK diff --git a/qa/workunits/fs/snaps/untar_snap_rm.sh b/qa/workunits/fs/snaps/untar_snap_rm.sh index 928e8911ba84..8a8412e66592 100755 --- a/qa/workunits/fs/snaps/untar_snap_rm.sh +++ b/qa/workunits/fs/snaps/untar_snap_rm.sh @@ -2,8 +2,6 @@ set -e -ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it - do_tarball() { wget http://download.ceph.com/qa/$1 tar xvf$2 $1