Files
puppet-nova/manifests/migration/qemu.pp
Takashi Kajinami 7688084aed Add strict validation about boolean parameters
This ensures the parameters used by if-else logic accept only boolean
values because non-boolean can result in unexpected behavior.

Change-Id: I3a27d94e453f9cfbea701337308a7086693c89bb
2023-03-18 16:14:03 +09:00

56 lines
1.3 KiB
Puppet

# == Class: nova::migration::qemu
#
# Sets qemu config that is required for migration
#
# === Parameters:
#
# [*configure_qemu*]
# (optional) Whether or not configure qemu bits.
# Defaults to false.
#
# [*migration_port_min*]
# (optional) Lower limit of port range used for migration.
# Defaults to 49152.
#
# [*migration_port_max*]
# (optional) Higher limit of port range used for migration.
# Defaults to 49215.
#
class nova::migration::qemu(
$configure_qemu = false,
$migration_port_min = 49152,
$migration_port_max = 49215,
){
include nova::deps
validate_legacy(Boolean, 'validate_bool', $configure_qemu)
Anchor['nova::config::begin']
-> Augeas<| tag == 'qemu-conf-augeas'|>
-> Anchor['nova::config::end']
Augeas<| tag == 'qemu-conf-augeas'|>
~> Service<| tag == 'libvirt-qemu-service' |>
if $configure_qemu {
augeas { 'qemu-conf-migration-ports':
context => '/files/etc/libvirt/qemu.conf',
changes => [
"set migration_port_min ${migration_port_min}",
"set migration_port_max ${migration_port_max}",
],
tag => 'qemu-conf-augeas',
}
} else {
augeas { 'qemu-conf-migration-ports':
context => '/files/etc/libvirt/qemu.conf',
changes => [
'rm migration_port_min',
'rm migration_port_max',
],
tag => 'qemu-conf-augeas',
}
}
}