Introduce glance:config to manage custom options

This glance::config is aim to use glance_config resources
to manage custom configurations in glance config files.

This will make end user easy to add their own custom options
in Hiera data.

Fully implements blueprint glance-custom-config

Change-Id: Idc47b6bda3ea38e582501278f82c9c6841b8cdf0
This commit is contained in:
Xingchao Yu 2014-04-03 18:11:55 +08:00
parent dba437e8af
commit 11f5e87a0f
1 changed files with 56 additions and 0 deletions

56
manifests/config.pp Normal file
View File

@ -0,0 +1,56 @@
# == Class: glance::config
#
# This class is used to manage arbitrary glance configurations.
#
# === Parameters
#
# [*xxx_config*]
# (optional) Allow configuration of arbitrary glance configurations.
# The value is an hash of glance_config resources. Example:
# { 'DEFAULT/foo' => { value => 'fooValue'},
# 'DEFAULT/bar' => { value => 'barValue'}
# }
# In yaml format, Example:
# glance_config:
# DEFAULT/foo:
# value: fooValue
# DEFAULT/bar:
# value: barValue
#
# [**api_config**]
# (optional) Allow configuration of glance-api.conf configurations.
#
# [**api_paste_ini_config**]
# (optional) Allow configuration of glance-api-paste.ini configurations.
#
# [**registry_config**]
# (optional) Allow configuration of glance-registry.conf configurations.
#
# [**registry_paste_ini_config**]
# (optional) Allow configuration of glance-registry-paste.ini configurations.
#
# [**cache_config**]
# (optional) Allow configuration of glance-cache.conf configurations.
#
# NOTE: The configuration MUST NOT be already handled by this module
# or Puppet catalog compilation will fail with duplicate resources.
#
class glance::config (
$api_config = {},
$api_paste_ini_config = {},
$registry_config = {},
$registry_paste_ini_config = {},
$cache_config = {},
) {
validate_hash($api_config)
validate_hash($api_paste_ini_config)
validate_hash($registry_config)
validate_hash($registry_paste_ini_config)
validate_hash($cache_config)
create_resources('glance_api_config', $api_config)
create_resources('glance_api_paste_ini', $api_paste_ini_config)
create_resources('glance_registry_config', $registry_config)
create_resources('glance_registry_paste_ini', $registry_paste_ini_config)
create_resources('glance_cache_config', $cache_config)
}