Enable Cinder as a backend for Glance
authorAlan Bishop <abishop@redhat.com>
Wed, 11 Oct 2017 15:02:43 +0000 (11:02 -0400)
committerAlan Bishop <abishop@redhat.com>
Sun, 29 Oct 2017 14:12:24 +0000 (10:12 -0400)
Enable Cinder as a backend for Glance by adding 'cinder' to the list of
allowed choices for the GlanceBackend heat parameter.

Update the glance-api docker configuration to allow the feature to work.
This is necessary because the feature uses iSCSI, which requires additional
privileges.

Closes-Bug: #1728409
Depends-On: I850047e32f3608b3ce490e52e2e540695cb1a4ff
Change-Id: I42241747de931103a04aa5ee2ed18fd46197d183
(cherry picked from commit e828e8c7bb2e890b243faa767992226dc270bb6f)

docker/services/glance-api.yaml
environments/storage/enable-ceph.yaml
environments/storage/external-ceph.yaml
environments/storage/glance-nfs.yaml
puppet/services/glance-api.yaml

index e1a3827..d56c422 100644 (file)
@@ -39,6 +39,13 @@ parameters:
   EnableInternalTLS:
     type: boolean
     default: false
+  GlanceBackend:
+    default: swift
+    description: The short name of the Glance backend to use. Should be one
+      of swift, rbd, cinder, or file
+    type: string
+    constraints:
+    - allowed_values: ['swift', 'file', 'rbd', 'cinder']
   GlanceNfsEnabled:
     default: false
     description: >
@@ -53,6 +60,7 @@ conditions:
 
   internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
   nfs_backend_enabled: {equals: [{get_param: GlanceNfsEnabled}, true]}
+  cinder_backend_enabled: {equals: [{get_param: GlanceBackend}, cinder]}
 
 
 resources:
@@ -147,6 +155,12 @@ outputs:
                       - nfs_backend_enabled
                       - /var/lib/glance:/var/lib/glance
                       - ''
+                -
+                  if:
+                    - cinder_backend_enabled
+                    - - /dev:/dev
+                      - /etc/iscsi:/etc/iscsi
+                    - []
             environment:
               - KOLLA_BOOTSTRAP=True
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
@@ -157,7 +171,7 @@ outputs:
                 start_order: 2
                 image: *glance_api_image
                 net: host
-                privileged: false
+                privileged: {if: [cinder_backend_enabled, true, false]}
                 restart: always
                 volumes: *glance_volumes
                 environment:
index 596ec16..c43f2fa 100644 (file)
@@ -21,7 +21,7 @@ parameter_defaults:
   # Type: boolean
   CinderEnableRbdBackend: True
 
-  # The short name of the Glance backend to use. Should be one of swift, rbd, or file
+  # The short name of the Glance backend to use. Should be one of swift, rbd, cinder, or file
   # Type: string
   GlanceBackend: rbd
 
index 0f2d039..dde2c90 100644 (file)
@@ -43,7 +43,7 @@ parameter_defaults:
   # Type: string
   CinderRbdPoolName: volumes
 
-  # The short name of the Glance backend to use. Should be one of swift, rbd, or file
+  # The short name of the Glance backend to use. Should be one of swift, rbd, cinder, or file
   # Type: string
   GlanceBackend: rbd
 
index 3c13930..359401d 100644 (file)
@@ -21,7 +21,7 @@ parameter_defaults:
   # Static parameters - these are values that must be
   # included in the environment but should not be changed.
   # ******************************************************
-  # The short name of the Glance backend to use. Should be one of swift, rbd, or file
+  # The short name of the Glance backend to use. Should be one of swift, rbd, cinder, or file
   # Type: string
   GlanceBackend: file
 
index 8ec3546..1baf120 100644 (file)
@@ -78,10 +78,10 @@ parameters:
   GlanceBackend:
     default: swift
     description: The short name of the Glance backend to use. Should be one
-      of swift, rbd, or file
+      of swift, rbd, cinder, or file
     type: string
     constraints:
-    - allowed_values: ['swift', 'file', 'rbd']
+    - allowed_values: ['swift', 'file', 'rbd', 'cinder']
   GlanceNfsEnabled:
     default: false
     description: >