ceph/qa/workunits/ceph-disk/ceph-disk.sh

47 lines
1.4 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
if [ -f $(dirname $0)/../ceph-helpers-root.sh ]; then
source $(dirname $0)/../ceph-helpers-root.sh
else
echo "$(dirname $0)/../ceph-helpers-root.sh does not exist."
exit 1
fi
install python-pytest || true
install pytest || true
# complete the cluster setup done by the teuthology ceph task
sudo chown $(id -u) /etc/ceph/ceph.conf
if ! test -f /etc/ceph/ceph.client.admin.keyring ; then
sudo cp /etc/ceph/ceph.keyring /etc/ceph/ceph.client.admin.keyring
fi
if ! sudo test -f /var/lib/ceph/bootstrap-osd/ceph.keyring ; then
sudo ceph-create-keys --id a
fi
sudo ceph osd crush rm osd.0 || true
sudo ceph osd crush rm osd.1 || true
sudo cp $(dirname $0)/60-ceph-by-partuuid.rules /lib/udev/rules.d
sudo udevadm control --reload
perl -pi -e 's|pid file.*|pid file = /var/run/ceph/\$cluster-\$name.pid|' /etc/ceph/ceph.conf
PATH=$(dirname $0):$(dirname $0)/..:$PATH
: ${PYTHON:=python}
PY_VERSION=$($PYTHON --version 2>&1)
if ! ${PYTHON} -m pytest --version > /dev/null 2>&1; then
echo "py.test not installed for ${PY_VERSION}"
exit 1
fi
sudo env PATH=$(dirname $0):$(dirname $0)/..:$PATH PYTHONWARNINGS=ignore ${PYTHON} -m pytest -s -v $(dirname $0)/ceph-disk-test.py
result=$?
sudo rm -f /lib/udev/rules.d/60-ceph-by-partuuid.rules
# own whatever was created as a side effect of the py.test run
# so that it can successfully be removed later on by a non privileged
# process
sudo chown -R $(id -u) $(dirname $0)
exit $result