{"text_format":"3","workbook":"xls","n_sheets":8,"sheets":["Index","Basic Tests","Regular QA","Cascading-basic-tests","Gsyncd-Marker","Negative-Tests","Stress-Tests","Performance-Tests"],"not_rendered":{"external_links":1},"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"Index","index":0,"n_rows":7,"n_cols":1,"rows_kept":7,"flags":["formulas_cached_only"]}
["Basic tests"]
["Regular qa test"]
["Gsync/marker functionality "]
["Cascading"]
["Negative test"]
["Stress test"]
["Performance test"]

{"sheet":"Basic Tests","index":1,"n_rows":68,"n_cols":9,"rows_kept":68,"flags":["formulas_cached_only"]}
["Basic tests(create/update/unlink)"]
["Testcasename","Test description","Expected Result","qa13(M-dhtafr-IM dht-dir)","mar22 dht4-c1","afr-c1(connected to vol)","dht-c1(connexted to vol)","afr-c1(connected to dir)","afr-c1(QA11)"]
["create-reg-file","Regular file creation. “touch file0.txt”","file “file0.txt” should be present at slave ","pass","pass","pass","Pass","Pass","pass"]
["validate-metadata-reg.file","Regular file creation. “touch file1.txt”","file “file1.txt” should be present at slave. Make sure metadata is same as master “stat file1.txt”","pass","pass","pass","Pass","Pass","pass"]
["validate-md5sum-reg.file","Regular file creation. “touch file2.txt”","file “file2.txt” should be present at slave. Make sure md5sum is same as master “md5sum file2.txt”","pass","pass","pass","Pass","Pass","pass"]
["validate-xattr-reg.file","Regular file creation. “touch file3.txt”","file “file3.txt” should be present at slave. Make sure xttr is same as master “getattr -d -m . file3.txt”","pass","pass","pass","Pass","Pass","pass"]
["set-xattr-reg.file","Regular file creation. “touch file4.txt” and add custom-xattr “setfattr -n user.foo -v bar file4.txt”","file “file4.txt” should be present at slave. Make sure xttr is same as master “getattr -d -m . file4.txt”","NA","NA","FAIL","NA","NA","NA"]
["create-dir","dir creation. “mkdir d0”","dir d0 should be present at slave ","pass","pass","pass","Pass","Pass","pass"]
["validate-metadata-dir","dir creation. “mkdir d1”","dir d1 should be present at slave and Make sure metadata is same as master “stat d1”","pass","pass","pass","Pass","Pass","pass"]
["validate-xattr-dir","dir creation. “mkdir d2”","dir d2 should be present at slave and Make sure xattr is same as master “getfattr -d -m d2”","pass","pass","pass","Pass","Pass","pass"]
["set-xattr-dir","dir creation. “mkdir d3” and add custom-xattr “setfattr -n user.foo -v bar2 d3”","dir d3 should be present at slave and Make sure xattr is same as master “getfattr -d -m d3”","NA","NA","fail","NA","NA","NA"]
["create-symlink-file","sym.link creation “ln -s file0.txt sl0.txt”","file “sl0.txt” should be present at slave ","pass","pass","pass","Pass","Pass","pass"]
["validate-metadata-sym.file","sym.link creation “ln -s file1.txt sl1.txt”","file “sl1.txt” should be present at slave and make sure metadata is same as master “stat sl1.txt”","pass","pass","pass","Pass","Pass","pass"]
["validate-xattr-sym.file","sym.link creation “ln -s file2.txt sl2.txt”","file “sl2.txt” should be present at slave and make sure xattr is same as master “getfattr -h -d -m . sl2.txt”","pass","pass","pass","Pass","Pass","pass"]
["set-xattr-sym.file","sym.link creation “ln -s file3.txt sl3.txt” and add custom-xattr “setfattr -n user.foo -v bar sl3.txt”","file “sl3.txt” should be present at slave and make sure xattr is same as master “getfattr -d -m . sl3.txt”","NA","NA","NA","NA","NA","NA"]
[]
["create-symlink-for-dir","sym.link creation “ln -s dir1 sl0.txt”","file “sl0.txt” should be present at slave ","pass","pass","pass","pass","pass","pass"]
["validate-metadata-sym.dir","sym.link creation “ln -s dir1 sl1.txt”","file “sl1.txt” should be present at slave and make sure metadata is same as master “stat sl1.txt”","pass","pass","pass","pass","pass","pass"]
["validate-xattr-sym.dir","sym.link creation “ln -s dir1 sl2.txt”","file “sl2.txt” should be present at slave and make sure xattr is same as master “getfattr -h -d -m . sl2.txt”","NA","NA","NA","NA","NA","NA"]
["set-xattr-sym.dir","sym.link creation “ln -s dir1 sl3.txt” and add custom-xattr “setfattr -n user.foo -v bar sl3.txt”","file “sl3.txt” should be present at slave and make sure xattr is same as master “getfattr -d -m . sl3.txt”","NA","NA","NA","NA","NA","NA"]
[]
["create-mknod-file","create node-“mknod ttyS4 c 4 68”","“ttyS4” should be present at slave ","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["validate-metadata-mknod.file","create node-“mknod ttyS5 c 4 69” ","“ttyS5” should be present at slave and its metadata must be same as master “stat ttyS5”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["validate-xattr-mknod.file","create node-“mknod ttyS6 c 4 70","“ttyS6” should be present at slave and its xattr must be same as master “getfatt -d -m . ttyS6”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["set-xattr-mknod.file","create node-“mknod ttyS7 c 4 71” and add custom-xattr “setfattr -n user.foo -v bar3 ttyS7”","“ttyS7” should be present at slave and its xattr must be same as master “getfatt -d -m . ttyS7”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
[]
["create-pipe-file","create pipe-“mkfifo fifo0”","“fifo0” should be present at slave ","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["validate-metadata-pipe.file","create pipe-“mkfifo fifo1”","“fifo1” should be present at slave and its metadata must be same as master “stat fifo1”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["validate-xattr-pipe.file","create pipe-“mkfifo fifo2”","“fifo2” should be present at slave and its metadata must be same as master “getfattr -d -m . fifo2”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["set-xattr-pipe.file","create pipe-“mkfifo fifo3” and add custom-xattr “setfattr -n user.foo -v bar2 fifo3”","“fifo3” should be present at slave and its metadata must be same as master “getfattr -d -m . fifo3”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["10K write-reg.file-with dd","dd if=/dev/zero of=file1.txt bs=1K count=10","file1.txt should be present at slave and md5sum should match the master “md5sum file1.txt”","Pass","pass","pass","Pass","Pass","Pass"]
["1M write-reg.file-with dd","dd if=/dev/zero of=file2.txt bs=1K count=1024","file2.txt should be present at slave and md5sum should match the master “md5sum file2.txt”","Pass","pass","pass","Pass","Pass","Pass"]
["100M write-reg.file-with dd","dd if=/dev/zero of=file3.txt bs=1K count=102400","file3.txt should be present at slave and md5sum should match the master “md5sum file3.txt”","Pass","pass","pass","Pass","Pass","Pass"]
["1G write-reg.file-with dd","dd if=/dev/zero of=file4.txt bs=1M count=1024","file4.txt should be present at slave and md5sum should match the master “md5sum file4.txt”","Pass","pass","pass","Pass","Pass","Pass"]
["write-reg.file","echo “data” > file0.txt","file0.txt should be present at slave and md5sum should match the master “md5sum file0.txt”","Pass","pass","pass","Pass","Pass","Pass"]
["chown-reg.file","chown lakshmipathi:root file1.txt","check permision on slave it should be same as master “stat file1.txt","Pass","pass","pass","Pass","Pass","pass"]
["chown-dir.file","mkdir dir0&& touch dir0/f1.txt && touch dir0/f2.txt && chown lakshmipathi:root dir0","check permision on slave it should be same as master “stat dir0”","pass","pass","FAIL (2318)","FAIL (2318)","FAIL (2318)","pass"]
["chown-dir.file-recursively","mkdir dir1&& touch dir1/f1.txt & touch dir1/f2.txt && mkdir dir1/d0 && chown -R root:root dir1","check permision on slave it should be same as master “stat dir1” and also verify mode is all directory entries “ls -l dir1”.","pass","pass(though id appears instead of name for dirs)","chown fails with dir but passes on regular file.(2318)","chown fails with dir but passes on regular file.(2318)","chown fails with dir but passes on regular file.(2318)","pass"]
["chown-sym.file","chown -h lakshmipathi:root sl1.txt","check permision on slave it should be same as master “stat sl1.txt","Bug 2648","pass","pass","pass","pass","pass"]
["chown-sym.dir","chown -h lakshmipathi:root sl1.txt","check permision on slave it should be same as master “stat sl1.txt","Bug 2648","pass(though id appears instead of name)","FAIL (2318)","FAIL (2318)","FAIL (2318)","pass"]
["chown-mknod .file","chown root:root ttyS4","check permision on slave it should be same as master “stat ttyS4”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["chown-pipe.file","chown root:root fifo0","check permision on slave it should be same as master “stat fifio0”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["chmod-reg.file","chmod 777 file1.txt","check permision on slave it should be same as master “stat file1.txt","pass","pass","pass","Pass","Pass","pass"]
["chmod-dir.file","mkdir dir0 && touch dir0/f1.txt && touch dir0/f2.txt && mkdir dir0/d1 && chmod 777 dir0","check permision on slave it should be same as master “stat dir0”","pass","pass","FAIL (2318)","FAIL (2318)","FAIL (2318)","pass"]
["chmod-dir.file-recursively","mkdir dir1 && touch dir1/f1.txt && touch dir1/f2.txt && chmod -R 777 dir1","check permision on slave it should be same as master “stat dir1” and also verify mode is all directory entries “ls -l dir1”.","pass","pass","fails with dir but passes with files(2318)","Fails with dirs but passes with regular file(2318)","Fails with dirs but passes with regular file(2318)","pass"]
["chmod-mknod .file","chmod 777 ttyS4","check permision on slave it should be same as master “stat ttyS4”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["chmod-pipe.file","chmod 777 fifo0","check permision on slave it should be same as master “stat fifio0”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["truncate-reg.file","truncate reg. File “>file4.txt”","check permision on slave it should be same as master “stat file4.txt”","Pass","pass","pass","Pass","Pass","pass"]
["modify-xattr-reg.file","Regular file creation. “touch file4.txt” and add custom-xattr “setfattr -n user.foo -v BAR file4.txt”","file “file4.txt” should be present at slave. Make sure xttr is same as master “getattr -d -m . file4.txt”","NA","NA","NA","NA","NA","NA"]
["modify-xattr-dir","dir creation. “mkdir d3” and add custom-xattr “setfattr -n user.foo -v BAR2 d3”","dir d3 should be present at slave and Make sure xattr is same as master “getfattr -d -m d3”","NA","NA","NA","NA","NA","NA"]
["modify-xattr-sym.file","sym.link creation “ln -s file3.txt sl3.txt” and add custom-xattr “setfattr -n user.foo -v BAR sl3.txt”","file “sl3.txt” should be present at slave and make sure xattr is same as master “getfattr -d -m . sl3.txt”","NA","NA","NA","NA","NA","NA"]
["modify-xattr-mknod.file","create node-“mknod ttyS7 c 4 71” and add custom-xattr “setfattr -n user.foo -v BAR3 ttyS7”","“ttyS7” should be present at slave and its xattr must be same as master “getfatt -d -m . ttyS7”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","fail","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["modify-xattr-pipe.file","create pipe-“mkfifo fifo3” and add custom-xattr “setfattr -n user.foo -v BAR2 fifo3”","“fifo3” should be present at slave and its metadata must be same as master “getfattr -d -m . fifo3”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","fail","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["remove-xattr-reg.file","Regular file creation. “touch file4.txt” and add custom-xattr “setfattr -x user.foo file4.txt”","file “file4.txt” should be present at slave. Make sure xttr is same as master “getattr -d -m . file4.txt”","NA","NA","NA","NA","NA","NA"]
["remove-xattr-dir","dir creation. “mkdir d3” and add custom-xattr “setfattr -x user.foo d3”","dir d3 should be present at slave and Make sure xattr is same as master “getfattr -d -m d3”","NA","NA","NA","NA","NA","NA"]
["remove-xattr-sym.file","sym.link creation “ln -s file3.txt sl3.txt” and add custom-xattr “setfattr -x user.foo sl3.txt”","file “sl3.txt” should be present at slave and make sure xattr is same as master “getfattr -d -m . sl3.txt”","NA","NA","NA","NA","NA","NA"]
["remove-xattr-mknod.file","create node-“mknod ttyS7 c 4 71” and add custom-xattr “setfattr -x user.foo ttyS7”","“ttyS7” should be present at slave and its xattr must be same as master “getfatt -d -m . ttyS7”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["remove-xattr-pipe.file","create pipe-“mkfifo fifo3” and add custom-xattr “setfattr -x user.foo fifo3”","“fifo3” should be present at slave and its metadata must be same as master “getfattr -d -m . fifo3”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["Unlink-reg.file","Regular file deletion. “rm -rf file4.txt” ","file “file4.txt” shouldnot be present at slave. ","pass","pass","pass","Pass","Pass","pass"]
["Unlink-dir","dir creation. “rm -rf d0/* ” and rmdir d0 ”","dir d3 shouldnot be present at slave.","pass","pass","pass","Pass","Pass","pass"]
["Unlink-sym.dir","sym.link deletion “ln -s d1 sld.txt” and rm “-rf sld.txt”","file “sd.txt” shouldnot be present at slave","pass","pass","pass","pass","FAIL (2318)","pass"]
["Unlink-sym.file","sym.link deletion “ln -s file3.txt sl3.txt” and rm “-rf sl3.txt”","file “sl3.txt” shouldnot be present at slave","pass","pass","pass","Pass","Pass","pass"]
["Unlink-mknod.file","rm -rf ttyS7 ","“ttyS7” shouldnot be present at slave ","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["unlink-pipe.file","rm -rf fifo3","“fifo3” shouldnot be present at slave","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["chgrp-reg file","chgrp apache foo","Check \"foo\" group at slave ","Pass","pass","pass","Pass","pass","Pass"]
["chgrp-dir","chgrp apache dir1","check at slave","Pass","pass","pass","pass","pass","Pass"]
["chgrp-sym-file","chgrp apache foo","check at slave","Pass","pass","pass","pass","pass","Pass"]
["chgrp-sym-dir","chgrp apache dir1","check at slave","Pass","pass","pass","pass","pass","pass"]

{"sheet":"Regular QA","index":2,"n_rows":45,"n_cols":8,"rows_kept":45,"flags":["formulas_cached_only"]}
["Regular QA TEST CASES"]
[{"$nulls":3},"Result"]
["Test Category","Sub Tests if any","Priority ","afr-c1(connected to vol)","dht-c1(connected to vol)","afr-c1(connected to dir)","git-mar22","Qa13(M-dhtafr-IM dht-dir)"]
[]
["Static Analysis",null,"P4"]
["Verify all bugs  fixed for gsyncd","2757,2738,2713,2712,2710,2670,2659,2644,2637,2565,2558,2555,2546,2539,2538,2537,2535,2529,2477,2455,2449,2437,2427,2418,2412,2411,2387,2380,2379,2378,2377,2372,2363,2362,2354,2351,2342,2341,2340,2339,2318,2313,2303,2270,","P1"]
["Installation tests",null,"P1"]
["Tests for Memory leaks",null,"P2"]
["Tests for Memory corruption",null,"P1",{"$nulls":4},"pass(qa13)"]
["Tests for Resource leaks","fd","P2",{"$nulls":4},"pass(qa13)"]
[null,"inodes"]
[null,"frames"]
[null,"lock leaks"]
["Posix Compliance tests",null,"P1",{"$nulls":4},"pass(qa13)"]
["Code Coverage tests",null,"P5"]
["Gluster CLI tests",null,"P1"]
["Glusterd management server functionality",null,"P1",{"$nulls":4},"pass(qa13)"]
["Regression mix with all DVM functionality",null,"P2"]
["AFR, DHT and Stripe tests","Large File creation with dd  ( 50 GB )","P1","pass (10gb)","pass","pass(10gb)","bug 2565 (creating 200gb) later pass","pass(qa12)"]
[null,"Small File creation with dd  ( 1million – 10k files)","P1","pass (bug gsyncd crashed often. refer to bugs 2362 and 2363","pass","pass(50kfiles)","pass(10k-10kb files) qa5","pass"]
[null,"Removal of large files created","P1","pass","pass","pass","pass","pass"]
[null,"Removal of small files","P1","pass","pass","pass","pass(qa5)","pass"]
[null,"Reading large files","P1","pass","pass","pass","pass","pass"]
[null,"dbench with 10 clients","P1","pass","pass","pass","pass(qa5)","pass(qa12)"]
[null,"dbench with 100 clients","P1","pass",null,null,"pass(qa5)","pass(qa12)"]
[null,"Data Integrity test by rsyncing /usr (arequal)","P1",null,"pass","fails 2377","pass","pass(qa13)"]
[null,"Kernel Compilation","P1","pass","pass","pass","pass","pass(qa13)"]
[null,"fsx for  100 operations","P1","pass","pass","pass"]
[null,"fileop with 30","P1","pass","pass","pass","pass(qa5)","pass(qa8)"]
[null,"bonnie++ to create files of 1G","P1",null,"pass","pass","pass","pass(qa11)"]
[null,"iozone ","P1",null,"FAIL","pass","pass(qa5)","pass (qa8/qa11/qa12)"]
[null,"postmark","P1","pass","pass","pass",null,"pass(qa13)"]
[null,"openssl build","P1","pass","pass",null,null,"pass"]
[null,"HA checks (force server kills / disconnects )","P1"]
[null,"Checks with errorgen (Fault injection tests)","P4"]
[null,"Run with valgrind","P2"]
[null,"ping_pong test","P1","pass",null,"pass",null,"pass(qa13)"]
[null,"Fs-perf-test","P1"]
[null,"Tests with apache (seige / ab)","P3"]
[null,"fio","P2","pass",null,"pass",null,"pass(qa13)"]
[null,"Annihilate + exnihilate","P3"]
[null,"ffsb","P1"]
[null,"build glusterfs on mountpoint","P2","pass","pass",null,"pass(qa5)","pass (qa8/qa11/qa13)"]
[null,"smbtorture and lock tests","P2"]
[null,"cpio create archive and extract on native file sys and glusterfs and check md5sum","P2","pass",null,"pass","pass(qa5)","pass(qa13)"]

{"sheet":"Cascading-basic-tests","index":3,"n_rows":71,"n_cols":6,"rows_kept":71,"flags":["formulas_cached_only"]}
["Testcasename","Test description","Expected Result (on master/intermediate master and slave)","qa13(M-dhtafr-IM dht-dir)","version 3.2.0qa6 afr->dht->dir","version 3.2.0qa8 dhtafr->dht->dir1,2"]
["Master-dht-inter-Afr-slave-dir","create dht vol. on master and sync to intermediate master. From intermediate master sync to directory on slave","Files should be in sync between master,intermediate master and slave","pass","pass","pass"]
["Directly-touch-im","create files on intermediate master ","these files should not go to slave and if fails created on master on these intermediate files should be removed.","pass","pass","pass"]
["create-reg-file","Regular file creation. “touch file0.txt”","file “file0.txt” should be present at slave and intermediate master.","pass","pass","pass"]
["validate-metadata-reg.file","Regular file creation. “touch file1.txt”","file “file1.txt” should be present at slave. Make sure metadata is same as master “stat file1.txt”","pass","pass","pass"]
["validate-md5sum-reg.file","Regular file creation. “touch file2.txt”","file “file2.txt” should be present at slave. Make sure md5sum is same as master “md5sum file2.txt”","pass","pass","pass"]
["validate-xattr-reg.file","Regular file creation. “touch file3.txt”","file “file3.txt” should be present at slave. Make sure xttr is same as master “getattr -d -m . file3.txt”","pass","NA","NA"]
["set-xattr-reg.file","Regular file creation. “touch file4.txt” and add custom-xattr “setfattr -n user.foo -v bar file4.txt”","file “file4.txt” should be present at slave. Make sure xttr is same as master “getattr -d -m . file4.txt”","NA","NA","NA"]
["create-dir","dir creation. “mkdir d0”","dir d0 should be present at slave ","pass","pass","pass"]
["validate-metadata-dir","dir creation. “mkdir d1”","dir d1 should be present at slave and Make sure metadata is same as master “stat d1”","pass","pass","pass"]
["validate-xattr-dir","dir creation. “mkdir d2”","dir d2 should be present at slave and Make sure xattr is same as master “getfattr -d -m d2”","pass","NA","NA"]
["set-xattr-dir","dir creation. “mkdir d3” and add custom-xattr “setfattr -n user.foo -v bar2 d3”","dir d3 should be present at slave and Make sure xattr is same as master “getfattr -d -m d3”","NA","NA","NA"]
["create-symlink-file","sym.link creation “ln -s file0.txt sl0.txt”","file “sl0.txt” should be present at slave ","pass","pass","pass"]
["validate-metadata-sym.file","sym.link creation “ln -s file1.txt sl1.txt”","file “sl1.txt” should be present at slave and make sure metadata is same as master “stat sl1.txt”","pass","pass","pass"]
["validate-xattr-sym.file","sym.link creation “ln -s file2.txt sl2.txt”","file “sl2.txt” should be present at slave and make sure xattr is same as master “getfattr -h -d -m . sl2.txt”","pass","NA","NA"]
["set-xattr-sym.file","sym.link creation “ln -s file3.txt sl3.txt” and add custom-xattr “setfattr -n user.foo -v bar sl3.txt”","file “sl3.txt” should be present at slave and make sure xattr is same as master “getfattr -d -m . sl3.txt”","NA","NA","NA"]
[]
["create-symlink-for-dir","sym.link creation “ln -s dir1 sl0.txt”","file “sl0.txt” should be present at slave ","pass","pass","pass"]
["validate-metadata-sym.dir","sym.link creation “ln -s dir1 sl1.txt”","file “sl1.txt” should be present at slave and make sure metadata is same as master “stat sl1.txt”","pass","pass","pass"]
["validate-xattr-sym.dir","sym.link creation “ln -s dir1 sl2.txt”","file “sl2.txt” should be present at slave and make sure xattr is same as master “getfattr -h -d -m . sl2.txt”","NA","NA","NA"]
["set-xattr-sym.dir","sym.link creation “ln -s dir1 sl3.txt” and add custom-xattr “setfattr -n user.foo -v bar sl3.txt”","file “sl3.txt” should be present at slave and make sure xattr is same as master “getfattr -d -m . sl3.txt”","NA","NA","NA"]
[]
["create-mknod-file","create node-“mknod ttyS4 c 4 68”","“ttyS4” should be present at slave ","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["validate-metadata-mknod.file","create node-“mknod ttyS5 c 4 69” ","“ttyS5” should be present at slave and its metadata must be same as master “stat ttyS5”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["validate-xattr-mknod.file","create node-“mknod ttyS6 c 4 70","“ttyS6” should be present at slave and its xattr must be same as master “getfatt -d -m . ttyS6”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["set-xattr-mknod.file","create node-“mknod ttyS7 c 4 71” and add custom-xattr “setfattr -n user.foo -v bar3 ttyS7”","“ttyS7” should be present at slave and its xattr must be same as master “getfatt -d -m . ttyS7”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
[]
["create-pipe-file","create pipe-“mkfifo fifo0”","“fifo0” should be present at slave ","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["validate-metadata-pipe.file","create pipe-“mkfifo fifo1”","“fifo1” should be present at slave and its metadata must be same as master “stat fifo1”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["validate-xattr-pipe.file","create pipe-“mkfifo fifo2”","“fifo2” should be present at slave and its metadata must be same as master “getfattr -d -m . fifo2”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["set-xattr-pipe.file","create pipe-“mkfifo fifo3” and add custom-xattr “setfattr -n user.foo -v bar2 fifo3”","“fifo3” should be present at slave and its metadata must be same as master “getfattr -d -m . fifo3”","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)","FAIL(mknod/pipe is not supported by rsync)"]
["10K write-reg.file-with dd","dd if=/dev/zero of=file1.txt bs=1K count=10","file1.txt should be present at slave and md5sum should match the master “md5sum file1.txt”","Pass","pass","pass"]
["1M write-reg.file-with dd","dd if=/dev/zero of=file2.txt bs=1K count=1024","file2.txt should be present at slave and md5sum should match the master “md5sum file2.txt”","Pass","pass","pass"]
["100M write-reg.file-with dd","dd if=/dev/zero of=file3.txt bs=1K count=102400","file3.txt should be present at slave and md5sum should match the master “md5sum file3.txt”","Pass","pass","pass"]
["1G write-reg.file-with dd","dd if=/dev/zero of=file4.txt bs=1M count=1024","file4.txt should be present at slave and md5sum should match the master “md5sum file4.txt”","Pass","pass","pass"]
["write-reg.file","echo “data” > file0.txt","file0.txt should be present at slave and md5sum should match the master “md5sum file0.txt”","Pass","pass","pass"]
["chown-reg.file","chown lakshmipathi:root file1.txt","check permision on slave it should be same as master “stat file1.txt","Pass","pass","pass"]
["chown-dir.file","mkdir dir0&& touch dir0/f1.txt && touch dir0/f2.txt && chown lakshmipathi:root dir0","check permision on slave it should be same as master “stat dir0”","pass","pass","pass"]
["chown-dir.file-recursively","mkdir dir1&& touch dir1/f1.txt & touch dir1/f2.txt && mkdir dir1/d0 && chown -R root:root dir1","check permision on slave it should be same as master “stat dir1” and also verify mode is all directory entries “ls -l dir1”.","pass","pass","pass"]
["chown-sym.file","chown -h lakshmipathi:root sl1.txt","check permision on slave it should be same as master “stat sl1.txt","Bug 2648",2648,2648]
["chown-sym.dir","chown -h lakshmipathi:root sl1.txt","check permision on slave it should be same as master “stat sl1.txt","Bug 2648","didn't run",2648]
["chown-mknod .file","chown root:root ttyS4","check permision on slave it should be same as master “stat ttyS4”","FAIL(mknod/pipe is not supported by rsync)","didn't run","FAIL(mknod/pipe is not supported by rsync)"]
["chown-pipe.file","chown root:root fifo0","check permision on slave it should be same as master “stat fifio0”","FAIL(mknod/pipe is not supported by rsync)","didn't run","FAIL(mknod/pipe is not supported by rsync)"]
["chmod-reg.file","chmod 777 file1.txt","check permision on slave it should be same as master “stat file1.txt","pass","didn't run","pass"]
["chmod-dir.file","mkdir dir0 && touch dir0/f1.txt && touch dir0/f2.txt && mkdir dir0/d1 && chmod 777 dir0","check permision on slave it should be same as master “stat dir0”","pass","didn't run","pass"]
["chmod-dir.file-recursively","mkdir dir1 && touch dir1/f1.txt && touch dir1/f2.txt && chmod -R 777 dir1","check permision on slave it should be same as master “stat dir1” and also verify mode is all directory entries “ls -l dir1”.","pass","didn't run","pass"]
["chmod-mknod .file","chmod 777 ttyS4","check permision on slave it should be same as master “stat ttyS4”","FAIL(mknod/pipe is not supported by rsync)","didn't run","FAIL(mknod/pipe is not supported by rsync)"]
["chmod-pipe.file","chmod 777 fifo0","check permision on slave it should be same as master “stat fifio0”","FAIL(mknod/pipe is not supported by rsync)","didn't run","FAIL(mknod/pipe is not supported by rsync)"]
["truncate-reg.file","truncate reg. File “>file4.txt”","check permision on slave it should be same as master “stat file4.txt”","Pass","didn't run","pass"]
["modify-xattr-reg.file","Regular file creation. “touch file4.txt” and add custom-xattr “setfattr -n user.foo -v BAR file4.txt”","file “file4.txt” should be present at slave. Make sure xttr is same as master “getattr -d -m . file4.txt”","NA","didn't run","NA"]
["modify-xattr-dir","dir creation. “mkdir d3” and add custom-xattr “setfattr -n user.foo -v BAR2 d3”","dir d3 should be present at slave and Make sure xattr is same as master “getfattr -d -m d3”","NA","didn't run","NA"]
["modify-xattr-sym.file","sym.link creation “ln -s file3.txt sl3.txt” and add custom-xattr “setfattr -n user.foo -v BAR sl3.txt”","file “sl3.txt” should be present at slave and make sure xattr is same as master “getfattr -d -m . sl3.txt”","NA","didn't run","NA"]
["modify-xattr-mknod.file","create node-“mknod ttyS7 c 4 71” and add custom-xattr “setfattr -n user.foo -v BAR3 ttyS7”","“ttyS7” should be present at slave and its xattr must be same as master “getfatt -d -m . ttyS7”","FAIL(mknod/pipe is not supported by rsync)","didn't run","FAIL(mknod/pipe is not supported by rsync)"]
["modify-xattr-pipe.file","create pipe-“mkfifo fifo3” and add custom-xattr “setfattr -n user.foo -v BAR2 fifo3”","“fifo3” should be present at slave and its metadata must be same as master “getfattr -d -m . fifo3”","FAIL(mknod/pipe is not supported by rsync)","didn't run","FAIL(mknod/pipe is not supported by rsync)"]
["remove-xattr-reg.file","Regular file creation. “touch file4.txt” and add custom-xattr “setfattr -x user.foo file4.txt”","file “file4.txt” should be present at slave. Make sure xttr is same as master “getattr -d -m . file4.txt”","NA","didn't run","NA"]
["remove-xattr-dir","dir creation. “mkdir d3” and add custom-xattr “setfattr -x user.foo d3”","dir d3 should be present at slave and Make sure xattr is same as master “getfattr -d -m d3”","NA","didn't run","NA"]
["remove-xattr-sym.file","sym.link creation “ln -s file3.txt sl3.txt” and add custom-xattr “setfattr -x user.foo sl3.txt”","file “sl3.txt” should be present at slave and make sure xattr is same as master “getfattr -d -m . sl3.txt”","NA","didn't run","NA"]
["remove-xattr-mknod.file","create node-“mknod ttyS7 c 4 71” and add custom-xattr “setfattr -x user.foo ttyS7”","“ttyS7” should be present at slave and its xattr must be same as master “getfatt -d -m . ttyS7”","FAIL(mknod/pipe is not supported by rsync)","didn't run","NA"]
["remove-xattr-pipe.file","create pipe-“mkfifo fifo3” and add custom-xattr “setfattr -x user.foo fifo3”","“fifo3” should be present at slave and its metadata must be same as master “getfattr -d -m . fifo3”","FAIL(mknod/pipe is not supported by rsync)","didn't run","NA"]
["Unlink-reg.file","Regular file deletion. “rm -rf file4.txt” ","file “file4.txt” shouldnot be present at slave. ","pass","didn't run","pass"]
["Unlink-dir","dir creation. “rm -rf d0/* ” and rmdir d0 ”","dir d3 shouldnot be present at slave.","pass","didn't run","pass"]
["Unlink-sym.dir","sym.link deletion “ln -s d1 sld.txt” and rm “-rf sld.txt”","file “sd.txt” shouldnot be present at slave","pass","didn't run","pass"]
["Unlink-sym.file","sym.link deletion “ln -s file3.txt sl3.txt” and rm “-rf sl3.txt”","file “sl3.txt” shouldnot be present at slave","pass","didn't run","pass"]
["Unlink-mknod.file","rm -rf ttyS7 ","“ttyS7” shouldnot be present at slave ","FAIL(mknod/pipe is not supported by rsync)","didn't run","FAIL(mknod/pipe is not supported by rsync)"]
["unlink-pipe.file","rm -rf fifo3","“fifo3” shouldnot be present at slave","FAIL(mknod/pipe is not supported by rsync)","didn't run","FAIL(mknod/pipe is not supported by rsync)"]
["chgrp-reg file","chgrp apache foo","Check \"foo\" group at slave ","Pass","didn't run","pass"]
["chgrp-dir","chgrp apache dir1","check at slave","Pass","didn't run","pass"]
["chgrp-sym-file","chgrp apache foo","check at slave","Pass","didn't run","pass"]
["chgrp-sym-dir","chgrp apache dir1","check at slave","Pass","didn't run","pass"]
["two-level sym file","ln -s file.txt s1.txt && ln -s s1.txt s2.txt","Check at IM and slave","pass","didn't run","pass"]
["two-level sym file","ln -s dir d1.txt && ln -s d1.txt d2.txt","Check at IM and slave","pass","didn't run","pass"]

{"sheet":"Gsyncd-Marker","index":4,"n_rows":42,"n_cols":9,"rows_kept":42,"flags":["formulas_cached_only"]}
["Testcasename","TestscriptName","Test description","Expected Result","Result"]
[{"$nulls":4},"qa13(M-dhtafr-IM dht-dir)","dht-4 us-eu.(320qa5)","afr-c1(connected to vol)","afr-c1(connected to dir)","dht4-"]
["Marker-on-off","marker_on_off.sh","Run the command “gluster volume set VOL xtime-marker off/on”  in a loop.#script                                                                                                                            for i in {1..25};do\n/opt/glusterfs/3.1.2gsyncqa4/sbin/gluster volume set afr1 xtime-marker off\n/opt/glusterfs/3.1.2gsyncqa4/sbin/gluster volume info  afr1\nps aux | grep gluster\nsleep 2;\n/opt/glusterfs/3.1.2gsyncqa4/sbin/gluster volume set afr1 xtime-marker on\n/opt/glusterfs/3.1.2gsyncqa4/sbin/gluster volume info afr1\nps aux | grep gluster\nsleep 2;\ndone","Glusterfs/d  should not crash","NA","NA","pass","pass"]
["Marker-presence","check_marker_presence.sh","On a marker enabled volume, mount a client with pid -1. Check for xattr volume-mark. getfattr -n trusted.glusterfs.volume-mark <mnt-pt>","And It should give  1.0:<volumeuuid>:<sec>.<usec>.                              ","pass","pass","pass","pass"]
["Marker- invairance",null,"1.mount a client with pid -1. 2.Record the value of marks all across the file system. 3.Apply some workload (which performs changes). Record marks  again. ","Marks pre-workload and post-workload should be the same (as it makes sense, ie. regarding all the file nodes which exist both pre and post).","pass","pass","pass","pass"]
["ENOSPC handling",null,"1.Make sure that on s a back end filesystems setxattr will fail due to ENOSPC  by filled xattr block.2.Apply this procedure on a marker enabled volume, then make a change on the node where ENOSPC is ensured. ","Check for xattr volume-mark. It should give back 1.0:<volume uuid>:FAILURE.","NA","NA","NA","NA"]
["node fops test-truncate","node_fop_truncate.sh","truncate/ftruncate call test.1.Create a file at  depth five (5) mkdir -p d1/d2/d3/d4/d5 &&  touch d1/d2/d3/d4/d5/file.txt .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file: truncate then action which implies the fd based variants of these ftruncate, and write. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["node fops test-chmod-dir-recursive","node_fop_chmod_dir_r.sh","chmod/fchmod call test.1.chmod  a file at  depth five (5) chmod -R 777 /d1  t .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file: chmod then action which implies the fd based variants of these fchmod.. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["node fops test-chmod-dir","node_fop_chmod_dir.sh","chmod/fchmod call test.1.chmod  a file at  depth five (5) chmod 700 /d1/d2/d3/d4/d5 t .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file: chmod then action which implies the fd based variants of these fchmod.. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["node fops test-chmod","node_fop_chmod_file.sh","chmod/fchmod call test.1.chmod  a file at  depth five (5) chmod 704 /d1/d2/d3/d4/d5/file.txt .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file: chmod then action which implies the fd based variants of these fchmod.. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["node fops test-chown-dir-recursively","node_fop_chown_dir_r.sh","chown/fchown call test.1.chown  a file at  depth five (5) chown root:root /d1 .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file:chown  then action which implies the fd based variants of these fchown. For each of these actions, record marks after the action."," The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","fail (the user provided in present in both master and slave, but the uid's of the users in both the machines are different, hence the uid for the user with the same name in the slave is shown as UNKNOWN)","Pass"]
["node fops test-chown-dir","node_fop_chown_dir.sh","chown/fchown call test.1.chown  a file at  depth five (5) chown root:root /d1/d2/d3/d4/d5/ .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file:chown  then action which implies the fd based variants of these fchown. For each of these actions, record marks after the action."," The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","fail (the user provided in present in both master and slave, but the uid's of the users in both the machines are different, hence the uid for the user with the same name in the slave is shown as UNKNOWN)","Pass"]
["node fops test-chown-symln","node_fop_chown_dir_symln.sh","chown/fchown call test.1.chown  a file at  depth five (5) chown root:root /d1/d2/d3/d4/d5/sl.txt .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file:chown  then action which implies the fd based variants of these fchown. For each of these actions, record marks after the action."," The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass"]
["node fops test-chown","node_fop_chown_file.sh","chown/fchown call test.1.chown  a file at  depth five (5) chown root:root /d1/d2/d3/d4/d5/file.txt .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file:chown  then action which implies the fd based variants of these fchown. For each of these actions, record marks after the action."," The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["node fops test-utimes","node_fop_file_utimes.sh","utimes/futimes call test.1.touch on existing a file at  depth five (5) touch /d1/d2/d3/d4/d5/file.txt .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file:utimes  then action which implies the fd based variants of these futimes. For each of these actions, record marks after the action."," The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["node fops test-setxattr",null,"setxattr sys.call test.1.setxattr on existing a file at  depth five (5) setfattr -n user.foo -v bar /d1/d2/d3/d4/d5/file.txt .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file:setxattr  then action which implies the fd based variants of these fsetxattr. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","NA","NA"]
["node fops test-removexattr",null,"removexattr sys.call test.1.touch on existing a file at  depth five (5) setfattr -x user.foo /d1/d2/d3/d4/d5/file.txt .2.Record marks on each path compoment of the file. 3.Do fs action which implies the following syscalls on this file:removexattr  then action which implies the fd based variants of these fremovexattr. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","NA","NA"]
["single topological fop test-creat","node_fop_touch_file.sh","creat call test.1.create a directory with depth 5  , record marks on path components.                            2.Create a file node in the directory by means of the syscalls creat  3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","pass"]
["single topological fop test-mkdir","node_fop_mkdir.sh","mkdir call test.1.create a directory with depth 5  , record marks on path components 2.Create a file node in the directory by means of the syscalls mkdir mkdir -p d1/d2/d3/d4/d5/d6  3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action."," The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["single topological fop test-mknod","node_fop_mknod.sh","mknod call test.1.create a directory with depth 5  , record marks on path components.   2.Create a file node in the directory by means of the syscalls mknod  3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action",". The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["single topological fop test-symlink","node_fop_symlink.sh","symlink call test.1.create a directory with depth 5  , record marks on path components.   2.Create a file node in the directory by means of the syscalls symlink “ln -s d1 ld1” 3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action. ",null,"pass","pass","pass","Pass"]
["single topological fop test-creat-unlink","node_fop_file_unlink.sh","unlink call test.1.create a directory with depth 5  , record marks on path components.   2.delete a file node in the directory by means of the syscalls unlink  3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["single topological fop test-mkdir-unlink","node_fop_mkdir_unlink.sh","unlink call test 1.create a directory with depth 5  , record marks on path components.   2.delete a file node in the directory by means of the syscalls unlink “rm -rf d1” 3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["single topological fop test-mknod-unlink","node_fop_mknod_unlink.sh","unlink call test.1.create a directory with depth 5  , record marks on path components.   2.delete a file node in the directory by means of the syscalls unlink  3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["single topological fop test-symlink-unlink","node_fop_symlink_unlink.sh","unlink call test 1.create a directory with depth 5  , record marks on path components.   2.delete a file node in the directory by means of the syscalls unlink  3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass","pass","Pass"]
["single topological fop test-symlink-unlink","node_fop_symlink_file_unlink.sh","unlink call test 1.create a directory with depth 5  , record marks on path components.   2.delete a file node in the directory by means of the syscalls unlink  3.Check if the marks are uniformly agree with the mark of the created file, and have increased. For each of these actions, record marks after the action. ","The following should be true: an all the path components, marks should agree, and their common value should be strictly greater than it was before.","pass","pass"]
["double topological fop test-link","double_fop_link.sh","link call test.1.create directories d1, d2, in a Y shape (ie. have some common ancestors, then branch and have some separate entries mkdir d0/d1 && mkdir d0/d2).      2.Make a file in d1, record the timestamps of the path components of d1 and d2. Then link  the file from d1 to d2."," In case of link, marks up from d2 should be updated","pass","pass","pass","Pass"]
["double topological fop test-rename","double_fop_rename.sh","rename call test.1.create directories d1, d2, in a Y shape (ie. have some common ancestors, then branch and have some separate entries).      2.Make a file in d1, record the timestamps of the path components of d1 and d2. Then rename  the file from d1 to d2."," In case of rename,marks up from both d1 and d2 should be updated","pass","pass","pass","pass"]
["node fop concurrency test-write",null,"write call test .1.keep on doing writes echo “hi” >> d1/d2/d3/d4/d5/file (or other modifying syscall,like utimes) on a file simultaneosly 2.Record the marks on the components while this load is going on. Record marks again.","The following should apply: marks should increase (not strictly) on each path component, and within the path, as we progress towards root, they should decrease (not strictly).","pass","pass","pass","pass"]
["node fop concurrency test-touch",null,"utimes call test.1.keep on doing utimes touch d1/d2/d3/d4/d5/file (or other modifying syscall,like utimes) on a file simultaneosly 2.Record the marks on the components while this load is going on. Record marks again",".The following should apply: marks should increase (not strictly) on each path component, and within the path, as we progress towards root, they should decrease (not strictly).","pass","didn't run","pass","pass"]
["single topological concurrency test",null,"mkdir and unlink test.1.let d1/d2/d3/ be a path. In one context, do mkdir -p d1/d2/d3 iteratively. 2.In other context, do rm -r d1 iteratively. Test: record marks for d (if a component is not found, just record ENOENT). Iterate the recording procedure.","Comparing subsequent records, per-node values should (non-strictly) increase, within a record, progressing toward root, records should (non-strictly) decrease. ENOENT nodes should just be ignored.","pass","didn't run","pass","pass"]
["double topological concurrency test","run write.c  and move d1 into/from d2. ","unlink and link and write calls : 1.let d1 be a directory, f be a file below that. Let d2 be another, disjoint directory 2. op1 is: move d1 to d2.                                3.Let f2 be the new pathname of f, after this operation. In one context, do updates (write, utimes, etc.) on f. In anther context, do op1, do it in the reverse direction, and iterate this Test: record marks for f and f2 (if a component is not found, just record ENOENT). Iterate the recording procedure.","Comparing subsequent records, per-node values should (non-strictly) increase, within a record, progressing toward root, records should (non-strictly) decrease. ENOENT nodes should just be ignored.","pass","didn't run","pass"]
["volume-mark aggregation",null,"mount with client pid -1:1.make sure the ctime of the 'timestamp file' is different for different cluster sub-volume.","check  if it is aggregating correctly – aggregated timestamp must be the greatest of all the timestamp's","pass","didn't run"]
["Basic Aggregation testing ",null,"mount with client pid -1:Basic Aggregation testing (<vol uuid>.xtime aggregation):change the clock of all the system in the cluster, (so as to ensure for a modification of a file on a cluster we can deterministically say which sub-volume's timestamp has to be considered and check for the same).","check  if it is aggregating correctly – aggregated timestamp must be the greatest of all the timestamp's","NA","NA","NA","NA"]
["Handling ENOENT",null,"mount with client pid -1:A ENOENT in one of the element in the cluster must give the ENOENT error for the samefile, this can be tested by removing a file only in one of the sub-volumes of the cluster using the sub-volume and test if it gives the same.","check if the aggregation is working properly","pass","didn't run","pass","pass"]
["Aggregation when one of the child is down: ",null,"mount with client pid -1:Bring down one of the sub-volume in the cluster "," check if the aggregation is working properly","pass","didn't run"]
["Marker check",null,"mount with client pid -1 create files under dir.path d0/d1/d2/d3/d4/d5.","Make sure marker applied correctly across the path and confirm there is no unreasonable value appears during intermediate change to marker values","pass","pass","pass","pass"]
["Dvm-marker",null,"Enable marker to volume and Add a new brick to existing cluster ","make sure marker enabled on new brick too.","pass","didn't run","fail(2387)","fail(2387)"]
["Gsync-with unusual filenames",null,"Run rsync without -s  and use space/quote/unbalanced quotes in filename.","Determine which version of rsync is more reliable for gsyncd","NA","NA","NA","NA"]
["Gsyncd-cmd",null,"Check each option available from gsyncd command","Verify all options are working properly.","pass","fail (2555)","didn't run","didn't run"]
["Master with multiple slave",null,"master (dhtafr) gsyncs to four slaves.","Make sure master is in sync with all 4 slaves.","pass","pass","didn't run","didn't run"]
["gsync-old files",null,"create 1000 files and master mntpt ,now start gsync..the files should be available at slave.","make sure both slave and master are in-sync.","pass","fail(2699)","didn't run","didn't run"]

{"sheet":"Negative-Tests","index":5,"n_rows":6,"n_cols":6,"rows_kept":6,"flags":["formulas_cached_only"]}
["Testcasename","Test description","Expected Result",null,"qa13(M-dhtafr-IM dht-dir)","(afr)"]
["Gysncd-wo-marker","try and start gsyncd without marker enabled","Gsyncd should display error message like “Marker needs to be enabled for Gsyncd”",null,"NA","NA"]
["Gysncd-stopped-master-vol","Start gsyncd on master and try to connect to stopped volume on master","Gsyncd should display appropriate error message.",null,"pass","gsyncd hangs waiting for slave to start, and when started continues to execute"]
["Gysncd-incorrect-slave-vol","Start gsyncd on master and try to connect to non-existing volume on slave","Gsyncd should display appropriate error message.",null,"fail(2736)","crashes saying transport endpoint is not connected"]
["Gsyncd-stop-start-slave","stop and start the slave volume ","gsyncd should continue its operation when slave volume is started again.",null,"pass","master gsyncd crashes saying transport endpoint is not connected"]
["Gsyncd-nw-disconnect","disconnect slave and reconnect it to network","gsyncd should continue its operation when slave comes up.",null,null,"pass"]

{"sheet":"Stress-Tests","index":6,"n_rows":6,"n_cols":4,"rows_kept":6,"flags":["formulas_cached_only"]}
["Testcasename","Test description","Expected Result"]
["Client8-iozone","mount gsyncd volume on 8 clients and then run iozone -a simultaneously on all mountpts.","master and slave should in sync.There should not be any crash.","(4 iozone ) pass(qa10 , qa14)"]
["client8-compilebench","mount gsyncd volume on 8 clients and then run compilebench simultaneously on all mountpts.","master and slave should in sync.There should not be any crash.","(2 cb) pass"]
["client8-small files creation","On all glusterfs-mountpt  create dirs and create 10k 10KB files with time interval . Make sure whether files from all mountpt goes to slave","master and slave should in sync.There should not be any crash."]
["client8-kernel untar","untar kernel from all mounts","master and slave should in sync.There should not be any crash."]
["multi-slave-iozone","Start one master and  three slave  - then run iozone on master mountpt. Make sure nothing is crashed. gsyncd works fine  after iozone is complete.",null,"pass(qa14)"]

{"sheet":"Performance-Tests","index":7,"n_rows":4,"n_cols":3,"rows_kept":4,"flags":["formulas_cached_only"]}
["Testcasename","Test description","Expected Result"]
["Run-Perf1","On master slave setup , Execute perf.script on master mount pt and record timings."]
["Run-Perf2","On one master, multiple slave setup , Execute perf.script on master mount pt and record timings."]
["Run-Perf3","On master,intermediate master,slave setup , Execute perf.script on master mount pt and record timings."]