summaryrefslogtreecommitdiffstats
path: root/src/ceph/qa/workunits/rados
diff options
context:
space:
mode:
authorQiaowei Ren <qiaowei.ren@intel.com>2018-03-01 14:38:11 +0800
committerQiaowei Ren <qiaowei.ren@intel.com>2018-03-01 14:38:11 +0800
commit7da45d65be36d36b880cc55c5036e96c24b53f00 (patch)
treed4f944eb4f8f8de50a9a7584ffa408dc3a3185b2 /src/ceph/qa/workunits/rados
parent691462d09d0987b47e112d6ee8740375df3c51b2 (diff)
remove ceph code
This patch removes initial ceph code, due to license issue. Change-Id: I092d44f601cdf34aed92300fe13214925563081c Signed-off-by: Qiaowei Ren <qiaowei.ren@intel.com>
Diffstat (limited to 'src/ceph/qa/workunits/rados')
-rwxr-xr-xsrc/ceph/qa/workunits/rados/clone.sh13
-rwxr-xr-xsrc/ceph/qa/workunits/rados/load-gen-big.sh10
-rwxr-xr-xsrc/ceph/qa/workunits/rados/load-gen-mix-small-long.sh10
-rwxr-xr-xsrc/ceph/qa/workunits/rados/load-gen-mix-small.sh10
-rwxr-xr-xsrc/ceph/qa/workunits/rados/load-gen-mix.sh10
-rwxr-xr-xsrc/ceph/qa/workunits/rados/load-gen-mostlyread.sh10
-rwxr-xr-xsrc/ceph/qa/workunits/rados/stress_watch.sh7
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test.sh51
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_alloc_hint.sh176
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_cache_pool.sh170
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_envlibrados_for_rocksdb.sh96
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_hang.sh8
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_health_warnings.sh75
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_pool_access.sh23
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_pool_quota.sh68
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_python.sh4
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_rados_timeouts.sh47
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_rados_tool.sh575
-rwxr-xr-xsrc/ceph/qa/workunits/rados/test_tmap_to_omap.sh28
19 files changed, 0 insertions, 1391 deletions
diff --git a/src/ceph/qa/workunits/rados/clone.sh b/src/ceph/qa/workunits/rados/clone.sh
deleted file mode 100755
index 281e89f..0000000
--- a/src/ceph/qa/workunits/rados/clone.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh -x
-
-set -e
-
-rados -p data rm foo || true
-rados -p data put foo.tmp /etc/passwd --object-locator foo
-rados -p data clonedata foo.tmp foo --object-locator foo
-rados -p data get foo /tmp/foo
-cmp /tmp/foo /etc/passwd
-rados -p data rm foo.tmp --object-locator foo
-rados -p data rm foo
-
-echo OK \ No newline at end of file
diff --git a/src/ceph/qa/workunits/rados/load-gen-big.sh b/src/ceph/qa/workunits/rados/load-gen-big.sh
deleted file mode 100755
index 6715658..0000000
--- a/src/ceph/qa/workunits/rados/load-gen-big.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-rados -p rbd load-gen \
- --num-objects 10240 \
- --min-object-size 1048576 \
- --max-object-size 25600000 \
- --max-ops 1024 \
- --max-backlog 1024 \
- --read-percent 50 \
- --run-length 1200
diff --git a/src/ceph/qa/workunits/rados/load-gen-mix-small-long.sh b/src/ceph/qa/workunits/rados/load-gen-mix-small-long.sh
deleted file mode 100755
index 593bad5..0000000
--- a/src/ceph/qa/workunits/rados/load-gen-mix-small-long.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-rados -p rbd load-gen \
- --num-objects 1024 \
- --min-object-size 1 \
- --max-object-size 1048576 \
- --max-ops 128 \
- --max-backlog 128 \
- --read-percent 50 \
- --run-length 1800
diff --git a/src/ceph/qa/workunits/rados/load-gen-mix-small.sh b/src/ceph/qa/workunits/rados/load-gen-mix-small.sh
deleted file mode 100755
index 02db77b..0000000
--- a/src/ceph/qa/workunits/rados/load-gen-mix-small.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-rados -p rbd load-gen \
- --num-objects 1024 \
- --min-object-size 1 \
- --max-object-size 1048576 \
- --max-ops 128 \
- --max-backlog 128 \
- --read-percent 50 \
- --run-length 600
diff --git a/src/ceph/qa/workunits/rados/load-gen-mix.sh b/src/ceph/qa/workunits/rados/load-gen-mix.sh
deleted file mode 100755
index ad3b4be..0000000
--- a/src/ceph/qa/workunits/rados/load-gen-mix.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-rados -p rbd load-gen \
- --num-objects 10240 \
- --min-object-size 1 \
- --max-object-size 1048576 \
- --max-ops 128 \
- --max-backlog 128 \
- --read-percent 50 \
- --run-length 600
diff --git a/src/ceph/qa/workunits/rados/load-gen-mostlyread.sh b/src/ceph/qa/workunits/rados/load-gen-mostlyread.sh
deleted file mode 100755
index 236f82d..0000000
--- a/src/ceph/qa/workunits/rados/load-gen-mostlyread.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-rados -p rbd load-gen \
- --num-objects 51200 \
- --min-object-size 1 \
- --max-object-size 1048576 \
- --max-ops 128 \
- --max-backlog 128 \
- --read-percent 90 \
- --run-length 600
diff --git a/src/ceph/qa/workunits/rados/stress_watch.sh b/src/ceph/qa/workunits/rados/stress_watch.sh
deleted file mode 100755
index 49f144b..0000000
--- a/src/ceph/qa/workunits/rados/stress_watch.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh -e
-
-ceph_test_stress_watch
-ceph_multi_stress_watch rep reppool repobj
-ceph_multi_stress_watch ec ecpool ecobj
-
-exit 0
diff --git a/src/ceph/qa/workunits/rados/test.sh b/src/ceph/qa/workunits/rados/test.sh
deleted file mode 100755
index cbf398f..0000000
--- a/src/ceph/qa/workunits/rados/test.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash -ex
-
-parallel=1
-[ "$1" = "--serial" ] && parallel=0
-
-color=""
-[ -t 1 ] && color="--gtest_color=yes"
-
-function cleanup() {
- pkill -P $$ || true
-}
-trap cleanup EXIT ERR HUP INT QUIT
-
-declare -A pids
-
-for f in \
- api_aio api_io api_list api_lock api_misc \
- api_tier api_pool api_snapshots api_stat api_watch_notify api_cmd \
- api_service \
- api_c_write_operations \
- api_c_read_operations \
- list_parallel \
- open_pools_parallel \
- delete_pools_parallel \
- watch_notify
-do
- if [ $parallel -eq 1 ]; then
- r=`printf '%25s' $f`
- bash -o pipefail -exc "ceph_test_rados_$f $color 2>&1 | tee ceph_test_rados_$f.log | sed \"s/^/$r: /\"" &
- pid=$!
- echo "test $f on pid $pid"
- pids[$f]=$pid
- else
- ceph_test_rados_$f
- fi
-done
-
-ret=0
-if [ $parallel -eq 1 ]; then
-for t in "${!pids[@]}"
-do
- pid=${pids[$t]}
- if ! wait $pid
- then
- echo "error in $t ($pid)"
- ret=1
- fi
-done
-fi
-
-exit $ret
diff --git a/src/ceph/qa/workunits/rados/test_alloc_hint.sh b/src/ceph/qa/workunits/rados/test_alloc_hint.sh
deleted file mode 100755
index 3e24694..0000000
--- a/src/ceph/qa/workunits/rados/test_alloc_hint.sh
+++ /dev/null
@@ -1,176 +0,0 @@
-#!/bin/bash
-
-set -ex
-shopt -s nullglob # fns glob expansion in expect_alloc_hint_eq()
-
-#
-# Helpers
-#
-
-function get_xml_val() {
- local xml="$1"
- local tag="$2"
-
- local regex=".*<${tag}>(.*)</${tag}>.*"
- if [[ ! "${xml}" =~ ${regex} ]]; then
- echo "'${xml}' xml doesn't match '${tag}' tag regex" >&2
- return 2
- fi
-
- echo "${BASH_REMATCH[1]}"
-}
-
-function get_conf_val() {
- set -e
-
- local entity="$1"
- local option="$2"
-
- local val
- val="$(sudo ceph daemon "${entity}" config get --format=xml "${option}")"
- val="$(get_xml_val "${val}" "${option}")"
-
- echo "${val}"
-}
-
-function setup_osd_data() {
- for (( i = 0 ; i < "${NUM_OSDS}" ; i++ )); do
- OSD_DATA[i]="$(get_conf_val "osd.$i" "osd_data")"
- done
-}
-
-function setup_pgid() {
- local poolname="$1"
- local objname="$2"
-
- local pgid
- pgid="$(ceph osd map "${poolname}" "${objname}" --format=xml)"
- pgid="$(get_xml_val "${pgid}" "pgid")"
-
- PGID="${pgid}"
-}
-
-function expect_alloc_hint_eq() {
- local expected_extsize="$1"
-
- for (( i = 0 ; i < "${NUM_OSDS}" ; i++ )); do
- # Make sure that stuff is flushed from the journal to the store
- # by the time we get to it, as we prod the actual files and not
- # the journal.
- sudo ceph daemon "osd.${i}" "flush_journal"
-
- # e.g., .../25.6_head/foo__head_7FC1F406__19
- # .../26.bs1_head/bar__head_EFE6384B__1a_ffffffffffffffff_1
- local fns=$(sudo sh -c "ls ${OSD_DATA[i]}/current/${PGID}*_head/${OBJ}_*")
- local count="${#fns[@]}"
- if [ "${count}" -ne 1 ]; then
- echo "bad fns count: ${count}" >&2
- return 2
- fi
-
- local extsize
- extsize="$(sudo xfs_io -c extsize "${fns[0]}")"
- local extsize_regex="^\[(.*)\] ${fns[0]}$"
- if [[ ! "${extsize}" =~ ${extsize_regex} ]]; then
- echo "extsize doesn't match extsize_regex: ${extsize}" >&2
- return 2
- fi
- extsize="${BASH_REMATCH[1]}"
-
- if [ "${extsize}" -ne "${expected_extsize}" ]; then
- echo "FAIL: alloc_hint: actual ${extsize}, expected ${expected_extsize}" >&2
- return 1
- fi
- done
-}
-
-#
-# Global setup
-#
-
-EC_K="2"
-EC_M="1"
-NUM_OSDS="$((EC_K + EC_M))"
-
-NUM_PG="12"
-NUM_PGP="${NUM_PG}"
-
-LOW_CAP="$(get_conf_val "osd.0" "filestore_max_alloc_hint_size")"
-HIGH_CAP="$((LOW_CAP * 10))" # 10M, assuming 1M default cap
-SMALL_HINT="$((LOW_CAP / 4))" # 256K, assuming 1M default cap
-BIG_HINT="$((LOW_CAP * 6))" # 6M, assuming 1M default cap
-
-setup_osd_data
-
-#
-# ReplicatedBackend tests
-#
-
-POOL="alloc_hint-rep"
-ceph osd pool create "${POOL}" "${NUM_PG}"
-ceph osd pool set "${POOL}" size "${NUM_OSDS}"
-ceph osd pool application enable "${POOL}" rados
-
-OBJ="foo"
-setup_pgid "${POOL}" "${OBJ}"
-rados -p "${POOL}" create "${OBJ}"
-
-# Empty object, SMALL_HINT - expect SMALL_HINT
-rados -p "${POOL}" set-alloc-hint "${OBJ}" "${SMALL_HINT}" "${SMALL_HINT}"
-expect_alloc_hint_eq "${SMALL_HINT}"
-
-# Try changing to BIG_HINT (1) - expect LOW_CAP (BIG_HINT > LOW_CAP)
-rados -p "${POOL}" set-alloc-hint "${OBJ}" "${BIG_HINT}" "${BIG_HINT}"
-expect_alloc_hint_eq "${LOW_CAP}"
-
-# Bump the cap to HIGH_CAP
-ceph tell 'osd.*' injectargs "--filestore_max_alloc_hint_size ${HIGH_CAP}"
-
-# Try changing to BIG_HINT (2) - expect BIG_HINT (BIG_HINT < HIGH_CAP)
-rados -p "${POOL}" set-alloc-hint "${OBJ}" "${BIG_HINT}" "${BIG_HINT}"
-expect_alloc_hint_eq "${BIG_HINT}"
-
-ceph tell 'osd.*' injectargs "--filestore_max_alloc_hint_size ${LOW_CAP}"
-
-# Populate object with some data
-rados -p "${POOL}" put "${OBJ}" /etc/passwd
-
-# Try changing back to SMALL_HINT - expect BIG_HINT (non-empty object)
-rados -p "${POOL}" set-alloc-hint "${OBJ}" "${SMALL_HINT}" "${SMALL_HINT}"
-expect_alloc_hint_eq "${BIG_HINT}"
-
-OBJ="bar"
-setup_pgid "${POOL}" "${OBJ}"
-
-# Non-existent object, SMALL_HINT - expect SMALL_HINT (object creation)
-rados -p "${POOL}" set-alloc-hint "${OBJ}" "${SMALL_HINT}" "${SMALL_HINT}"
-expect_alloc_hint_eq "${SMALL_HINT}"
-
-ceph osd pool delete "${POOL}" "${POOL}" --yes-i-really-really-mean-it
-
-#
-# ECBackend tests
-#
-
-PROFILE="alloc_hint-ecprofile"
-POOL="alloc_hint-ec"
-ceph osd erasure-code-profile set "${PROFILE}" k=2 m=1 crush-failure-domain=osd
-ceph osd erasure-code-profile get "${PROFILE}" # just so it's logged
-ceph osd pool create "${POOL}" "${NUM_PG}" "${NUM_PGP}" erasure "${PROFILE}"
-ceph osd pool application enable "${POOL}" rados
-
-OBJ="baz"
-setup_pgid "${POOL}" "${OBJ}"
-rados -p "${POOL}" create "${OBJ}"
-
-# Empty object, SMALL_HINT - expect scaled-down SMALL_HINT
-rados -p "${POOL}" set-alloc-hint "${OBJ}" "${SMALL_HINT}" "${SMALL_HINT}"
-expect_alloc_hint_eq "$((SMALL_HINT / EC_K))"
-
-ceph osd pool delete "${POOL}" "${POOL}" --yes-i-really-really-mean-it
-
-#
-# Global teardown
-#
-
-echo "OK"
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
diff --git a/src/ceph/qa/workunits/rados/test_envlibrados_for_rocksdb.sh b/src/ceph/qa/workunits/rados/test_envlibrados_for_rocksdb.sh
deleted file mode 100755
index 94580c2..0000000
--- a/src/ceph/qa/workunits/rados/test_envlibrados_for_rocksdb.sh
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/bash -ex
-############################################
-# Helper functions
-############################################
-function install() {
- for package in "$@" ; do
- install_one $package
- done
- return 0
-}
-
-function install_one() {
- case $(lsb_release -si) in
- Ubuntu|Debian|Devuan)
- sudo apt-get install -y --force-yes "$@"
- ;;
- CentOS|Fedora|RedHatEnterpriseServer)
- sudo yum install -y "$@"
- ;;
- *SUSE*)
- sudo zypper --non-interactive install "$@"
- ;;
- *)
- echo "$(lsb_release -si) is unknown, $@ will have to be installed manually."
- ;;
- esac
-}
-############################################
-# Install required tools
-############################################
-echo "Install required tools"
-install git automake
-
-CURRENT_PATH=`pwd`
-
-############################################
-# Compile&Start RocksDB
-############################################
-# install prerequisites
-# for rocksdb
-case $(lsb_release -si) in
- Ubuntu|Debian|Devuan)
- install g++-4.7 libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev librados-dev
- ;;
- CentOS|Fedora|RedHatEnterpriseServer)
- install gcc-c++.x86_64 gflags-devel snappy-devel zlib zlib-devel bzip2 bzip2-devel librados2-devel.x86_64
- ;;
- *)
- echo "$(lsb_release -si) is unknown, $@ will have to be installed manually."
- ;;
-esac
-
-# # gflags
-# sudo yum install gflags-devel
-#
-# wget https://github.com/schuhschuh/gflags/archive/master.zip
-# unzip master.zip
-# cd gflags-master
-# mkdir build && cd build
-# export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
-# make && make install
-
-# # snappy-devel
-
-
-echo "Compile rocksdb"
-if [ -e rocksdb ]; then
- rm -fr rocksdb
-fi
-git clone https://github.com/facebook/rocksdb.git --depth 1
-
-# compile code
-cd rocksdb
-make env_librados_test ROCKSDB_USE_LIBRADOS=1 -j8
-
-echo "Copy ceph.conf"
-# prepare ceph.conf
-mkdir -p ../ceph/src/
-if [ -f "/etc/ceph/ceph.conf" ]; then
- cp /etc/ceph/ceph.conf ../ceph/src/
-elif [ -f "/etc/ceph/ceph/ceph.conf" ]; then
- cp /etc/ceph/ceph/ceph.conf ../ceph/src/
-else
- echo "/etc/ceph/ceph/ceph.conf doesn't exist"
-fi
-
-echo "Run EnvLibrados test"
-# run test
-if [ -f "../ceph/src/ceph.conf" ]
- then
- cp env_librados_test ~/cephtest/archive
- ./env_librados_test
-else
- echo "../ceph/src/ceph.conf doesn't exist"
-fi
-cd ${CURRENT_PATH}
diff --git a/src/ceph/qa/workunits/rados/test_hang.sh b/src/ceph/qa/workunits/rados/test_hang.sh
deleted file mode 100755
index 724e0bb..0000000
--- a/src/ceph/qa/workunits/rados/test_hang.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh -ex
-
-# Hang forever for manual testing using the thrasher
-while(true)
-do
- sleep 300
-done
-exit 0
diff --git a/src/ceph/qa/workunits/rados/test_health_warnings.sh b/src/ceph/qa/workunits/rados/test_health_warnings.sh
deleted file mode 100755
index a4a9c11..0000000
--- a/src/ceph/qa/workunits/rados/test_health_warnings.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash -ex
-
-set -u
-
-# number of osds = 10
-crushtool -o crushmap --build --num_osds 10 host straw 2 rack straw 2 row straw 2 root straw 0
-ceph osd setcrushmap -i crushmap
-ceph osd tree
-ceph tell osd.* injectargs --osd_max_markdown_count 1024 --osd_max_markdown_period 1
-
-wait_for_healthy() {
- while ceph health | grep down
- do
- sleep 1
- done
-}
-
-test_mark_two_osds_same_host_down() {
- ceph osd set noup
- ceph osd down osd.0 osd.1
- ceph health detail
- ceph health | grep "1 host"
- ceph health | grep "2 osds"
- ceph health detail | grep "osd.0"
- ceph health detail | grep "osd.1"
- ceph osd unset noup
- wait_for_healthy
-}
-
-test_mark_two_osds_same_rack_down() {
- ceph osd set noup
- ceph osd down osd.8 osd.9
- ceph health detail
- ceph health | grep "1 host"
- ceph health | grep "1 rack"
- ceph health | grep "1 row"
- ceph health | grep "2 osds"
- ceph health detail | grep "osd.8"
- ceph health detail | grep "osd.9"
- ceph osd unset noup
- wait_for_healthy
-}
-
-test_mark_all_but_last_osds_down() {
- ceph osd set noup
- ceph osd down $(ceph osd ls | sed \$d)
- ceph health detail
- ceph health | grep "1 row"
- ceph health | grep "2 racks"
- ceph health | grep "4 hosts"
- ceph health | grep "9 osds"
- ceph osd unset noup
- wait_for_healthy
-}
-
-test_mark_two_osds_same_host_down_with_classes() {
- ceph osd set noup
- ceph osd crush set-device-class ssd osd.0 osd.2 osd.4 osd.6 osd.8
- ceph osd crush set-device-class hdd osd.1 osd.3 osd.5 osd.7 osd.9
- ceph osd down osd.0 osd.1
- ceph health detail
- ceph health | grep "1 host"
- ceph health | grep "2 osds"
- ceph health detail | grep "osd.0"
- ceph health detail | grep "osd.1"
- ceph osd unset noup
- wait_for_healthy
-}
-
-test_mark_two_osds_same_host_down
-test_mark_two_osds_same_rack_down
-test_mark_all_but_last_osds_down
-test_mark_two_osds_same_host_down_with_classes
-
-exit 0
diff --git a/src/ceph/qa/workunits/rados/test_pool_access.sh b/src/ceph/qa/workunits/rados/test_pool_access.sh
deleted file mode 100755
index 8597b71..0000000
--- a/src/ceph/qa/workunits/rados/test_pool_access.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash -x
-
-set -e
-
-expect_1()
-{
- set -x
- set +e
- "$@"
- if [ $? == 1 ]; then return 0; else return 1; fi
-}
-
-
-key=`ceph auth get-or-create-key client.poolaccess1 mon 'allow r' osd 'allow *'`
-rados --id poolaccess1 --key $key -p rbd ls
-
-key=`ceph auth get-or-create-key client.poolaccess2 mon 'allow r' osd 'allow * pool=nopool'`
-expect_1 rados --id poolaccess2 --key $key -p rbd ls
-
-key=`ceph auth get-or-create-key client.poolaccess3 mon 'allow r' osd 'allow rw pool=nopool'`
-expect_1 rados --id poolaccess3 --key $key -p rbd ls
-
-echo OK
diff --git a/src/ceph/qa/workunits/rados/test_pool_quota.sh b/src/ceph/qa/workunits/rados/test_pool_quota.sh
deleted file mode 100755
index 0eacefc..0000000
--- a/src/ceph/qa/workunits/rados/test_pool_quota.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh -ex
-
-p=`uuidgen`
-
-# objects
-ceph osd pool create $p 12
-ceph osd pool set-quota $p max_objects 10
-ceph osd pool application enable $p rados
-
-for f in `seq 1 10` ; do
- rados -p $p put obj$f /etc/passwd
-done
-
-sleep 30
-
-rados -p $p put onemore /etc/passwd &
-pid=$!
-
-ceph osd pool set-quota $p max_objects 100
-wait $pid
-[ $? -ne 0 ] && exit 1 || true
-
-rados -p $p put twomore /etc/passwd
-
-# bytes
-ceph osd pool set-quota $p max_bytes 100
-sleep 30
-
-rados -p $p put two /etc/passwd &
-pid=$!
-
-ceph osd pool set-quota $p max_bytes 0
-ceph osd pool set-quota $p max_objects 0
-wait $pid
-[ $? -ne 0 ] && exit 1 || true
-
-rados -p $p put three /etc/passwd
-
-
-#one pool being full does not block a different pool
-
-pp=`uuidgen`
-
-ceph osd pool create $pp 12
-ceph osd pool application enable $pp rados
-
-# set objects quota
-ceph osd pool set-quota $pp max_objects 10
-sleep 30
-
-for f in `seq 1 10` ; do
- rados -p $pp put obj$f /etc/passwd
-done
-
-sleep 30
-
-rados -p $p put threemore /etc/passwd
-
-ceph osd pool set-quota $p max_bytes 0
-ceph osd pool set-quota $p max_objects 0
-
-sleep 30
-# done
-ceph osd pool delete $p $p --yes-i-really-really-mean-it
-ceph osd pool delete $pp $pp --yes-i-really-really-mean-it
-
-echo OK
-
diff --git a/src/ceph/qa/workunits/rados/test_python.sh b/src/ceph/qa/workunits/rados/test_python.sh
deleted file mode 100755
index 80369c8..0000000
--- a/src/ceph/qa/workunits/rados/test_python.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -ex
-
-${PYTHON:-python} -m nose -v $(dirname $0)/../../../src/test/pybind/test_rados.py
-exit 0
diff --git a/src/ceph/qa/workunits/rados/test_rados_timeouts.sh b/src/ceph/qa/workunits/rados/test_rados_timeouts.sh
deleted file mode 100755
index bb35d72..0000000
--- a/src/ceph/qa/workunits/rados/test_rados_timeouts.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash -x
-
-delay_mon() {
- MSGTYPE=$1
- shift
- $@ --rados-mon-op-timeout 1 --ms-inject-delay-type mon --ms-inject-delay-max 10000000 --ms-inject-delay-probability 1 --ms-inject-delay-msg-type $MSGTYPE
- if [ $? -eq 0 ]; then
- exit 1
- fi
-}
-
-delay_osd() {
- MSGTYPE=$1
- shift
- $@ --rados-osd-op-timeout 1 --ms-inject-delay-type osd --ms-inject-delay-max 10000000 --ms-inject-delay-probability 1 --ms-inject-delay-msg-type $MSGTYPE
- if [ $? -eq 0 ]; then
- exit 2
- fi
-}
-
-# pool ops
-delay_mon omap rados lspools
-delay_mon poolopreply rados mkpool test
-delay_mon poolopreply rados mksnap -p test snap
-delay_mon poolopreply rados rmpool test test --yes-i-really-really-mean-it
-
-# other mon ops
-delay_mon getpoolstats rados df
-delay_mon mon_command ceph df
-delay_mon omap ceph osd dump
-delay_mon omap ceph -s
-
-# osd ops
-delay_osd osd_op_reply rados -p data put ls /bin/ls
-delay_osd osd_op_reply rados -p data get ls - >/dev/null
-delay_osd osd_op_reply rados -p data ls
-delay_osd command_reply ceph tell osd.0 bench 1 1
-
-# rbd commands, using more kinds of osd ops
-rbd create -s 1 test
-delay_osd osd_op_reply rbd watch test
-delay_osd osd_op_reply rbd info test
-delay_osd osd_op_reply rbd snap create test@snap
-delay_osd osd_op_reply rbd import /bin/ls ls
-rbd rm test
-
-echo OK
diff --git a/src/ceph/qa/workunits/rados/test_rados_tool.sh b/src/ceph/qa/workunits/rados/test_rados_tool.sh
deleted file mode 100755
index 87c86ee..0000000
--- a/src/ceph/qa/workunits/rados/test_rados_tool.sh
+++ /dev/null
@@ -1,575 +0,0 @@
-#!/bin/bash
-
-die() {
- echo "$@"
- exit 1
-}
-
-usage() {
- cat <<EOF
-test_rados_tool.sh: tests rados_tool
--c: RADOS configuration file to use [optional]
--k: keep temp files
--h: this help message
--p: set temporary pool to use [optional]
-EOF
-}
-
-do_run() {
- if [ "$1" == "--tee" ]; then
- shift
- tee_out="$1"
- shift
- "$@" | tee $tee_out
- else
- "$@"
- fi
-}
-
-run_expect_fail() {
- echo "RUN_EXPECT_FAIL: " "$@"
- do_run "$@"
- [ $? -eq 0 ] && die "expected failure, but got success! cmd: $@"
-}
-
-run_expect_succ() {
- echo "RUN_EXPECT_SUCC: " "$@"
- do_run "$@"
- [ $? -ne 0 ] && die "expected success, but got failure! cmd: $@"
-}
-
-run_expect_nosignal() {
- echo "RUN_EXPECT_NOSIGNAL: " "$@"
- do_run "$@"
- [ $? -ge 128 ] && die "expected succes or fail, but got signal! cmd: $@"
-}
-
-run() {
- echo "RUN: " $@
- do_run "$@"
-}
-
-if [ -n "$CEPH_BIN" ] ; then
- # CMake env
- RADOS_TOOL="$CEPH_BIN/rados"
- CEPH_TOOL="$CEPH_BIN/ceph"
-else
- # executables should be installed by the QA env
- RADOS_TOOL=$(which rados)
- CEPH_TOOL=$(which ceph)
-fi
-
-KEEP_TEMP_FILES=0
-POOL=trs_pool
-POOL_CP_TARGET=trs_pool.2
-POOL_EC=trs_pool_ec
-
-[ -x "$RADOS_TOOL" ] || die "couldn't find $RADOS_TOOL binary to test"
-[ -x "$CEPH_TOOL" ] || die "couldn't find $CEPH_TOOL binary to test"
-
-while getopts "c:hkp:" flag; do
- case $flag in
- c) RADOS_TOOL="$RADOS_TOOL -c $OPTARG";;
- k) KEEP_TEMP_FILES=1;;
- h) usage; exit 0;;
- p) POOL=$OPTARG;;
- *) echo; usage; exit 1;;
- esac
-done
-
-TDIR=`mktemp -d -t test_rados_tool.XXXXXXXXXX` || die "mktemp failed"
-[ $KEEP_TEMP_FILES -eq 0 ] && trap "rm -rf ${TDIR}; exit" INT TERM EXIT
-
-# ensure rados doesn't segfault without --pool
-run_expect_nosignal "$RADOS_TOOL" --snap "asdf" ls
-run_expect_nosignal "$RADOS_TOOL" --snapid "0" ls
-run_expect_nosignal "$RADOS_TOOL" --object_locator "asdf" ls
-run_expect_nosignal "$RADOS_TOOL" --namespace "asdf" ls
-
-run_expect_succ "$RADOS_TOOL" mkpool "$POOL"
-run_expect_succ "$CEPH_TOOL" osd erasure-code-profile set myprofile k=2 m=1 stripe_unit=2K crush-failure-domain=osd --force
-run_expect_succ "$CEPH_TOOL" osd pool create "$POOL_EC" 100 100 erasure myprofile
-
-
-# expb happens to be the empty export for legacy reasons
-run_expect_succ "$RADOS_TOOL" -p "$POOL" export "$TDIR/expb"
-
-# expa has objects foo, foo2 and bar
-run_expect_succ "$RADOS_TOOL" -p "$POOL" put foo /etc/fstab
-run_expect_succ "$RADOS_TOOL" -p "$POOL" put foo2 /etc/fstab
-run_expect_succ "$RADOS_TOOL" -p "$POOL" put bar /etc/fstab
-run_expect_succ "$RADOS_TOOL" -p "$POOL" export "$TDIR/expa"
-
-# expc has foo and foo2 with some attributes and omaps set
-run_expect_succ "$RADOS_TOOL" -p "$POOL" rm bar
-run_expect_succ "$RADOS_TOOL" -p "$POOL" setxattr foo "rados.toothbrush" "toothbrush"
-run_expect_succ "$RADOS_TOOL" -p "$POOL" setxattr foo "rados.toothpaste" "crest"
-run_expect_succ "$RADOS_TOOL" -p "$POOL" setomapval foo "rados.floss" "myfloss"
-run_expect_succ "$RADOS_TOOL" -p "$POOL" setxattr foo2 "rados.toothbrush" "green"
-run_expect_succ "$RADOS_TOOL" -p "$POOL" setomapheader foo2 "foo2.header"
-run_expect_succ "$RADOS_TOOL" -p "$POOL" export "$TDIR/expc"
-
-# make sure that --create works
-run "$RADOS_TOOL" rmpool "$POOL" "$POOL" --yes-i-really-really-mean-it
-run_expect_succ "$RADOS_TOOL" -p "$POOL" --create import "$TDIR/expa"
-
-# make sure that lack of --create fails
-run_expect_succ "$RADOS_TOOL" rmpool "$POOL" "$POOL" --yes-i-really-really-mean-it
-run_expect_fail "$RADOS_TOOL" -p "$POOL" import "$TDIR/expa"
-
-run_expect_succ "$RADOS_TOOL" -p "$POOL" --create import "$TDIR/expa"
-
-# inaccessible import src should fail
-run_expect_fail "$RADOS_TOOL" -p "$POOL" import "$TDIR/dir_nonexistent"
-
-# export an empty pool to test purge
-run_expect_succ "$RADOS_TOOL" purge "$POOL" --yes-i-really-really-mean-it
-run_expect_succ "$RADOS_TOOL" -p "$POOL" export "$TDIR/empty"
-cmp -s "$TDIR/expb" "$TDIR/empty" \
- || die "failed to export the same stuff we imported!"
-rm -f "$TDIR/empty"
-
-# import some stuff with extended attributes on it
-run_expect_succ "$RADOS_TOOL" -p "$POOL" import "$TDIR/expc"
-VAL=`"$RADOS_TOOL" -p "$POOL" getxattr foo "rados.toothbrush"`
-[ ${VAL} = "toothbrush" ] || die "Invalid attribute after import"
-
-# the second time, the xattrs should match, so there should be nothing to do.
-run_expect_succ "$RADOS_TOOL" -p "$POOL" import "$TDIR/expc"
-VAL=`"$RADOS_TOOL" -p "$POOL" getxattr foo "rados.toothbrush"`
-[ "${VAL}" = "toothbrush" ] || die "Invalid attribute after second import"
-
-# Now try with --no-overwrite option after changing an attribute
-run_expect_succ "$RADOS_TOOL" -p "$POOL" setxattr foo "rados.toothbrush" "dentist"
-run_expect_succ "$RADOS_TOOL" -p "$POOL" import --no-overwrite "$TDIR/expc"
-VAL=`"$RADOS_TOOL" -p "$POOL" getxattr foo "rados.toothbrush"`
-[ "${VAL}" = "dentist" ] || die "Invalid attribute after second import"
-
-# now force it to copy everything
-run_expect_succ "$RADOS_TOOL" -p "$POOL" import "$TDIR/expc"
-VAL=`"$RADOS_TOOL" -p "$POOL" getxattr foo "rados.toothbrush"`
-[ "${VAL}" = "toothbrush" ] || die "Invalid attribute after second import"
-
-# test copy pool
-run "$RADOS_TOOL" rmpool "$POOL" "$POOL" --yes-i-really-really-mean-it
-run "$RADOS_TOOL" rmpool "$POOL_CP_TARGET" "$POOL_CP_TARGET" --yes-i-really-really-mean-it
-run_expect_succ "$RADOS_TOOL" mkpool "$POOL"
-run_expect_succ "$RADOS_TOOL" mkpool "$POOL_CP_TARGET"
-
-# create src files
-mkdir -p "$TDIR/dir_cp_src"
-for i in `seq 1 5`; do
- fname="$TDIR/dir_cp_src/f.$i"
- objname="f.$i"
- dd if=/dev/urandom of="$fname" bs=$((1024*1024)) count=$i
- run_expect_succ "$RADOS_TOOL" -p "$POOL" put $objname "$fname"
-
-# a few random attrs
- for j in `seq 1 4`; do
- rand_str=`dd if=/dev/urandom bs=4 count=1 | hexdump -x`
- run_expect_succ "$RADOS_TOOL" -p "$POOL" setxattr $objname attr.$j "$rand_str"
- run_expect_succ --tee "$fname.attr.$j" "$RADOS_TOOL" -p "$POOL" getxattr $objname attr.$j
- done
-
- rand_str=`dd if=/dev/urandom bs=4 count=1 | hexdump -x`
- run_expect_succ "$RADOS_TOOL" -p "$POOL" setomapheader $objname "$rand_str"
- run_expect_succ --tee "$fname.omap.header" "$RADOS_TOOL" -p "$POOL" getomapheader $objname
-
-# a few random omap keys
- for j in `seq 1 4`; do
- rand_str=`dd if=/dev/urandom bs=4 count=1 | hexdump -x`
- run_expect_succ "$RADOS_TOOL" -p "$POOL" setomapval $objname key.$j "$rand_str"
- done
- run_expect_succ --tee "$fname.omap.vals" "$RADOS_TOOL" -p "$POOL" listomapvals $objname
-done
-
-run_expect_succ "$RADOS_TOOL" cppool "$POOL" "$POOL_CP_TARGET"
-
-mkdir -p "$TDIR/dir_cp_dst"
-for i in `seq 1 5`; do
- fname="$TDIR/dir_cp_dst/f.$i"
- objname="f.$i"
- run_expect_succ "$RADOS_TOOL" -p "$POOL_CP_TARGET" get $objname "$fname"
-
-# a few random attrs
- for j in `seq 1 4`; do
- run_expect_succ --tee "$fname.attr.$j" "$RADOS_TOOL" -p "$POOL_CP_TARGET" getxattr $objname attr.$j
- done
-
- run_expect_succ --tee "$fname.omap.header" "$RADOS_TOOL" -p "$POOL_CP_TARGET" getomapheader $objname
- run_expect_succ --tee "$fname.omap.vals" "$RADOS_TOOL" -p "$POOL_CP_TARGET" listomapvals $objname
-done
-
-diff -q -r "$TDIR/dir_cp_src" "$TDIR/dir_cp_dst" \
- || die "copy pool validation failed!"
-
-for opt in \
- block-size \
- concurrent-ios \
- min-object-size \
- max-object-size \
- min-op-len \
- max-op-len \
- max-ops \
- max-backlog \
- target-throughput \
- read-percent \
- num-objects \
- run-length \
- ; do
- run_expect_succ "$RADOS_TOOL" --$opt 4 df
- run_expect_fail "$RADOS_TOOL" --$opt 4k df
-done
-
-run_expect_succ "$RADOS_TOOL" lock list f.1 --lock-duration 4 --pool "$POOL"
-echo # previous command doesn't output an end of line: issue #9735
-run_expect_fail "$RADOS_TOOL" lock list f.1 --lock-duration 4k --pool "$POOL"
-
-run_expect_succ "$RADOS_TOOL" mksnap snap1 --pool "$POOL"
-snapid=$("$RADOS_TOOL" lssnap --pool "$POOL" | grep snap1 | cut -f1)
-[ $? -ne 0 ] && die "expected success, but got failure! cmd: \"$RADOS_TOOL\" lssnap --pool \"$POOL\" | grep snap1 | cut -f1"
-run_expect_succ "$RADOS_TOOL" ls --pool "$POOL" --snapid="$snapid"
-run_expect_fail "$RADOS_TOOL" ls --pool "$POOL" --snapid="$snapid"k
-
-run_expect_succ "$RADOS_TOOL" chown 1 --pool "$POOL"
-run_expect_fail "$RADOS_TOOL" chown 1k --pool "$POOL"
-
-run_expect_succ "$RADOS_TOOL" truncate f.1 0 --pool "$POOL"
-run_expect_fail "$RADOS_TOOL" truncate f.1 0k --pool "$POOL"
-
-run "$RADOS_TOOL" rmpool delete_me_mkpool_test delete_me_mkpool_test --yes-i-really-really-mean-it
-run_expect_succ "$RADOS_TOOL" mkpool delete_me_mkpool_test 0 0
-run_expect_fail "$RADOS_TOOL" mkpool delete_me_mkpool_test2 0k 0
-run_expect_fail "$RADOS_TOOL" mkpool delete_me_mkpool_test3 0 0k
-
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 1 write
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 1k write
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 1 write --format json --output "$TDIR/bench.json"
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 1 write --output "$TDIR/bench.json"
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 5 write --format json --no-cleanup
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 1 rand --format json
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 1 seq --format json
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 5 write --write-omap
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 5 write --write-object
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 5 write --write-xattr
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 5 write --write-xattr --write-object
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 5 write --write-xattr --write-omap
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 5 write --write-omap --write-object
-run_expect_succ "$RADOS_TOOL" --pool "$POOL" bench 5 write --write-xattr --write-omap --write-object
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 5 read --write-omap
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 5 read --write-object
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 5 read --write-xattr
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 5 read --write-xattr --write-object
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 5 read --write-xattr --write-omap
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 5 read --write-omap --write-object
-run_expect_fail "$RADOS_TOOL" --pool "$POOL" bench 5 read --write-xattr --write-omap --write-object
-
-for i in $("$RADOS_TOOL" --pool "$POOL" ls | grep "benchmark_data"); do
- "$RADOS_TOOL" --pool "$POOL" truncate $i 0
-done
-
-run_expect_nosignal "$RADOS_TOOL" --pool "$POOL" bench 1 rand
-run_expect_nosignal "$RADOS_TOOL" --pool "$POOL" bench 1 seq
-
-set -e
-
-OBJ=test_rados_obj
-
-expect_false()
-{
- if "$@"; then return 1; else return 0; fi
-}
-
-cleanup() {
- $RADOS_TOOL -p $POOL rm $OBJ > /dev/null 2>&1 || true
- $RADOS_TOOL -p $POOL_EC rm $OBJ > /dev/null 2>&1 || true
-}
-
-test_omap() {
- cleanup
- for i in $(seq 1 1 10)
- do
- if [ $(($i % 2)) -eq 0 ]; then
- $RADOS_TOOL -p $POOL setomapval $OBJ $i $i
- else
- echo -n "$i" | $RADOS_TOOL -p $POOL setomapval $OBJ $i
- fi
- $RADOS_TOOL -p $POOL getomapval $OBJ $i | grep -q "|$i|\$"
- done
- $RADOS_TOOL -p $POOL listomapvals $OBJ | grep -c value | grep 10
- for i in $(seq 1 1 5)
- do
- $RADOS_TOOL -p $POOL rmomapkey $OBJ $i
- done
- $RADOS_TOOL -p $POOL listomapvals $OBJ | grep -c value | grep 5
- cleanup
-
- for i in $(seq 1 1 10)
- do
- dd if=/dev/urandom bs=128 count=1 > $TDIR/omap_key
- if [ $(($i % 2)) -eq 0 ]; then
- $RADOS_TOOL -p $POOL --omap-key-file $TDIR/omap_key setomapval $OBJ $i
- else
- echo -n "$i" | $RADOS_TOOL -p $POOL --omap-key-file $TDIR/omap_key setomapval $OBJ
- fi
- $RADOS_TOOL -p $POOL --omap-key-file $TDIR/omap_key getomapval $OBJ | grep -q "|$i|\$"
- $RADOS_TOOL -p $POOL --omap-key-file $TDIR/omap_key rmomapkey $OBJ
- $RADOS_TOOL -p $POOL listomapvals $OBJ | grep -c value | grep 0
- done
- cleanup
-}
-
-test_xattr() {
- cleanup
- $RADOS_TOOL -p $POOL put $OBJ /etc/passwd
- V1=`mktemp fooattrXXXXXXX`
- V2=`mktemp fooattrXXXXXXX`
- echo -n fooval > $V1
- expect_false $RADOS_TOOL -p $POOL setxattr $OBJ 2>/dev/null
- expect_false $RADOS_TOOL -p $POOL setxattr $OBJ foo fooval extraarg 2>/dev/null
- $RADOS_TOOL -p $POOL setxattr $OBJ foo fooval
- $RADOS_TOOL -p $POOL getxattr $OBJ foo > $V2
- cmp $V1 $V2
- cat $V1 | $RADOS_TOOL -p $POOL setxattr $OBJ bar
- $RADOS_TOOL -p $POOL getxattr $OBJ bar > $V2
- cmp $V1 $V2
- $RADOS_TOOL -p $POOL listxattr $OBJ > $V1
- grep -q foo $V1
- grep -q bar $V1
- [ `cat $V1 | wc -l` -eq 2 ]
- rm $V1 $V2
- cleanup
-}
-test_rmobj() {
- p=`uuidgen`
- $CEPH_TOOL osd pool create $p 1
- $CEPH_TOOL osd pool set-quota $p max_objects 1
- V1=`mktemp fooattrXXXXXXX`
- $RADOS_TOOL put $OBJ $V1 -p $p
- while ! $CEPH_TOOL osd dump | grep 'full_no_quota max_objects'
- do
- sleep 2
- done
- $RADOS_TOOL -p $p rm $OBJ --force-full
- $RADOS_TOOL rmpool $p $p --yes-i-really-really-mean-it
- rm $V1
-}
-
-test_ls() {
- echo "Testing rados ls command"
- p=`uuidgen`
- $CEPH_TOOL osd pool create $p 1
- NS=10
- OBJS=20
- # Include default namespace (0) in the total
- TOTAL=$(expr $OBJS \* $(expr $NS + 1))
-
- for nsnum in `seq 0 $NS`
- do
- for onum in `seq 1 $OBJS`
- do
- if [ "$nsnum" = "0" ];
- then
- "$RADOS_TOOL" -p $p put obj${onum} /etc/fstab 2> /dev/null
- else
- "$RADOS_TOOL" -p $p -N "NS${nsnum}" put obj${onum} /etc/fstab 2> /dev/null
- fi
- done
- done
- CHECK=$("$RADOS_TOOL" -p $p ls 2> /dev/null | wc -l)
- if [ "$OBJS" -ne "$CHECK" ];
- then
- die "Created $OBJS objects in default namespace but saw $CHECK"
- fi
- TESTNS=NS${NS}
- CHECK=$("$RADOS_TOOL" -p $p -N $TESTNS ls 2> /dev/null | wc -l)
- if [ "$OBJS" -ne "$CHECK" ];
- then
- die "Created $OBJS objects in $TESTNS namespace but saw $CHECK"
- fi
- CHECK=$("$RADOS_TOOL" -p $p --all ls 2> /dev/null | wc -l)
- if [ "$TOTAL" -ne "$CHECK" ];
- then
- die "Created $TOTAL objects but saw $CHECK"
- fi
-
- $RADOS_TOOL rmpool $p $p --yes-i-really-really-mean-it
-}
-
-test_cleanup() {
- echo "Testing rados cleanup command"
- p=`uuidgen`
- $CEPH_TOOL osd pool create $p 1
- NS=5
- OBJS=4
- # Include default namespace (0) in the total
- TOTAL=$(expr $OBJS \* $(expr $NS + 1))
-
- for nsnum in `seq 0 $NS`
- do
- for onum in `seq 1 $OBJS`
- do
- if [ "$nsnum" = "0" ];
- then
- "$RADOS_TOOL" -p $p put obj${onum} /etc/fstab 2> /dev/null
- else
- "$RADOS_TOOL" -p $p -N "NS${nsnum}" put obj${onum} /etc/fstab 2> /dev/null
- fi
- done
- done
-
- $RADOS_TOOL -p $p --all ls > $TDIR/before.ls.out 2> /dev/null
-
- $RADOS_TOOL -p $p bench 3 write --no-cleanup 2> /dev/null
- $RADOS_TOOL -p $p -N NS1 bench 3 write --no-cleanup 2> /dev/null
- $RADOS_TOOL -p $p -N NS2 bench 3 write --no-cleanup 2> /dev/null
- $RADOS_TOOL -p $p -N NS3 bench 3 write --no-cleanup 2> /dev/null
- # Leave dangling objects without a benchmark_last_metadata in NS4
- expect_false timeout 3 $RADOS_TOOL -p $p -N NS4 bench 30 write --no-cleanup 2> /dev/null
- $RADOS_TOOL -p $p -N NS5 bench 3 write --no-cleanup 2> /dev/null
-
- $RADOS_TOOL -p $p -N NS3 cleanup 2> /dev/null
- #echo "Check NS3 after specific cleanup"
- CHECK=$($RADOS_TOOL -p $p -N NS3 ls | wc -l)
- if [ "$OBJS" -ne "$CHECK" ] ;
- then
- die "Expected $OBJS objects in NS3 but saw $CHECK"
- fi
-
- #echo "Try to cleanup all"
- $RADOS_TOOL -p $p --all cleanup
- #echo "Check all namespaces"
- $RADOS_TOOL -p $p --all ls > $TDIR/after.ls.out 2> /dev/null
- CHECK=$(cat $TDIR/after.ls.out | wc -l)
- if [ "$TOTAL" -ne "$CHECK" ];
- then
- die "Expected $TOTAL objects but saw $CHECK"
- fi
- if ! diff $TDIR/before.ls.out $TDIR/after.ls.out
- then
- die "Different objects found after cleanup"
- fi
-
- set +e
- run_expect_fail $RADOS_TOOL -p $p cleanup --prefix illegal_prefix
- run_expect_succ $RADOS_TOOL -p $p cleanup --prefix benchmark_data_otherhost
- set -e
-
- $RADOS_TOOL rmpool $p $p --yes-i-really-really-mean-it
-}
-
-function test_append()
-{
- cleanup
-
- # create object
- touch ./rados_append_null
- $RADOS_TOOL -p $POOL append $OBJ ./rados_append_null
- $RADOS_TOOL -p $POOL get $OBJ ./rados_append_0_out
- cmp ./rados_append_null ./rados_append_0_out
-
- # append 4k, total size 4k
- dd if=/dev/zero of=./rados_append_4k bs=4k count=1
- $RADOS_TOOL -p $POOL append $OBJ ./rados_append_4k
- $RADOS_TOOL -p $POOL get $OBJ ./rados_append_4k_out
- cmp ./rados_append_4k ./rados_append_4k_out
-
- # append 4k, total size 8k
- $RADOS_TOOL -p $POOL append $OBJ ./rados_append_4k
- $RADOS_TOOL -p $POOL get $OBJ ./rados_append_4k_out
- read_size=`ls -l ./rados_append_4k_out | awk -F ' ' '{print $5}'`
- if [ 8192 -ne $read_size ];
- then
- die "Append failed expecting 8192 read $read_size"
- fi
-
- # append 10M, total size 10493952
- dd if=/dev/zero of=./rados_append_10m bs=10M count=1
- $RADOS_TOOL -p $POOL append $OBJ ./rados_append_10m
- $RADOS_TOOL -p $POOL get $OBJ ./rados_append_10m_out
- read_size=`ls -l ./rados_append_10m_out | awk -F ' ' '{print $5}'`
- if [ 10493952 -ne $read_size ];
- then
- die "Append failed expecting 10493952 read $read_size"
- fi
-
- # cleanup
- cleanup
-
- # create object
- $RADOS_TOOL -p $POOL_EC append $OBJ ./rados_append_null
- $RADOS_TOOL -p $POOL_EC get $OBJ ./rados_append_0_out
- cmp rados_append_null rados_append_0_out
-
- # append 4k, total size 4k
- $RADOS_TOOL -p $POOL_EC append $OBJ ./rados_append_4k
- $RADOS_TOOL -p $POOL_EC get $OBJ ./rados_append_4k_out
- cmp rados_append_4k rados_append_4k_out
-
- # append 4k, total size 8k
- $RADOS_TOOL -p $POOL_EC append $OBJ ./rados_append_4k
- $RADOS_TOOL -p $POOL_EC get $OBJ ./rados_append_4k_out
- read_size=`ls -l ./rados_append_4k_out | awk -F ' ' '{print $5}'`
- if [ 8192 -ne $read_size ];
- then
- die "Append failed expecting 8192 read $read_size"
- fi
-
- # append 10M, total size 10493952
- $RADOS_TOOL -p $POOL_EC append $OBJ ./rados_append_10m
- $RADOS_TOOL -p $POOL_EC get $OBJ ./rados_append_10m_out
- read_size=`ls -l ./rados_append_10m_out | awk -F ' ' '{print $5}'`
- if [ 10493952 -ne $read_size ];
- then
- die "Append failed expecting 10493952 read $read_size"
- fi
-
- cleanup
- rm -rf ./rados_append_null ./rados_append_0_out
- rm -rf ./rados_append_4k ./rados_append_4k_out ./rados_append_10m ./rados_append_10m_out
-}
-
-function test_put()
-{
- # rados put test:
- cleanup
-
- # create file in local fs
- dd if=/dev/urandom of=rados_object_10k bs=1K count=10
-
- # test put command
- $RADOS_TOOL -p $POOL put $OBJ ./rados_object_10k
- $RADOS_TOOL -p $POOL get $OBJ ./rados_object_10k_out
- cmp ./rados_object_10k ./rados_object_10k_out
- cleanup
-
- # test put command with offset 0
- $RADOS_TOOL -p $POOL put $OBJ ./rados_object_10k --offset 0
- $RADOS_TOOL -p $POOL get $OBJ ./rados_object_offset_0_out
- cmp ./rados_object_10k ./rados_object_offset_0_out
- cleanup
-
- # test put command with offset 1000
- $RADOS_TOOL -p $POOL put $OBJ ./rados_object_10k --offset 1000
- $RADOS_TOOL -p $POOL get $OBJ ./rados_object_offset_1000_out
- cmp ./rados_object_10k ./rados_object_offset_1000_out 0 1000
- cleanup
-
- rm -rf ./rados_object_10k ./rados_object_10k_out ./rados_object_offset_0_out ./rados_object_offset_1000_out
-}
-
-test_xattr
-test_omap
-test_rmobj
-test_ls
-test_cleanup
-test_append
-test_put
-
-# clean up environment, delete pool
-$CEPH_TOOL osd pool delete $POOL $POOL --yes-i-really-really-mean-it
-$CEPH_TOOL osd pool delete $POOL_EC $POOL_EC --yes-i-really-really-mean-it
-$CEPH_TOOL osd pool delete $POOL_CP_TARGET $POOL_CP_TARGET --yes-i-really-really-mean-it
-
-echo "SUCCESS!"
-exit 0
diff --git a/src/ceph/qa/workunits/rados/test_tmap_to_omap.sh b/src/ceph/qa/workunits/rados/test_tmap_to_omap.sh
deleted file mode 100755
index 76656ad..0000000
--- a/src/ceph/qa/workunits/rados/test_tmap_to_omap.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh -ex
-
-expect_false()
-{
- set -x
- if "$@"; then return 1; else return 0; fi
-}
-
-pool="pool-$$"
-rados mkpool $pool
-
-rados -p $pool tmap set foo key1 value1
-rados -p $pool tmap set foo key2 value2
-rados -p $pool tmap set foo key2 value2
-rados -p $pool tmap dump foo | grep key1
-rados -p $pool tmap dump foo | grep key2
-rados -p $pool tmap-to-omap foo
-expect_false rados -p $pool tmap dump foo
-expect_false rados -p $pool tmap dump foo
-
-rados -p $pool listomapkeys foo | grep key1
-rados -p $pool listomapkeys foo | grep key2
-rados -p $pool getomapval foo key1 | grep value1
-rados -p $pool getomapval foo key2 | grep value2
-
-rados rmpool $pool $pool --yes-i-really-really-mean-it
-
-echo OK