Browse Source

Expose nova config option [workaround]/never_download_image_if_on_rbd

This exposes the nova workaround to disable downloading images from glance to
rbd (vs a cheap COW clone) when nova-compute and glance are not backed by the
same ceph cluster.

Related nova change: I069b6b1d28eaf1eee5c7fb8d0fdef9c0c229a1bf

Change-Id: I8329810d6c047c0d94e7b123e7cdc1263a7856cd
(cherry picked from commit 9f26045197)
changes/55/760155/1
Oliver Walsh 10 months ago
parent
commit
38c233271a
  1. 1
      manifests/compute.pp
  2. 12
      manifests/workarounds.pp
  3. 9
      spec/classes/nova_workarounds_spec.rb

1
manifests/compute.pp

@ -261,6 +261,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)

12
manifests/workarounds.pp

@ -4,6 +4,11 @@
#
# === 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
#
# DEPRECATED
#
# [*enable_numa_live_migration*]
@ -11,8 +16,9 @@
# Defaults to undef
#
class nova::workarounds (
$never_download_image_if_on_rbd = $::os_service_default,
# DEPRECATED PARAMETER
$enable_numa_live_migration = undef,
$enable_numa_live_migration = undef,
) {
if $enable_numa_live_migration != undef {
@ -22,4 +28,8 @@ class nova::workarounds (
}
}
nova_config {
'workarounds/never_download_image_if_on_rbd': value => $never_download_image_if_on_rbd;
}
}

9
spec/classes/nova_workarounds_spec.rb

@ -9,15 +9,20 @@ describe 'nova::workarounds' do
shared_examples 'nova::workarounds' do
context 'with default parameters' do
it { is_expected.not_to contain_resources('nova_config') }
it { is_expected.not_to contain_nova_config('workarounds/enable_numa_live_migration') }
it { is_expected.to contain_nova_config('workarounds/never_download_image_if_on_rbd').with_value('<SERVICE DEFAULT>') }
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

Loading…
Cancel
Save