summaryrefslogtreecommitdiffstats
path: root/src/ceph/qa/workunits/rados/test_cache_pool.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/ceph/qa/workunits/rados/test_cache_pool.sh')
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_cache_pool.sh170
1 files changed, 0 insertions, 170 deletions
diff --git a/src/ceph/qa/workunits/rados/test_cache_pool.sh b/src/ceph/qa/workunits/rados/test_cache_pool.sh
deleted file mode 100755
index 5975893..0000000
--- a/src/ceph/qa/workunits/rados/test_cache_pool.sh
+++ /dev/null
@@ -1,170 +0,0 @@
-#!/bin/bash -x
-
-set -e
-
-expect_false()
-{
- set -x
- if "$@"; then return 1; else return 0; fi
-}
-
-# create pools, set up tier relationship
-ceph osd pool create base_pool 2
-ceph osd pool application enable base_pool rados
-ceph osd pool create partial_wrong 2
-ceph osd pool create wrong_cache 2
-ceph osd tier add base_pool partial_wrong
-ceph osd tier add base_pool wrong_cache
-
-# populate base_pool with some data
-echo "foo" > foo.txt
-echo "bar" > bar.txt
-echo "baz" > baz.txt
-rados -p base_pool put fooobj foo.txt
-rados -p base_pool put barobj bar.txt
-# fill in wrong_cache backwards so we can tell we read from it
-rados -p wrong_cache put fooobj bar.txt
-rados -p wrong_cache put barobj foo.txt
-# partial_wrong gets barobj backwards so we can check promote and non-promote
-rados -p partial_wrong put barobj foo.txt
-
-# get the objects back before setting a caching pool
-rados -p base_pool get fooobj tmp.txt
-diff -q tmp.txt foo.txt
-rados -p base_pool get barobj tmp.txt
-diff -q tmp.txt bar.txt
-
-# set up redirect and make sure we get backwards results
-ceph osd tier set-overlay base_pool wrong_cache
-ceph osd tier cache-mode wrong_cache writeback
-rados -p base_pool get fooobj tmp.txt
-diff -q tmp.txt bar.txt
-rados -p base_pool get barobj tmp.txt
-diff -q tmp.txt foo.txt
-
-# switch cache pools and make sure we're doing promote
-ceph osd tier remove-overlay base_pool
-ceph osd tier set-overlay base_pool partial_wrong
-ceph osd tier cache-mode partial_wrong writeback
-rados -p base_pool get fooobj tmp.txt
-diff -q tmp.txt foo.txt # hurray, it promoted!
-rados -p base_pool get barobj tmp.txt
-diff -q tmp.txt foo.txt # yep, we read partial_wrong's local object!
-
-# try a nonexistent object and make sure we get an error
-expect_false rados -p base_pool get bazobj tmp.txt
-
-# drop the cache entirely and make sure contents are still the same
-ceph osd tier remove-overlay base_pool
-rados -p base_pool get fooobj tmp.txt
-diff -q tmp.txt foo.txt
-rados -p base_pool get barobj tmp.txt
-diff -q tmp.txt bar.txt
-
-# create an empty cache pool and make sure it has objects after reading
-ceph osd pool create empty_cache 2
-
-touch empty.txt
-rados -p empty_cache ls > tmp.txt
-diff -q tmp.txt empty.txt
-
-ceph osd tier add base_pool empty_cache
-ceph osd tier set-overlay base_pool empty_cache
-ceph osd tier cache-mode empty_cache writeback
-rados -p base_pool get fooobj tmp.txt
-rados -p base_pool get barobj tmp.txt
-expect_false rados -p base_pool get bazobj tmp.txt
-
-rados -p empty_cache ls > tmp.txt
-expect_false diff -q tmp.txt empty.txt
-
-# cleanup
-ceph osd tier remove-overlay base_pool
-ceph osd tier remove base_pool wrong_cache
-ceph osd tier remove base_pool partial_wrong
-ceph osd tier remove base_pool empty_cache
-ceph osd pool delete base_pool base_pool --yes-i-really-really-mean-it
-ceph osd pool delete empty_cache empty_cache --yes-i-really-really-mean-it
-ceph osd pool delete wrong_cache wrong_cache --yes-i-really-really-mean-it
-ceph osd pool delete partial_wrong partial_wrong --yes-i-really-really-mean-it
-
-## set of base, cache
-ceph osd pool create base 8
-ceph osd pool application enable base rados
-ceph osd pool create cache 8
-
-ceph osd tier add base cache
-ceph osd tier cache-mode cache writeback
-ceph osd tier set-overlay base cache
-
-# cache-flush, cache-evict
-rados -p base put foo /etc/passwd
-expect_false rados -p base cache-evict foo
-expect_false rados -p base cache-flush foo
-expect_false rados -p cache cache-evict foo
-rados -p cache cache-flush foo
-rados -p cache cache-evict foo
-rados -p cache ls - | wc -l | grep 0
-
-# cache-try-flush, cache-evict
-rados -p base put foo /etc/passwd
-expect_false rados -p base cache-evict foo
-expect_false rados -p base cache-flush foo
-expect_false rados -p cache cache-evict foo
-rados -p cache cache-try-flush foo
-rados -p cache cache-evict foo
-rados -p cache ls - | wc -l | grep 0
-
-# cache-flush-evict-all
-rados -p base put bar /etc/passwd
-rados -p cache ls - | wc -l | grep 1
-expect_false rados -p base cache-flush-evict-all
-rados -p cache cache-flush-evict-all
-rados -p cache ls - | wc -l | grep 0
-
-# cache-try-flush-evict-all
-rados -p base put bar /etc/passwd
-rados -p cache ls - | wc -l | grep 1
-expect_false rados -p base cache-flush-evict-all
-rados -p cache cache-try-flush-evict-all
-rados -p cache ls - | wc -l | grep 0
-
-# cache flush/evit when clone objects exist
-rados -p base put testclone /etc/passwd
-rados -p cache ls - | wc -l | grep 1
-ceph osd pool mksnap base snap
-rados -p base put testclone /etc/hosts
-rados -p cache cache-flush-evict-all
-rados -p cache ls - | wc -l | grep 0
-
-ceph osd tier cache-mode cache forward --yes-i-really-mean-it
-rados -p base -s snap get testclone testclone.txt
-diff -q testclone.txt /etc/passwd
-rados -p base get testclone testclone.txt
-diff -q testclone.txt /etc/hosts
-
-# test --with-clones option
-ceph osd tier cache-mode cache writeback
-rados -p base put testclone2 /etc/passwd
-rados -p cache ls - | wc -l | grep 1
-ceph osd pool mksnap base snap1
-rados -p base put testclone2 /etc/hosts
-expect_false rados -p cache cache-flush testclone2
-rados -p cache cache-flush testclone2 --with-clones
-expect_false rados -p cache cache-evict testclone2
-rados -p cache cache-evict testclone2 --with-clones
-rados -p cache ls - | wc -l | grep 0
-
-rados -p base -s snap1 get testclone2 testclone2.txt
-diff -q testclone2.txt /etc/passwd
-rados -p base get testclone2 testclone2.txt
-diff -q testclone2.txt /etc/hosts
-
-# cleanup
-ceph osd tier remove-overlay base
-ceph osd tier remove base cache
-
-ceph osd pool delete cache cache --yes-i-really-really-mean-it
-ceph osd pool delete base base --yes-i-really-really-mean-it
-
-echo OK