Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / qa / workunits / fs / snaps / snaptest-snap-rename.sh
1 #!/bin/sh -x
2
3 expect_failure() {
4         if "$@"; then return 1; else return 0; fi
5 }
6 set -e
7
8 ceph mds set allow_new_snaps true --yes-i-really-mean-it
9
10 mkdir -p d1/d2
11 mkdir -p d1/d3
12 mkdir d1/.snap/foo
13 mkdir d1/d2/.snap/foo
14 mkdir d1/d3/.snap/foo
15 mkdir d1/d3/.snap/bar
16 mv d1/d2/.snap/foo d1/d2/.snap/bar
17 # snapshot name can't start with _
18 expect_failure mv d1/d2/.snap/bar d1/d2/.snap/_bar
19 # can't rename parent snapshot
20 expect_failure mv d1/d2/.snap/_foo_* d1/d2/.snap/foo
21 expect_failure mv d1/d2/.snap/_foo_* d1/d2/.snap/_foo_1
22 # can't rename snapshot to different directroy
23 expect_failure mv d1/d2/.snap/bar d1/.snap/
24 # can't overwrite existing snapshot
25 expect_failure python -c "import os; os.rename('d1/d3/.snap/foo', 'd1/d3/.snap/bar')"
26 # can't move snaphost out of snapdir
27 expect_failure python -c "import os; os.rename('d1/.snap/foo', 'd1/foo')"
28
29 rmdir d1/.snap/foo
30 rmdir d1/d2/.snap/bar
31 rmdir d1/d3/.snap/foo
32 rmdir d1/d3/.snap/bar
33 rm -rf d1
34
35 echo OK