Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / qa / workunits / rbd / qemu_rebuild_object_map.sh
1 #!/bin/bash -ex
2
3 if [[ -z "${IMAGE_NAME}" ]]; then
4   echo image name must be provided
5   exit 1
6 fi
7
8 is_qemu_running() {
9   rbd status ${IMAGE_NAME} | grep -v "Watchers: none"
10 }
11
12 wait_for_qemu() {
13   while ! is_qemu_running ; do
14     echo "*** Waiting for QEMU"
15     sleep 30
16   done
17 }
18
19 wait_for_qemu
20 rbd feature disable ${IMAGE_NAME} journaling || true
21 rbd feature disable ${IMAGE_NAME} fast-diff || true
22 rbd feature disable ${IMAGE_NAME} object-map || true
23 rbd feature disable ${IMAGE_NAME} exclusive-lock || true
24
25 rbd feature enable ${IMAGE_NAME} exclusive-lock
26 rbd feature enable ${IMAGE_NAME} object-map
27
28 while is_qemu_running ; do
29   echo "*** Rebuilding object map"
30   rbd object-map rebuild ${IMAGE_NAME}
31
32   if is_qemu_running ; then
33     sleep 60
34   fi
35 done
36