Consider lc string for bootable True/False

The xml.volumes_client check to translate the bootable
setting on a volume object only checks for Upper case strings
and bools.

It turns out that this test was introduced after a bug was introduced
to cinder.api which inadvertently changed the type used to set this
member field.  We now have a patch to fix this and put it back to "true/false"
(lc strings) but since the change there's a tempest test that verifies this.

This patch will check for string true/false either lc or uc, and will
keep the bool check in place as well (otherwise everything will fail).

This test did such a great job we should consider removing the other options
for true/false representations which would've caught the original error introduced
in Cinder (reference cinder lp# 1227837.

Fixes bug: 1227858

Change-Id: I8a4b1f4ce3a6a420e8152ea8c66a9b3fc127fe96
diff --git a/tempest/services/volume/xml/volumes_client.py b/tempest/services/volume/xml/volumes_client.py
index 7915637..b59ec03 100644
--- a/tempest/services/volume/xml/volumes_client.py
+++ b/tempest/services/volume/xml/volumes_client.py
@@ -65,9 +65,14 @@
         Check if the volume is bootable, also change the value
         of 'bootable' from string to boolean.
         """
-        if volume['bootable'] == 'True':
+
+        # NOTE(jdg): Version 1 of Cinder API uses lc strings
+        # We should consider being explicit in this check to
+        # avoid introducing bugs like: LP #1227837
+
+        if volume['bootable'].lower() == 'true':
             volume['bootable'] = True
-        elif volume['bootable'] == 'False':
+        elif volume['bootable'].lower() == 'false':
             volume['bootable'] = False
         else:
             raise ValueError(