61 lines
1.5 KiB
Puppet
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}"],
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|