From 3db9d7694ea709255a6dac0d105b98b66c6f1758 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Sat, 23 Apr 2022 00:09:05 +0900 Subject: [PATCH] Make sure unused metadata parameters are cleared ... instead of being left unmanaged. Change-Id: I3f48f4bf1b7b34a340f9445cfc7f03b40b2262e0 --- manifests/api.pp | 12 +++++++++--- spec/classes/nova_api_spec.rb | 10 +++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/manifests/api.pp b/manifests/api.pp index 1e14201ff..942663af4 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -328,9 +328,15 @@ as a standalone service, or httpd for being run by a httpd server") if !$nova_metadata_wsgi_enabled { nova_config { - 'DEFAULT/metadata_workers': value => $metadata_workers; - 'DEFAULT/metadata_listen': value => $metadata_listen; - 'DEFAULT/metadata_listen_port': value => $metadata_listen_port; + 'DEFAULT/metadata_workers': value => $metadata_workers; + 'DEFAULT/metadata_listen': value => $metadata_listen; + 'DEFAULT/metadata_listen_port': value => $metadata_listen_port; + } + } else { + nova_config { + 'DEFAULT/metadata_workers': ensure => absent; + 'DEFAULT/metadata_listen': ensure => absent; + 'DEFAULT/metadata_listen_port': ensure => absent; } } diff --git a/spec/classes/nova_api_spec.rb b/spec/classes/nova_api_spec.rb index 645f1a4fb..dcbf46e9f 100644 --- a/spec/classes/nova_api_spec.rb +++ b/spec/classes/nova_api_spec.rb @@ -221,8 +221,9 @@ describe 'nova::api' do context 'when running nova API in wsgi for compute, and metadata in wsgi' do before do params.merge!({ - :service_name => 'httpd', - :nova_metadata_wsgi_enabled => true }) + :service_name => 'httpd', + :nova_metadata_wsgi_enabled => true + }) end let :pre_condition do @@ -234,12 +235,15 @@ describe 'nova::api' do end it 'disable nova API service' do - is_expected.to contain_service('nova-api').with( + is_expected.to contain_service('nova-api').with( :ensure => 'stopped', :name => platform_params[:nova_api_service], :enable => false, :tag => 'nova-service', ) + is_expected.to contain_nova_config('DEFAULT/metadata_workers').with_ensure('absent') + is_expected.to contain_nova_config('DEFAULT/metadata_listen').with_ensure('absent') + is_expected.to contain_nova_config('DEFAULT/metadata_listen_port').with_ensure('absent') end end