From 7dc6e9f9e3cea6309eba88aa87b35548ffe3a977 Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Thu, 7 Apr 2016 15:14:27 +0200 Subject: [PATCH] Expose an option to enable/disable cleaning This patch exposes option [conductor]automated_clean. Currently TripleO is using its deprecated analog "clean_nodes" to disable node cleaning (which breaks TripleO workflow). Change-Id: I4e6b7f1b13be735319d20c01786b078f9678b0a7 --- manifests/conductor.pp | 6 ++++++ spec/classes/ironic_conductor_spec.rb | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/manifests/conductor.pp b/manifests/conductor.pp index 31344640..77a386bb 100644 --- a/manifests/conductor.pp +++ b/manifests/conductor.pp @@ -38,11 +38,16 @@ # state (False). # Defaults to true. # +# [*automated_clean*] +# (optional) Whether to enable automated cleaning on nodes. +# Defaults to $::os_service_default +# class ironic::conductor ( $package_ensure = 'present', $enabled = true, $max_time_interval = '120', $force_power_state_during_sync = true, + $automated_clean = $::os_service_default, ) { include ::ironic::params @@ -53,6 +58,7 @@ class ironic::conductor ( ironic_config { 'conductor/max_time_interval': value => $max_time_interval; 'conductor/force_power_state_during_sync': value => $force_power_state_during_sync; + 'conductor/automated_clean': value => $automated_clean; } # Install package diff --git a/spec/classes/ironic_conductor_spec.rb b/spec/classes/ironic_conductor_spec.rb index 86a20beb..112f77bd 100644 --- a/spec/classes/ironic_conductor_spec.rb +++ b/spec/classes/ironic_conductor_spec.rb @@ -61,18 +61,21 @@ describe 'ironic::conductor' do it 'configures ironic.conf' do is_expected.to contain_ironic_config('conductor/max_time_interval').with_value(p[:max_time_interval]) is_expected.to contain_ironic_config('conductor/force_power_state_during_sync').with_value(p[:force_power_state_during_sync]) + is_expected.to contain_ironic_config('conductor/automated_clean').with(:value => '') end context 'when overriding parameters' do before :each do params.merge!( :max_time_interval => '50', - :force_power_state_during_sync => false + :force_power_state_during_sync => false, + :automated_clean => false ) end it 'should replace default parameter with new value' do is_expected.to contain_ironic_config('conductor/max_time_interval').with_value(p[:max_time_interval]) is_expected.to contain_ironic_config('conductor/force_power_state_during_sync').with_value(p[:force_power_state_during_sync]) + is_expected.to contain_ironic_config('conductor/automated_clean').with_value(p[:automated_clean]) end end