From a80f47da363ac0ff81a7c1d36657d5a096e7b35c Mon Sep 17 00:00:00 2001
From: Paul Bourke <paul.bourke@oracle.com>
Date: Fri, 17 Nov 2017 10:11:22 +0000
Subject: [PATCH] Add a precheck to ensure Cinder backend enabled

Make sure at least one Cinder backend is enabled if enable_cinder=True

Change-Id: Ie40f4832f7860fcbc7074b61df9f49fcaed2471b
---
 ansible/roles/cinder/tasks/precheck.yml | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/ansible/roles/cinder/tasks/precheck.yml b/ansible/roles/cinder/tasks/precheck.yml
index bb0dbf350d..e2457bac1d 100644
--- a/ansible/roles/cinder/tasks/precheck.yml
+++ b/ansible/roles/cinder/tasks/precheck.yml
@@ -16,6 +16,19 @@
     - container_facts['cinder_api'] is not defined
     - inventory_hostname in groups['cinder-api']
 
+- name: Checking at least one valid backend is enabled for Cinder
+  run_once: True
+  local_action: fail msg="Please enable at least one backend when enabling Cinder"
+  when:
+    - not enable_cinder_backend_hnas_iscsi | bool
+    - not enable_cinder_backend_hnas_nfs | bool
+    - not enable_cinder_backend_iscsi | bool
+    - not enable_cinder_backend_lvm | bool
+    - not enable_cinder_backend_nfs | bool
+    - not cinder_backend_ceph | bool
+    - not cinder_backend_vmwarevc_vmdk | bool
+    - not enable_cinder_backend_zfssa_iscsi | bool
+
 - name: Checking LVM volume group exists for Cinder
   command: "vgs {{ cinder_volume_group }}"
   register: result