puppet-cinder/manifests/glance.pp

97 lines
3.8 KiB
Puppet

# == Class: cinder::glance
#
# Glance drive Cinder as a block storage backend to store image data.
#
# === Parameters
#
# [*glance_api_servers*]
# (optional) A list of the glance api servers available to cinder.
# Should be an array with [hostname|ip]:port
# Defaults to $facts['os_service_default']
#
# [*glance_num_retries*]
# (optional) Number retries when downloading an image from glance.
# Defaults to $facts['os_service_default']
#
# [*glance_api_insecure*]
# (optional) Allow to perform insecure SSL (https) requests to glance.
# Defaults to $facts['os_service_default']
#
# [*glance_api_ssl_compression*]
# (optional) Whether to attempt to negotiate SSL layer compression when
# using SSL (https) requests. Set to False to disable SSL
# layer compression. In some cases disabling this may improve
# data throughput, eg when high network bandwidth is available
# and you are using already compressed image formats such as qcow2.
# Defaults to $facts['os_service_default']
#
# [*glance_request_timeout*]
# (optional) http/https timeout value for glance operations.
# Defaults to $facts['os_service_default']
#
# [*allowed_direct_url_schemes*]
# (optional) A list of url schemes that can be downloaded directly via
# direct_url.
# Defaults to $facts['os_service_default']
#
# [*verify_glance_signatures*]
# (optional) Enable image signature verification.
# Defaults to $facts['os_service_default']
#
# [*glance_catalog_info*]
# (optional) Info to match when looking for glance in the service catalog.
# Only used if glance_api_servers are not provided.
# Defaults to $facts['os_service_default']
#
# [*glance_core_properties*]
# (optional) Default core properties of image
# Defaults to $facts['os_service_default']
#
# === Author(s)
#
# Emilien Macchi <emilien.macchi@enovance.com>
#
# === Copyright
#
# Copyright (C) 2013 eNovance SAS <licensing@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 cinder::glance (
$glance_api_servers = $facts['os_service_default'],
$glance_num_retries = $facts['os_service_default'],
$glance_api_insecure = $facts['os_service_default'],
$glance_api_ssl_compression = $facts['os_service_default'],
$glance_request_timeout = $facts['os_service_default'],
$allowed_direct_url_schemes = $facts['os_service_default'],
$verify_glance_signatures = $facts['os_service_default'],
$glance_catalog_info = $facts['os_service_default'],
$glance_core_properties = $facts['os_service_default'],
) {
include cinder::deps
cinder_config {
'DEFAULT/glance_api_servers': value => join(any2array($glance_api_servers), ',');
'DEFAULT/glance_num_retries': value => $glance_num_retries;
'DEFAULT/glance_api_insecure': value => $glance_api_insecure;
'DEFAULT/glance_api_ssl_compression': value => $glance_api_ssl_compression;
'DEFAULT/glance_request_timeout': value => $glance_request_timeout;
'DEFAULT/allowed_direct_url_schemes': value => join(any2array($allowed_direct_url_schemes), ',');
'DEFAULT/verify_glance_signatures': value => $verify_glance_signatures;
'DEFAULT/glance_catalog_info': value => $glance_catalog_info;
'DEFAULT/glance_core_properties': value => join(any2array($glance_core_properties), ',');
}
}