diff --git a/manifests/compute.pp b/manifests/compute.pp index c7f18d5e1..02060cf30 100644 --- a/manifests/compute.pp +++ b/manifests/compute.pp @@ -243,6 +243,7 @@ class nova::compute ( include ::nova::deps include ::nova::params + include ::nova::workarounds $cpu_shared_set_real = pick(join(any2array($cpu_shared_set), ','), $::os_service_default) $cpu_dedicated_set_real = pick(join(any2array($cpu_dedicated_set), ','), $::os_service_default) diff --git a/manifests/workarounds.pp b/manifests/workarounds.pp index 923ac0a24..c70a428f9 100644 --- a/manifests/workarounds.pp +++ b/manifests/workarounds.pp @@ -4,17 +4,27 @@ # # === Parameters: # +# [*never_download_image_if_on_rbd*] +# (optional) refuse to boot an instance if it would require downloading from +# glance and uploading to ceph instead of a COW clone +# Defaults to $::os_service_default +# # [*enable_numa_live_migration*] # (optional) Whether to enable live migration for NUMA topology instances. # Defaults to false # class nova::workarounds ( $enable_numa_live_migration = false, + $never_download_image_if_on_rbd = $::os_service_default, ) { nova_config { 'workarounds/enable_numa_live_migration': value => $enable_numa_live_migration; } + nova_config { + 'workarounds/never_download_image_if_on_rbd': value => $never_download_image_if_on_rbd; + } + } diff --git a/spec/classes/nova_workarounds_spec.rb b/spec/classes/nova_workarounds_spec.rb index 8a52f58b3..ff95dc865 100644 --- a/spec/classes/nova_workarounds_spec.rb +++ b/spec/classes/nova_workarounds_spec.rb @@ -10,14 +10,19 @@ describe 'nova::workarounds' do context 'with default parameters' do it { is_expected.to contain_nova_config('workarounds/enable_numa_live_migration').with_value(false) } + it { is_expected.to contain_nova_config('workarounds/never_download_image_if_on_rbd').with_value('') } end context 'with overridden parameters' do let :params do - { :enable_numa_live_migration => true,} + { + :enable_numa_live_migration => true, + :never_download_image_if_on_rbd => true + } end it { is_expected.to contain_nova_config('workarounds/enable_numa_live_migration').with_value('true') } + it { is_expected.to contain_nova_config('workarounds/never_download_image_if_on_rbd').with_value('true') } end end