Configure libvirt migration on the RedHat and Debian-Ubuntu
It introduces Red Hat support and fix Ubuntu / Debian libvirt configuration to support live migrations when using libvirt nova driver. Change-Id: I72f03316e79ce3b83959def79b86056c934ce62d Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
This commit is contained in:
parent
0d405fe519
commit
daac3744ca
|
@ -1,10 +1,8 @@
|
|||
#
|
||||
class nova::migration::libvirt {
|
||||
|
||||
case $::lsbdistid {
|
||||
'Ubuntu': {
|
||||
# Ubuntu-specific, not Debian, due to upstart
|
||||
|
||||
case $::osfamily {
|
||||
'RedHat': {
|
||||
file_line { '/etc/libvirt/libvirtd.conf listen_tls':
|
||||
path => '/etc/libvirt/libvirtd.conf',
|
||||
line => 'listen_tls = 0',
|
||||
|
@ -26,10 +24,33 @@ class nova::migration::libvirt {
|
|||
notify => Service['libvirt'],
|
||||
}
|
||||
|
||||
file_line { '/etc/init/libvirt-bin.conf libvirtd opts':
|
||||
path => '/etc/init/libvirt-bin.conf',
|
||||
line => 'env libvirtd_opts="-d -l"',
|
||||
match => 'env libvirtd_opts=',
|
||||
file_line { '/etc/sysconfig/libvirtd libvirtd args':
|
||||
path => '/etc/sysconfig/libvirtd',
|
||||
line => 'LIBVIRTD_ARGS="--listen"',
|
||||
match => 'LIBVIRTD_ARGS=',
|
||||
}
|
||||
}
|
||||
|
||||
'Debian': {
|
||||
file_line { '/etc/libvirt/libvirtd.conf listen_tls':
|
||||
path => '/etc/libvirt/libvirtd.conf',
|
||||
line => 'listen_tls = 0',
|
||||
match => 'listen_tls =',
|
||||
notify => Service['libvirt'],
|
||||
}
|
||||
|
||||
file_line { '/etc/libvirt/libvirtd.conf listen_tcp':
|
||||
path => '/etc/libvirt/libvirtd.conf',
|
||||
line => 'listen_tcp = 1',
|
||||
match => 'listen_tcp =',
|
||||
notify => Service['libvirt'],
|
||||
}
|
||||
|
||||
file_line { '/etc/libvirt/libvirtd.conf auth_tcp':
|
||||
path => '/etc/libvirt/libvirtd.conf',
|
||||
line => 'auth_tcp = "none"',
|
||||
match => 'auth_tcp =',
|
||||
notify => Service['libvirt'],
|
||||
}
|
||||
|
||||
file_line { '/etc/default/libvirt-bin libvirtd opts':
|
||||
|
@ -37,9 +58,11 @@ class nova::migration::libvirt {
|
|||
line => 'libvirtd_opts="-d -l"',
|
||||
match => 'libvirtd_opts=',
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
default: {
|
||||
warning("Unsupported operating system: ${::lsbdistid}, make sure you are configuring this yourself")
|
||||
warning("Unsupported osfamily: ${::osfamily}, make sure you are configuring this yourself")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
#
|
||||
# Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
|
||||
#
|
||||
# Author: Emilien Macchi <emilien.macchi@enovance.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# Unit tests for nova::migration::libvirt class
|
||||
#
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'nova::migration::libvirt' do
|
||||
|
||||
shared_examples_for 'nova migration with libvirt' do
|
||||
|
||||
it 'configure libvirtd.conf' do
|
||||
should contain_file_line('/etc/libvirt/libvirtd.conf listen_tls').with(:line => 'listen_tls = 0')
|
||||
should contain_file_line('/etc/libvirt/libvirtd.conf listen_tcp').with(:line => 'listen_tcp = 1')
|
||||
should contain_file_line('/etc/libvirt/libvirtd.conf auth_tcp').with(:line => 'auth_tcp = "none"')
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context 'on Debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it_configures 'nova migration with libvirt'
|
||||
it { should contain_file_line('/etc/default/libvirt-bin libvirtd opts').with(:line => 'libvirtd_opts="-d -l"') }
|
||||
end
|
||||
|
||||
context 'on RedHat platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
|
||||
it_configures 'nova migration with libvirt'
|
||||
it { should contain_file_line('/etc/sysconfig/libvirtd libvirtd args').with(:line => 'LIBVIRTD_ARGS="--listen"') }
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue