diff --git a/manifests/compute/libvirt.pp b/manifests/compute/libvirt.pp index 13ed152b7..6a2240f8c 100644 --- a/manifests/compute/libvirt.pp +++ b/manifests/compute/libvirt.pp @@ -50,6 +50,10 @@ # Qemu1.5 (raw format) Qemu1.6(qcow2 format). # Defaults to $::os_service_default # +# [*libvirt_hw_machine_type*] +# (optional) Option to specify a default machine type per host architecture. +# Defaults to $::os_service_default +# # [*libvirt_inject_password*] # (optional) Inject the admin password at boot time, without an agent. # Defaults to false @@ -119,6 +123,7 @@ class nova::compute::libvirt ( $libvirt_snapshot_image_format = $::os_service_default, $libvirt_disk_cachemodes = [], $libvirt_hw_disk_discard = $::os_service_default, + $libvirt_hw_machine_type = $::os_service_default, $libvirt_inject_password = false, $libvirt_inject_key = false, $libvirt_inject_partition = -2, @@ -192,6 +197,7 @@ class nova::compute::libvirt ( 'libvirt/inject_key': value => $libvirt_inject_key; 'libvirt/inject_partition': value => $libvirt_inject_partition; 'libvirt/hw_disk_discard': value => $libvirt_hw_disk_discard; + 'libvirt/hw_machine_type': value => $libvirt_hw_machine_type; } # cpu_model param is only valid if cpu_mode=custom diff --git a/releasenotes/notes/add_libvirt_hw_machine_type_parameter-a385e959c6aea16d.yaml b/releasenotes/notes/add_libvirt_hw_machine_type_parameter-a385e959c6aea16d.yaml new file mode 100644 index 000000000..d762c60da --- /dev/null +++ b/releasenotes/notes/add_libvirt_hw_machine_type_parameter-a385e959c6aea16d.yaml @@ -0,0 +1,5 @@ +--- +features: + - Add libvirt_hw_machine_type parameter to + nova::compute::libvirt to allow setting the + libvirt/hw_machine_type option in nova.conf diff --git a/spec/classes/nova_compute_libvirt_spec.rb b/spec/classes/nova_compute_libvirt_spec.rb index ac39454bb..cd72b68bb 100644 --- a/spec/classes/nova_compute_libvirt_spec.rb +++ b/spec/classes/nova_compute_libvirt_spec.rb @@ -70,6 +70,7 @@ describe 'nova::compute::libvirt' do :libvirt_snapshot_image_format => 'raw', :libvirt_disk_cachemodes => ['file=directsync','block=none'], :libvirt_hw_disk_discard => 'unmap', + :libvirt_hw_machine_type => 'x86_64=machinetype1,armv7l=machinetype2', :remove_unused_base_images => true, :remove_unused_resized_minimum_age_seconds => 3600, :remove_unused_original_minimum_age_seconds => 3600, @@ -91,6 +92,7 @@ describe 'nova::compute::libvirt' do 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/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('vnc/vncserver_listen').with_value('0.0.0.0')} it { is_expected.to contain_nova_config('DEFAULT/remove_unused_base_images').with_value(true)} it { is_expected.to contain_nova_config('DEFAULT/remove_unused_original_minimum_age_seconds').with_value(3600)}