]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/glance/manifests/backend/cinder.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / glance / manifests / backend / cinder.pp
diff --git a/3rdparty/modules/glance/manifests/backend/cinder.pp b/3rdparty/modules/glance/manifests/backend/cinder.pp
new file mode 100644 (file)
index 0000000..75507d7
--- /dev/null
@@ -0,0 +1,99 @@
+#
+# Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
+#
+# Author: Emilien Macchi <emilien.macchi@enovance.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: glance::backend::cinder
+#
+# Setup Glance to backend images into Cinder
+#
+# === Parameters
+#
+# [*cinder_catalog_info*]
+#   (optional) Info to match when looking for cinder in the service catalog.
+#   Format is : separated values of the form:
+#   <service_type>:<service_name>:<endpoint_type> (string value)
+#   Defaults to 'volume:cinder:publicURL'
+#
+# [*cinder_endpoint_template*]
+#   (optional) Override service catalog lookup with template for cinder endpoint.
+#   Should be a valid URL. Example: 'http://localhost:8776/v1/%(project_id)s'
+#   Defaults to 'undef'
+#
+# [*os_region_name*]
+#   (optional) The os_region_name parameter is deprecated and has no effect.
+#   Use glance::api::os_region_name instead.
+#   Defaults to 'undef'
+#
+# [*cinder_ca_certificates_file*]
+#   (optional) Location of ca certicate file to use for cinder client requests.
+#   Should be a valid ca certicate file
+#   Defaults to undef
+#
+# [*cinder_http_retries*]
+#   (optional) Number of cinderclient retries on failed http calls.
+#   Should be a valid integer
+#   Defaults to '3'
+#
+# [*cinder_api_insecure*]
+#   (optional) Allow to perform insecure SSL requests to cinder.
+#   Should be a valid boolean value
+#   Defaults to false
+#
+
+class glance::backend::cinder(
+  $os_region_name              = undef,
+  $cinder_ca_certificates_file = undef,
+  $cinder_api_insecure         = false,
+  $cinder_catalog_info         = 'volume:cinder:publicURL',
+  $cinder_endpoint_template    = undef,
+  $cinder_http_retries         = '3'
+
+) {
+
+  if $os_region_name {
+    notice('The os_region_name parameter is deprecated and has no effect. Use glance::api::os_region_name instead.')
+  }
+
+  glance_api_config {
+    'DEFAULT/cinder_api_insecure':         value => $cinder_api_insecure;
+    'DEFAULT/cinder_catalog_info':         value => $cinder_catalog_info;
+    'DEFAULT/cinder_http_retries':         value => $cinder_http_retries;
+    'glance_store/default_store':          value => 'cinder';
+  }
+
+  glance_cache_config {
+    'DEFAULT/cinder_api_insecure':         value => $cinder_api_insecure;
+    'DEFAULT/cinder_catalog_info':         value => $cinder_catalog_info;
+    'DEFAULT/cinder_http_retries':         value => $cinder_http_retries;
+  }
+
+  if $cinder_endpoint_template {
+    glance_api_config { 'DEFAULT/cinder_endpoint_template':   value => $cinder_endpoint_template; }
+    glance_cache_config { 'DEFAULT/cinder_endpoint_template': value => $cinder_endpoint_template; }
+  } else {
+    glance_api_config { 'DEFAULT/cinder_endpoint_template':   ensure => absent; }
+    glance_cache_config { 'DEFAULT/cinder_endpoint_template': ensure => absent; }
+  }
+
+  if $cinder_ca_certificates_file {
+    glance_api_config { 'DEFAULT/cinder_ca_certificates_file':   value => $cinder_ca_certificates_file; }
+    glance_cache_config { 'DEFAULT/cinder_ca_certificates_file': value => $cinder_ca_certificates_file; }
+  } else {
+    glance_api_config { 'DEFAULT/cinder_ca_certificates_file':   ensure => absent; }
+    glance_cache_config { 'DEFAULT/cinder_ca_certificates_file': ensure => absent; }
+  }
+
+}