From 77622dcd193849bb52641e685d9e822356515130 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Thu, 17 Sep 2020 23:38:17 +0900 Subject: [PATCH] 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) --- manifests/compute/vgpu.pp | 4 ++++ spec/classes/nova_compute_vgpu_spec.rb | 1 + 2 files changed, 5 insertions(+) diff --git a/manifests/compute/vgpu.pp b/manifests/compute/vgpu.pp index 9ccea4a41..727a667ee 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 224cf1911..c817e383b 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