+++ /dev/null
-#!/bin/bash
-
-. "`dirname $0`/test-rgw-common.sh"
-
-set -e
-
-function get_metadata_sync_status {
- cid=$1
- realm=$2
-
- meta_sync_status_json=`$(rgw_admin $cid) --rgw-realm=$realm metadata sync status`
-
- global_sync_status=$(json_extract sync_status.info.status $meta_sync_status_json)
- num_shards=$(json_extract sync_status.info.num_shards $meta_sync_status_json)
-
- echo "sync_status: $global_sync_status"
-
- sync_markers=$(json_extract sync_status.markers $meta_sync_status_json)
-
- num_shards2=$(python_array_len $sync_markers)
-
- [ "$global_sync_status" == "sync" ] && $assert $num_shards2 -eq $num_shards
-
- sync_states=$(project_python_array_field val.state $sync_markers)
- eval secondary_status=$(project_python_array_field val.marker $sync_markers)
-}
-
-function get_metadata_log_status {
- cid=$1
- realm=$2
-
- master_mdlog_status_json=`$(rgw_admin $cid) --rgw-realm=$realm mdlog status`
- master_meta_status=$(json_extract "" $master_mdlog_status_json)
-
- eval master_status=$(project_python_array_field marker $master_meta_status)
-}
-
-function wait_for_meta_sync {
- master_id=$1
- cid=$2
- realm=$3
-
- get_metadata_log_status $master_id $realm
- echo "master_status=${master_status[*]}"
-
- while true; do
- get_metadata_sync_status $cid $realm
-
- echo "secondary_status=${secondary_status[*]}"
-
- fail=0
- for i in `seq 0 $((num_shards-1))`; do
- if [ "${master_status[$i]}" \> "${secondary_status[$i]}" ]; then
- echo "shard $i not done syncing (${master_status[$i]} > ${secondary_status[$i]})"
- fail=1
- break
- fi
- done
-
- [ $fail -eq 0 ] && echo "Success" && return || echo "Sync not complete"
-
- sleep 5
- done
-}
-