diff --git a/README.md b/README.md
index 9f07c72..59c1f54 100644
--- a/README.md
+++ b/README.md
@@ -24,8 +24,8 @@ Why not simply use the [official Linstor driver](https://github.com/OpenNebula/a
This add-on is compatible with:
* OpenNebula 5.6+
-* Linstor server 1.2.0+
-* Linstor client 1.0.4+
+* Linstor server 1.7.0+
+* Linstor client 1.1.1+
## OpenNebula Installation
@@ -138,7 +138,7 @@ To use your Linstor cluster with the OpenNebula, you need to define a System and
| `CHECKPOINT_REPLICA_COUNT` | Number of replicas for save checkpoint file for suspend and offline migration process. | NO |
| `DO_NOT_PLACE_WITH` | Space separated resources list to avid placing replicas on same place with them. | NO |
| `DO_NOT_PLACE_WITH_REGEX` | Regular expression to avoid placing replicas on same place with targeted resources. | NO |
-| `STORAGE_POOL` | Storage pool name to place replicas. | **YES** 2 |
+| `STORAGE_POOL` | Space separated storage pool names to place replicas. | **YES** 2 |
| `DISKLESS_POOL` | Diskless pool to place diskless replicas. Default: `DfltDisklessStorPool`. | NO |
| `PREFER_NODE` | `yes` - try to place and copy the data on the node that will afterwards be used by the VM | NO |
| `ENCRYPTION` | `yes` - will enable encryption during volume creation. | NO |
diff --git a/datastore/linstor_un/linstor_utils.sh b/datastore/linstor_un/linstor_utils.sh
index 6d4c78c..25b3d7a 100644
--- a/datastore/linstor_un/linstor_utils.sh
+++ b/datastore/linstor_un/linstor_utils.sh
@@ -486,7 +486,7 @@ function linstor_attach_diskless {
local RES_HOSTS="$(linstor_get_hosts_for_res $RES)"
if ! [[ " $RES_HOSTS " =~ " $HOST " ]]; then
linstor_exec_and_log \
- "resource create -s $DISKLESS_POOL $HOST $RES"
+ "resource create $HOST $RES -s $DISKLESS_POOL"
EXEC_RC=0
fi
diff --git a/datastore/linstor_un/monitor b/datastore/linstor_un/monitor
index 37bb764..84f4627 100755
--- a/datastore/linstor_un/monitor
+++ b/datastore/linstor_un/monitor
@@ -70,7 +70,7 @@ if [ -z "$STORAGE_POOL" ]; then
exit -1
fi
STORAGE_POOL=$($LINSTOR -m --output-version v0 resource-group list -r "$RESOURCE_GROUP" \
- | $JQ -r ".[][].select_filter.storage_pool")
+ | $JQ -r '.[][].select_filter.storage_pool_list // [] | join(" ")')
if [ -z "$STORAGE_POOL" ]; then
error_message "Resource group missing 'StoragePool' attribute."
exit -1
@@ -80,7 +80,7 @@ fi
# ------------ Compute datastore usage -------------
MONITOR_SCRIPT=$(cat < ${SIZE}" )
if [ "$NODE_HAS_STORAGE_POOL" = "true" ]; then
linstor_exec_and_log \
diff --git a/tm/linstor_un/mkimage b/tm/linstor_un/mkimage
index 37bde3b..b299c6e 100755
--- a/tm/linstor_un/mkimage
+++ b/tm/linstor_un/mkimage
@@ -132,12 +132,12 @@ linstor_exec_and_log \
if [ "${PREFER_NODE,,}" = "yes" ]; then
STORAGE_POOL=${STORAGE_POOL:-$($LINSTOR -m --output-version v0 resource-group list -r "$RESOURCE_GROUP" \
- | $JQ -r ".[][].select_filter.storage_pool")}
+ | $JQ -r '.[][].select_filter.storage_pool_list // [] | join(" ")')}
if [ -z "$STORAGE_POOL" ]; then
error_message "Resource group missing 'StoragePool' attribute."
exit -1
fi
- NODE_HAS_STORAGE_POOL=$($LINSTOR -m --output-version v0 storage-pool list --node "$DST_HOST" --storage-pool "$STORAGE_POOL" \
+ NODE_HAS_STORAGE_POOL=$($LINSTOR -m --output-version v0 storage-pool list --node "$DST_HOST" --storage-pool $STORAGE_POOL \
| $JQ -r ".[].stor_pools[] | .free_space.free_capacity / 1024 > ${SIZE}" )
if [ "$NODE_HAS_STORAGE_POOL" = "true" ]; then
linstor_exec_and_log \
diff --git a/tm/linstor_un/monitor b/tm/linstor_un/monitor
index 3e398b6..73dbe29 100755
--- a/tm/linstor_un/monitor
+++ b/tm/linstor_un/monitor
@@ -70,7 +70,7 @@ if [ -z "$STORAGE_POOL" ]; then
exit -1
fi
STORAGE_POOL=$($LINSTOR -m --output-version v0 resource-group list -r "$RESOURCE_GROUP" \
- | $JQ -r ".[][].select_filter.storage_pool")
+ | $JQ -r '.[][].select_filter.storage_pool_list // [] | join(" ")')
if [ -z "$STORAGE_POOL" ]; then
error_message "Resource group missing 'StoragePool' attribute."
exit -1
@@ -80,7 +80,7 @@ fi
# ------------ Compute datastore usage -------------
MONITOR_SCRIPT=$(cat <