Matt Fischer bb1e3e67dc Cinder hooks support
This code moves all deps to an external class so that Cinder can be
installed with mechanisms besides packages (like venv or docker). This
also cleans-up the dependency tree by removing false or confusing
dependencies.

Co-Author: Craig Delatte <craig.delatte@twcable.com>

Change-Id: I55a62f6173fe463fb8fb65df6729c9f509a0fb04
2016-09-13 09:18:41 -06:00

44 lines
1.1 KiB
Puppet

# == Class: cinder::config
#
# This class is used to manage arbitrary cinder configurations.
#
# === Parameters
#
# [*xxx_config*]
# (optional) Allow configuration of arbitrary cinder configurations.
# The value is a hash of xxx_config resources. Example:
# { 'DEFAULT/foo' => { value => 'fooValue'},
# 'DEFAULT/bar' => { value => 'barValue'}
# }
#
# In yaml format, Example:
# xxx_config:
# DEFAULT/foo:
# value: fooValue
# DEFAULT/bar:
# value: barValue
#
# [*cinder_config*]
# (optional) Allow configuration of cinder.conf configurations.
# Defaults to empty hash'{}'
#
# [*api_paste_ini_config*]
# (optional) Allow configuration of /etc/cinder/api-paste.ini configurations.
#
# NOTE: The configuration MUST NOT be already handled by this module
# or Puppet catalog compilation will fail with duplicate resources.
#
class cinder::config (
$cinder_config = {},
$api_paste_ini_config = {},
) {
include ::cinder::deps
validate_hash($cinder_config)
validate_hash($api_paste_ini_config)
create_resources('cinder_config', $cinder_config)
create_resources('cinder_api_paste_ini', $api_paste_ini_config)
}