Merge "Adds snapshot_image_format configuration"

This commit is contained in:
Jenkins
2017-03-10 02:40:23 +00:00
committed by Gerrit Code Review
2 changed files with 29 additions and 11 deletions

View File

@@ -33,6 +33,11 @@
# cpu_mode="custom" and virt_type="kvm|qemu". # cpu_mode="custom" and virt_type="kvm|qemu".
# Defaults to undef # Defaults to undef
# #
# [*libvirt_snapshot_image_format*]
# (optional) Format to save snapshots to. Some filesystems
# have a preference and only operate on raw or qcow2
# Defaults to $::os_service_default
#
# [*libvirt_disk_cachemodes*] # [*libvirt_disk_cachemodes*]
# (optional) A list of cachemodes for different disk types, e.g. # (optional) A list of cachemodes for different disk types, e.g.
# ["file=directsync", "block=none"] # ["file=directsync", "block=none"]
@@ -128,6 +133,7 @@ class nova::compute::libvirt (
$migration_support = false, $migration_support = false,
$libvirt_cpu_mode = false, $libvirt_cpu_mode = false,
$libvirt_cpu_model = undef, $libvirt_cpu_model = undef,
$libvirt_snapshot_image_format = $::os_service_default,
$libvirt_disk_cachemodes = [], $libvirt_disk_cachemodes = [],
$libvirt_hw_disk_discard = $::os_service_default, $libvirt_hw_disk_discard = $::os_service_default,
$libvirt_hw_machine_type = $::os_service_default, $libvirt_hw_machine_type = $::os_service_default,
@@ -197,17 +203,18 @@ class nova::compute::libvirt (
} }
nova_config { nova_config {
'DEFAULT/compute_driver': value => $compute_driver; 'DEFAULT/compute_driver': value => $compute_driver;
'DEFAULT/preallocate_images': value => $preallocate_images; 'DEFAULT/preallocate_images': value => $preallocate_images;
'vnc/vncserver_listen': value => $vncserver_listen; 'vnc/vncserver_listen': value => $vncserver_listen;
'libvirt/virt_type': value => $libvirt_virt_type; 'libvirt/virt_type': value => $libvirt_virt_type;
'libvirt/cpu_mode': value => $libvirt_cpu_mode_real; 'libvirt/cpu_mode': value => $libvirt_cpu_mode_real;
'libvirt/inject_password': value => $libvirt_inject_password; 'libvirt/snapshot_image_format': value => $libvirt_snapshot_image_format;
'libvirt/inject_key': value => $libvirt_inject_key; 'libvirt/inject_password': value => $libvirt_inject_password;
'libvirt/inject_partition': value => $libvirt_inject_partition; 'libvirt/inject_key': value => $libvirt_inject_key;
'libvirt/hw_disk_discard': value => $libvirt_hw_disk_discard; 'libvirt/inject_partition': value => $libvirt_inject_partition;
'libvirt/hw_machine_type': value => $libvirt_hw_machine_type; 'libvirt/hw_disk_discard': value => $libvirt_hw_disk_discard;
'libvirt/enabled_perf_events': value => $libvirt_enabled_perf_events; 'libvirt/hw_machine_type': value => $libvirt_hw_machine_type;
'libvirt/enabled_perf_events': value => $libvirt_enabled_perf_events;
} }
# cpu_model param is only valid if cpu_mode=custom # cpu_model param is only valid if cpu_mode=custom

View File

