3 SCRIPT_NAME
=$
(basename ${BASH_SOURCE[0]})
4 SCRIPT_DIR
="$( cd "$
( dirname "${BASH_SOURCE[0]}" )" && pwd )"
5 CEPHADM_SRC_DIR
=${SCRIPT_DIR}/..
/..
/..
/src
/cephadm
6 CORPUS_COMMIT
=50c5dd734638939facd1ed32295ce59c9a5986b4
8 [ -z "$SUDO" ] && SUDO
=sudo
9 if [ -z "$CEPHADM" ]; then
10 CEPHADM
=${CEPHADM_SRC_DIR}/cephadm
13 # at this point, we need $CEPHADM set
14 if ! [ -x "$CEPHADM" ]; then
15 echo "cephadm not found. Please set \$CEPHADM"
19 # respawn ourselves with a shebang
20 if [ -z "$PYTHON_KLUDGE" ]; then
21 # see which pythons we should test with
23 which python3
&& PYTHONS
="$PYTHONS python3"
24 which python2
&& PYTHONS
="$PYTHONS python2"
25 echo "PYTHONS $PYTHONS"
26 if [ -z "$PYTHONS" ]; then
27 echo "No PYTHONS found!"
31 TMPBINDIR
=$
(mktemp
-d)
32 trap "rm -rf $TMPBINDIR" EXIT
33 ORIG_CEPHADM
="$CEPHADM"
34 CEPHADM
="$TMPBINDIR/cephadm"
36 echo "=== re-running with $p ==="
37 ln -s `which $p` $TMPBINDIR/python
38 echo "#!$TMPBINDIR/python" > $CEPHADM
39 cat $ORIG_CEPHADM >> $CEPHADM
41 $TMPBINDIR/python
--version
42 PYTHON_KLUDGE
=1 CEPHADM
=$CEPHADM $0
46 echo "PASS with all of: $PYTHONS"
50 # combine into a single var
51 CEPHADM_BIN
="$CEPHADM"
52 CEPHADM
="$SUDO $CEPHADM_BIN"
55 CORPUS_GIT_SUBMOD
="cephadm-adoption-corpus"
57 git clone https
://github.com
/ceph
/$CORPUS_GIT_SUBMOD $TMPDIR
58 trap "$SUDO rm -rf $TMPDIR" EXIT
60 git
-C $TMPDIR checkout
$CORPUS_COMMIT
61 CORPUS_DIR
=${TMPDIR}/archive
63 for subdir
in `ls ${CORPUS_DIR}`; do
64 for tarfile
in `ls ${CORPUS_DIR}/${subdir} | grep .tgz`; do
65 tarball
=${CORPUS_DIR}/${subdir}/${tarfile}
66 FSID_LEGACY
=`echo "$tarfile" | cut -c 1-36`
67 TMP_TAR_DIR
=`mktemp -d -p $TMPDIR`
68 $SUDO tar xzvf
$tarball -C $TMP_TAR_DIR
69 NAMES
=$
($CEPHADM ls --legacy-dir $TMP_TAR_DIR | jq
-r '.[].name')
70 for name
in $NAMES; do
73 --legacy-dir $TMP_TAR_DIR \
75 # validate after adopt
76 out
=$
($CEPHADM ls | jq
'.[]' \
77 | jq
'select(.name == "'$name'")')
78 echo $out | jq
-r '.style' |
grep 'cephadm'
79 echo $out | jq
-r '.fsid' |
grep $FSID_LEGACY
81 # clean-up before next iter
82 $CEPHADM rm-cluster
--fsid $FSID_LEGACY --force
83 $SUDO rm -rf $TMP_TAR_DIR