#!/bin/bash

dir="$1"
vm_location="/var/lib/one/vms"
vms=$(ls "$dir" | grep '^[0-9]\+$')
DRIVER_PATH=$(dirname $0)

for vm in $vms; do
    ds=$(cat "$vm_location/$vm/ds.xml")

    XPATH="${DRIVER_PATH}/../../datastore/xpath.rb -b $ds"

    unset i j XPATH_ELEMENTS

    while IFS= read -r -d '' element; do
        XPATH_ELEMENTS[i++]="$element"
    done < <($XPATH     /DATASTORE/TEMPLATE/POOL_NAME \
                        /DATASTORE/TEMPLATE/CEPH_USER)

    pool_name="${XPATH_ELEMENTS[j++]}"
    ceph_user="${XPATH_ELEMENTS[j++]}"

    pool_info=$(rbd -p $pool_name du --id $ceph_user --format json)

    monitor_ds=$($DRIVER_PATH/../../datastore/monitor_ds.rb --id $vm --ds_dir $dir -c $pool_info)

    echo -n "VM = [ ID = $vm, MONITOR = \""
    echo -e "$monitor_ds" | base64 -w 0 -
    echo "\"]"
done
