]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-daemon: add standalone `adopt` tests 31486/head
authorMichael Fritch <mfritch@suse.com>
Wed, 13 Nov 2019 23:28:21 +0000 (16:28 -0700)
committerMichael Fritch <mfritch@suse.com>
Wed, 13 Nov 2019 23:51:59 +0000 (16:51 -0700)
Signed-off-by: Michael Fritch <mfritch@suse.com>
qa/standalone/test_ceph_daemon.sh
qa/standalone/test_ceph_daemon/deepsea.tgz [new file with mode: 0644]

index 5d8e6385aef1ea4315db49b67600a0e3f616e156..77cca8321ace2706c8ecfd0cca767c93a82296b6 100755 (executable)
@@ -1,10 +1,15 @@
 #!/bin/bash -ex
 
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
 FSID='00000000-0000-0000-0000-0000deadbeef'
+FSID_LEGACY='00000000-0000-0000-0000-ffffdeadbeef'
+
 # images that are used
 IMAGE_MASTER=${IMAGE_MASTER:-'ceph/daemon-base:latest-master-devel'}
 IMAGE_NAUTILUS=${IMAGE_NAUTILUS:-'ceph/daemon-base:latest-nautilus'}
 IMAGE_MIMIC=${IMAGE_MIMIC:-'ceph/daemon-base:latest-mimic'}
+TEST_TARS=${SCRIPT_DIR}/test_ceph_daemon/*.tgz
 
 [ -z "$SUDO" ] && SUDO=sudo
 
@@ -46,6 +51,7 @@ fi
 
 # clean up previous run(s)?
 $SUDO $CEPH_DAEMON rm-cluster --fsid $FSID --force
+$SUDO $CEPH_DAEMON rm-cluster --fsid $FSID_LEGACY --force
 
 TMPDIR=`mktemp -d -p .`
 trap "rm -rf $TMPDIR" TERM HUP INT
@@ -154,7 +160,29 @@ $SUDO $CEPH_DAEMON shell --fsid $FSID --config $CONFIG --keyring $KEYRING -- \
 # WRITE ME
 
 ## adopt
-# WRITE ME
+for tarball in $TEST_TARS; do
+    TMP_TAR_DIR=`mktemp -d -p $TMPDIR`
+    tar xzvf $tarball -C $TMP_TAR_DIR
+    NAMES=$($SUDO $CEPH_DAEMON ls --legacy-dir $TMP_TAR_DIR | jq -r '.[].name')
+    for name in $NAMES; do
+        # TODO: skip osd test for now
+        if [[ $name =~ "osd" ]]; then
+           continue
+        fi
+        $SUDO $CEPH_DAEMON --image $IMAGE_MASTER adopt \
+                           --style legacy \
+                           --legacy-dir $TMP_TAR_DIR \
+                           --name $name
+        # validate after adopt
+        out=$($SUDO $CEPH_DAEMON ls | jq '.[]' \
+                                    | jq 'select(.name == "'$name'")')
+        echo $out | jq -r '.style' | grep 'ceph-daemon'
+        echo $out | jq -r '.fsid' | grep $FSID_LEGACY
+    done
+    # clean-up before next iter
+    $SUDO $CEPH_DAEMON rm-cluster --fsid $FSID_LEGACY --force
+    rm -rf $TMP_TAR_DIR
+done
 
 ## unit
 $SUDO $CEPH_DAEMON unit --fsid $FSID --name mon.a -- is-enabled
diff --git a/qa/standalone/test_ceph_daemon/deepsea.tgz b/qa/standalone/test_ceph_daemon/deepsea.tgz
new file mode 100644 (file)
index 0000000..cbf4ae5
Binary files /dev/null and b/qa/standalone/test_ceph_daemon/deepsea.tgz differ