@@ -50,6 +50,7 @@ describe 'nova::compute::libvirt' do
it { is_expected.to contain_nova_config('libvirt/virt_type').with_value('kvm')} it { is_expected.to contain_nova_config('libvirt/virt_type').with_value('kvm')}
it { is_expected.to contain_nova_config('libvirt/cpu_mode').with_value('host-model')} it { is_expected.to contain_nova_config('libvirt/cpu_mode').with_value('host-model')}
it { is_expected.to contain_nova_config('libvirt/cpu_model').with_ensure('absent')} it { is_expected.to contain_nova_config('libvirt/cpu_model').with_ensure('absent')}
it { is_expected.to contain_nova_config('libvirt/snapshot_image_format').with_ensure('absent')}
it { is_expected.to contain_nova_config('libvirt/disk_cachemodes').with_ensure('absent')} it { is_expected.to contain_nova_config('libvirt/disk_cachemodes').with_ensure('absent')}
it { is_expected.to contain_nova_config('libvirt/inject_password').with_value(false)} it { is_expected.to contain_nova_config('libvirt/inject_password').with_value(false)}
it { is_expected.to contain_nova_config('libvirt/inject_key').with_value(false)} it { is_expected.to contain_nova_config('libvirt/inject_key').with_value(false)}
@@ -67,6 +68,7 @@ describe 'nova::compute::libvirt' do
:vncserver_listen => '0.0.0.0', :vncserver_listen => '0.0.0.0',
:libvirt_cpu_mode => 'host-passthrough', :libvirt_cpu_mode => 'host-passthrough',
:libvirt_cpu_model => 'kvm64', :libvirt_cpu_model => 'kvm64',
:libvirt_snapshot_image_format => 'raw',
:libvirt_disk_cachemodes => ['file=directsync','block=none'], :libvirt_disk_cachemodes => ['file=directsync','block=none'],
:libvirt_hw_disk_discard => 'unmap', :libvirt_hw_disk_discard => 'unmap',
:libvirt_hw_machine_type => 'x86_64=machinetype1,armv7l=machinetype2', :libvirt_hw_machine_type => 'x86_64=machinetype1,armv7l=machinetype2',
@@ -91,6 +93,7 @@ describe 'nova::compute::libvirt' do
it { is_expected.to contain_nova_config('libvirt/virt_type').with_value('qemu')} it { is_expected.to contain_nova_config('libvirt/virt_type').with_value('qemu')}
it { is_expected.to contain_nova_config('libvirt/cpu_mode').with_value('host-passthrough')} it { is_expected.to contain_nova_config('libvirt/cpu_mode').with_value('host-passthrough')}
it { is_expected.to contain_nova_config('libvirt/cpu_model').with_ensure('absent')} it { is_expected.to contain_nova_config('libvirt/cpu_model').with_ensure('absent')}
it { is_expected.to contain_nova_config('libvirt/snapshot_image_format').with_ensure('absent')}
it { is_expected.to contain_nova_config('libvirt/disk_cachemodes').with_value('file=directsync,block=none')} it { is_expected.to contain_nova_config('libvirt/disk_cachemodes').with_value('file=directsync,block=none')}
it { is_expected.to contain_nova_config('libvirt/hw_disk_discard').with_value('unmap')} it { is_expected.to contain_nova_config('libvirt/hw_disk_discard').with_value('unmap')}
it { is_expected.to contain_nova_config('libvirt/hw_machine_type').with_value('x86_64=machinetype1,armv7l=machinetype2')} it { is_expected.to contain_nova_config('libvirt/hw_machine_type').with_value('x86_64=machinetype1,armv7l=machinetype2')}
@@ -130,6 +133,14 @@ describe 'nova::compute::libvirt' do
it { is_expected.to contain_nova_config('libvirt/cpu_model').with_value('kvm64')} it { is_expected.to contain_nova_config('libvirt/cpu_model').with_value('kvm64')}
end end
describe 'with qcow2 as snapshot_image_format' do
let :params do
{ :libvirt_snapshot_image_format => 'qcow2' }
end
it { is_expected.to contain_nova_config('libvirt/snapshot_image_format').with_value('qcow2')}
end
describe 'with qemu as virt_type' do describe 'with qemu as virt_type' do
let :params do let :params do
{ :libvirt_virt_type => 'qemu' } { :libvirt_virt_type => 'qemu' }