commit 77622dcd193849bb52641e685d9e822356515130 Author: Takashi Kajinami Date: Thu Sep 17 23:38:17 2020 +0900 Cleanup device addresses of vgpu type when empty This change makes sure that device_addresses parameter is unset when empty list of device addresses is associated with a vgpu type, so that unmanaged parameter is not left. Change-Id: Id6a354401b3233d3a17081d97a1a0e25f24d3219 (cherry picked from commit 851dc512e19b1a20067865f1689ee3b4b13d65b6) diff --git a/manifests/compute/vgpu.pp b/manifests/compute/vgpu.pp index 9ccea4a..727a667 100644 --- a/manifests/compute/vgpu.pp +++ b/manifests/compute/vgpu.pp @@ -48,6 +48,10 @@ and vgpu_types_device_addresses_mapping are defined.') nova_config { "vgpu_${vgpu_type}/device_addresses": value => join(any2array($device_addresses), ','); } + } else { + nova_config { + "vgpu_${vgpu_type}/device_addresses": ensure => absent; + } } } } else { diff --git a/spec/classes/nova_compute_vgpu_spec.rb b/spec/classes/nova_compute_vgpu_spec.rb index 224cf19..c817e38 100644 --- a/spec/classes/nova_compute_vgpu_spec.rb +++ b/spec/classes/nova_compute_vgpu_spec.rb @@ -29,6 +29,7 @@ describe 'nova::compute::vgpu' do } end it { is_expected.to contain_nova_config('devices/enabled_vgpu_types').with_value('nvidia-35') } + it { is_expected.to contain_nova_config('vgpu_nvidia-35/device_addresses').with_ensure('absent') } end context 'with multiple vgpu devices' do