Add parameter to specify host_uuid
Currently, the `override_uuid` parameter, if set, will generate a random uuid to be set in libvirtd.conf. It might be desirable to set a specific uuid instead of a random one, create a parameter to do so. Change-Id: I981a80d9767b7eae0854a64df720c23f855ab1be
This commit is contained in:
parent
71276558e7
commit
6f8369ccfa
@ -79,6 +79,11 @@
|
|||||||
# (optional) Set uuid not equal to output from dmidecode (boolean)
|
# (optional) Set uuid not equal to output from dmidecode (boolean)
|
||||||
# Defaults to false
|
# Defaults to false
|
||||||
#
|
#
|
||||||
|
# [*host_uuid*]
|
||||||
|
# (optional) Set host_uuid to this value, instead of generating a random
|
||||||
|
# uuid, if override_uuid is set to true.
|
||||||
|
# Defaults to undef
|
||||||
|
#
|
||||||
# [*configure_libvirt*]
|
# [*configure_libvirt*]
|
||||||
# (optional) Whether or not configure libvirt bits.
|
# (optional) Whether or not configure libvirt bits.
|
||||||
# Defaults to true.
|
# Defaults to true.
|
||||||
@ -130,6 +135,7 @@ class nova::migration::libvirt(
|
|||||||
$live_migration_permit_post_copy = $::os_service_default,
|
$live_migration_permit_post_copy = $::os_service_default,
|
||||||
$live_migration_permit_auto_converge = $::os_service_default,
|
$live_migration_permit_auto_converge = $::os_service_default,
|
||||||
$override_uuid = false,
|
$override_uuid = false,
|
||||||
|
$host_uuid = undef,
|
||||||
$configure_libvirt = true,
|
$configure_libvirt = true,
|
||||||
$configure_nova = true,
|
$configure_nova = true,
|
||||||
$client_user = undef,
|
$client_user = undef,
|
||||||
@ -217,19 +223,21 @@ class nova::migration::libvirt(
|
|||||||
|
|
||||||
if $override_uuid {
|
if $override_uuid {
|
||||||
if ! $::libvirt_uuid {
|
if ! $::libvirt_uuid {
|
||||||
$host_uuid = generate('/bin/cat', '/proc/sys/kernel/random/uuid')
|
$host_uuid_real = pick(
|
||||||
|
$host_uuid,
|
||||||
|
generate('/bin/cat', '/proc/sys/kernel/random/uuid'))
|
||||||
file { '/etc/libvirt/libvirt_uuid':
|
file { '/etc/libvirt/libvirt_uuid':
|
||||||
content => $host_uuid,
|
content => $host_uuid_real,
|
||||||
require => Package['libvirt'],
|
require => Package['libvirt'],
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$host_uuid = $::libvirt_uuid
|
$host_uuid_real = $::libvirt_uuid
|
||||||
}
|
}
|
||||||
|
|
||||||
augeas { 'libvirt-conf-uuid':
|
augeas { 'libvirt-conf-uuid':
|
||||||
context => '/files/etc/libvirt/libvirtd.conf',
|
context => '/files/etc/libvirt/libvirtd.conf',
|
||||||
changes => [
|
changes => [
|
||||||
"set host_uuid ${host_uuid}",
|
"set host_uuid ${host_uuid_real}",
|
||||||
],
|
],
|
||||||
notify => Service['libvirt'],
|
notify => Service['libvirt'],
|
||||||
require => Package['libvirt'],
|
require => Package['libvirt'],
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Add a new paramter nova::migration::libvirt::host_uuid. Currently, the
|
||||||
|
host_uuid is autogenerated (if override_uuid = true). This means an
|
||||||
|
operator is unable to set a uuid if desired. Add a new parameter to specify
|
||||||
|
host_uuid.
|
@ -64,6 +64,24 @@ describe 'nova::migration::libvirt' do
|
|||||||
}).that_requires('Package[libvirt]').that_notifies('Service[libvirt]') }
|
}).that_requires('Package[libvirt]').that_notifies('Service[libvirt]') }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with override_uuid enabled and host_uuid set' do
|
||||||
|
let :params do
|
||||||
|
{
|
||||||
|
:override_uuid => true,
|
||||||
|
:host_uuid => 'a8debd9d-e359-4bb2-8c77-edee431f94f2',
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it { is_expected.to contain_file('/etc/libvirt/libvirt_uuid').with({
|
||||||
|
:content => 'a8debd9d-e359-4bb2-8c77-edee431f94f2',
|
||||||
|
}).that_requires('Package[libvirt]') }
|
||||||
|
|
||||||
|
it { is_expected.to contain_augeas('libvirt-conf-uuid').with({
|
||||||
|
:context => '/files/etc/libvirt/libvirtd.conf',
|
||||||
|
:changes => [ "set host_uuid a8debd9d-e359-4bb2-8c77-edee431f94f2" ],
|
||||||
|
}).that_requires('Package[libvirt]').that_notifies('Service[libvirt]') }
|
||||||
|
end
|
||||||
|
|
||||||
context 'with tls enabled' do
|
context 'with tls enabled' do
|
||||||
let :params do
|
let :params do
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user