Add host_uuid to libvirtd.conf
Add host_uuid generated by uuidgen to libvirtd.conf Change-Id: Ib060bff4b1f547b4db255969bc8cb3119a85ba6d Closes-Bug: 1378962
This commit is contained in:
parent
d93b9709af
commit
8bf30c41e9
11
lib/facter/libvirt_uuid.rb
Normal file
11
lib/facter/libvirt_uuid.rb
Normal file
@ -0,0 +1,11 @@
|
||||
require 'facter'
|
||||
Facter.add(:libvirt_uuid) do
|
||||
setcode do
|
||||
uuid_file_path = '/etc/libvirt/libvirt_uuid'
|
||||
if File.file? uuid_file_path
|
||||
File.read uuid_file_path
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
@ -21,11 +21,16 @@
|
||||
# (optional) Migration flags to be set for block migration (string value)
|
||||
# Defaults to undef
|
||||
#
|
||||
# [*override_uuid*]
|
||||
# (optional) Set uuid not equal to output from dmidecode (boolean)
|
||||
# Defaults to false
|
||||
#
|
||||
class nova::migration::libvirt(
|
||||
$use_tls = false,
|
||||
$auth = 'none',
|
||||
$live_migration_flag = undef,
|
||||
$block_migration_flag = undef,
|
||||
$override_uuid = false,
|
||||
){
|
||||
|
||||
include ::nova::deps
|
||||
@ -62,6 +67,26 @@ class nova::migration::libvirt(
|
||||
File_line<| tag == 'libvirt-file_line' |>
|
||||
~> Service['libvirt']
|
||||
|
||||
if $override_uuid {
|
||||
if ! $::libvirt_uuid {
|
||||
$host_uuid = generate('/bin/cat', '/proc/sys/kernel/random/uuid')
|
||||
file { '/etc/libvirt/libvirt_uuid':
|
||||
content => $host_uuid
|
||||
}
|
||||
} else {
|
||||
$host_uuid = $::libvirt_uuid
|
||||
}
|
||||
|
||||
augeas { 'libvirt-conf-uuid':
|
||||
context => '/files/etc/libvirt/libvirtd.conf',
|
||||
changes => [
|
||||
"set host_uuid ${host_uuid}",
|
||||
],
|
||||
notify => Service['libvirt'],
|
||||
require => Package['libvirt'],
|
||||
}
|
||||
}
|
||||
|
||||
case $::osfamily {
|
||||
'RedHat': {
|
||||
file_line { '/etc/libvirt/libvirtd.conf listen_tls':
|
||||
|
@ -22,6 +22,14 @@ require 'spec_helper'
|
||||
|
||||
describe 'nova::migration::libvirt' do
|
||||
|
||||
generate = {}
|
||||
|
||||
before(:each) {
|
||||
Puppet::Parser::Functions.newfunction(:generate, :type => :rvalue) {
|
||||
|args| generate.call()
|
||||
}
|
||||
generate.stubs(:call).returns('0000-111-111')
|
||||
}
|
||||
|
||||
let :pre_condition do
|
||||
'include nova
|
||||
@ -38,6 +46,19 @@ describe 'nova::migration::libvirt' do
|
||||
it { is_expected.to contain_file_line('/etc/libvirt/libvirtd.conf auth_tcp').with(:line => "auth_tcp = \"none\"") }
|
||||
end
|
||||
|
||||
context 'with override_uuid enabled' do
|
||||
let :params do
|
||||
{
|
||||
:override_uuid => true,
|
||||
}
|
||||
end
|
||||
|
||||
it { is_expected.to contain_augeas('libvirt-conf-uuid').with({
|
||||
:context => '/files/etc/libvirt/libvirtd.conf',
|
||||
:changes => [ "set host_uuid 0000-111-111" ],
|
||||
}).that_requires('Package[libvirt]').that_notifies('Service[libvirt]') }
|
||||
end
|
||||
|
||||
context 'with tls enabled' do
|
||||
let :params do
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user