fuel-plugin-cinder-kaminario/deployment_scripts/puppet/modules/kaminario/manifests/type.pp

61 lines
1.5 KiB
Puppet

class kaminario::type {
recursion { 'start':
value => 5,
}
define recursion(
$value
) {
$plugin_settings = hiera('cinder_kaminario')
kaminario_type {"plugin_${value}":
create_type => $plugin_settings["create_type_${value}"],
options => $plugin_settings["options_${value}"],
backend_name => $plugin_settings["backend_name_${value}"],
type_name => $plugin_settings["type_name_${value}"]
}
$minus1 = inline_template('<%= @value.to_i - 1 %>')
if $minus1 < '0' {
} else {
recursion { "value-${minus1}":
value => $minus1,
}
}
}
}
define kaminario_type ($create_type,$options,$backend_name,$type_name) {
if $create_type == true {
case $options {
'enable_replication_type': {
cinder_type {$type_name:
ensure => present,
properties => ["volume_backend_name=${backend_name}",'kaminario:replication=enabled'],
}
}
'enable_dedup': {
cinder_type {$type_name:
ensure => present,
properties => ["volume_backend_name=${backend_name}",'kaminario:thin_prov_type=nodedup'],
}
}
'replication_dedup': {
cinder_type {$type_name:
ensure => present,
properties => ["volume_backend_name=${backend_name}",'kaminario:thin_prov_type=nodedup','kaminario:replication=enabled'],
}
}
'default': {
cinder_type {$type_name:
ensure => present,
properties => ["volume_backend_name=${backend_name}"],
}
}
}
}
}