diff --git a/manifests/compute/neutron.pp b/manifests/compute/neutron.pp index 457bb3efc..f65be9eb3 100644 --- a/manifests/compute/neutron.pp +++ b/manifests/compute/neutron.pp @@ -4,16 +4,21 @@ # This will use virtio for VM guests and the # specified driver for the VIF # -# === Parameters: +# === Parameters # # [*libvirt_vif_driver*] -# (optional) The vif driver to configure the VIFs -# Defaults to 'nova.virt.libvirt.vif.LibvirtOpenVswitchDriver' +# (optional) The libvirt VIF driver to configure the VIFs. +# Defaults to 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver'. # + class nova::compute::neutron ( - $libvirt_vif_driver = 'nova.virt.libvirt.vif.LibvirtOpenVswitchDriver' + $libvirt_vif_driver = 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver' ) { + if $libvirt_vif_driver == 'nova.virt.libvirt.vif.LibvirtOpenVswitchDriver' { + fail('nova.virt.libvirt.vif.LibvirtOpenVswitchDriver as vif_driver is removed from Icehouse') + } + nova_config { 'DEFAULT/libvirt_vif_driver': value => $libvirt_vif_driver; } diff --git a/spec/classes/nova_compute_neutron_spec.rb b/spec/classes/nova_compute_neutron_spec.rb index bffb35d79..333cbe3d7 100644 --- a/spec/classes/nova_compute_neutron_spec.rb +++ b/spec/classes/nova_compute_neutron_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe 'nova::compute::neutron' do - it { should contain_nova_config('DEFAULT/libvirt_vif_driver').with_value('nova.virt.libvirt.vif.LibvirtOpenVswitchDriver')} + it { should contain_nova_config('DEFAULT/libvirt_vif_driver').with_value('nova.virt.libvirt.vif.LibvirtGenericVIFDriver')} context 'when overriding params' do let :params do @@ -10,4 +10,13 @@ describe 'nova::compute::neutron' do it { should contain_nova_config('DEFAULT/libvirt_vif_driver').with_value('foo')} end + context 'when overriding with a removed libvirt_vif_driver param' do + let :params do + {:libvirt_vif_driver => 'nova.virt.libvirt.vif.LibvirtOpenVswitchDriver' } + end + it 'should fails to configure libvirt_vif_driver with old OVS driver' do + expect { subject }.to raise_error(Puppet::Error, /nova.virt.libvirt.vif.LibvirtOpenVswitchDriver as vif_driver is removed from Icehouse/) + end + end + end