+++ /dev/null
-# ==Define: cinder::type
-#
-# Creates cinder type and assigns backends.
-#
-# === Parameters
-#
-# [*os_password*]
-# (required) The keystone tenant:username password.
-#
-# [*set_key*]
-# (optional) Must be used with set_value. Accepts a single string be used
-# as the key in type_set
-#
-# [*set_value*]
-# (optional) Accepts list of strings or singular string. A list of values
-# passed to type_set
-#
-# [*os_tenant_name*]
-# (optional) The keystone tenant name. Defaults to 'admin'.
-#
-# [*os_username*]
-# (optional) The keystone user name. Defaults to 'admin.
-#
-# [*os_auth_url*]
-# (optional) The keystone auth url. Defaults to 'http://127.0.0.1:5000/v2.0/'.
-#
-# [*os_region_name*]
-# (optional) The keystone region name. Default is unset.
-#
-# Author: Andrew Woodward <awoodward@mirantis.com>
-
-define cinder::type (
- $os_password,
- $set_key = undef,
- $set_value = undef,
- $os_tenant_name = 'admin',
- $os_username = 'admin',
- $os_auth_url = 'http://127.0.0.1:5000/v2.0/',
- $os_region_name = undef,
- ) {
-
- $volume_name = $name
-
-# TODO: (xarses) This should be moved to a ruby provider so that among other
-# reasons, the credential discovery magic can occur like in neutron.
-
- $cinder_env = [
- "OS_TENANT_NAME=${os_tenant_name}",
- "OS_USERNAME=${os_username}",
- "OS_PASSWORD=${os_password}",
- "OS_AUTH_URL=${os_auth_url}",
- ]
-
- if $os_region_name {
- $region_env = ["OS_REGION_NAME=${os_region_name}"]
- }
- else {
- $region_env = []
- }
-
- exec {"cinder type-create ${volume_name}":
- command => "cinder type-create ${volume_name}",
- unless => "cinder type-list | grep -qP '\\b${volume_name}\\b'",
- environment => concat($cinder_env, $region_env),
- require => Package['python-cinderclient'],
- path => ['/usr/bin', '/bin'],
- }
-
- if ($set_value and $set_key) {
- Exec["cinder type-create ${volume_name}"] ->
- cinder::type_set { $set_value:
- type => $volume_name,
- key => $set_key,
- os_password => $os_password,
- os_tenant_name => $os_tenant_name,
- os_username => $os_username,
- os_auth_url => $os_auth_url,
- os_region_name => $os_region_name,
- }
- }
-}