Fixes: http://tracker.ceph.com/issues/36418
Signed-off-by: huanwen ren <ren.huanwen@zte.com.cn>
local pgid=$1
local sname=state
ceph --format json pg dump pgs 2>/dev/null | \
- jq -r ".[] | select(.pgid==\"$pgid\") | .$sname"
+ jq -r ".pg_stats | .[] | select(.pgid==\"$pgid\") | .$sname"
}
function create_erasure_coded_pool() {
while(true)
do
if test "$(ceph --format json pg dump pgs |
- jq '[.[] | .state | select(. == "incomplete")] | length')" -ne "0"
+ jq '.pg_stats | [.[] | .state | select(. == "incomplete")] | length')" -ne "0"
then
sleep 2
continue
local pgid=$1
local sname=state
ceph --format json pg dump pgs 2>/dev/null | \
- jq -r ".[] | select(.pgid==\"$pgid\") | .$sname"
+ jq -r ".pg_stats | .[] | select(.pgid==\"$pgid\") | .$sname"
}
function rados_put() {
ceph --format=json pg dump pgs | jq '.'
- if ! ceph --format=json pg dump pgs | jq '.[0].state' | grep -q recovery_unfound
+ if ! ceph --format=json pg dump pgs | jq '.pg_stats | .[0].state' | grep -q recovery_unfound
then
echo "Failure to get to recovery_unfound state"
return 1