From 0a9e188d303eae7c0afc6ec986cc9f42c6830891 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami <tkajinam@redhat.com> Date: Thu, 13 Jul 2023 21:59:21 +0900 Subject: [PATCH] decision_engine: Accept string/array values for weights Change-Id: I14c325d116a7a062fe049064946ce61f16b703b4 --- manifests/decision_engine.pp | 5 ++--- spec/classes/watcher_decision_engine_spec.rb | 8 +++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/manifests/decision_engine.pp b/manifests/decision_engine.pp index 4a2cb99..050371f 100644 --- a/manifests/decision_engine.pp +++ b/manifests/decision_engine.pp @@ -67,11 +67,10 @@ class watcher::decision_engine ( include watcher::params include watcher::deps - if !is_service_default($weights) { - validate_legacy(Hash, 'validate_hash', $weights) + if $weights =~ Hash { $weights_real = join(sort(join_keys_to_values($weights, ':')), ',') } else { - $weights_real = $weights + $weights_real = join(any2array($weights), ',') } if !is_service_default($decision_engine_notification_topics) or diff --git a/spec/classes/watcher_decision_engine_spec.rb b/spec/classes/watcher_decision_engine_spec.rb index 7e6903a..2430115 100644 --- a/spec/classes/watcher_decision_engine_spec.rb +++ b/spec/classes/watcher_decision_engine_spec.rb @@ -69,8 +69,10 @@ describe 'watcher::decision_engine' do :decision_engine_publisher_id => '123456', :decision_engine_workers => '10', :planner => 'NoPlanner', - :weights => {'foo' => 'fooValue', - 'foo2' => 'fooValue2'}, + :weights => { + 'foo1' => 'fooValue1', + 'foo2' => 'fooValue2' + }, } end it 'configures watcher decision engine' do @@ -80,7 +82,7 @@ describe 'watcher::decision_engine' do is_expected.to contain_watcher_config('watcher_decision_engine/publisher_id').with_value('123456') is_expected.to contain_watcher_config('watcher_decision_engine/max_workers').with_value('10') is_expected.to contain_watcher_config('watcher_planner/planner').with_value('NoPlanner') - is_expected.to contain_watcher_config('watcher_planners.default/weights').with_value('foo2:fooValue2,foo:fooValue') + is_expected.to contain_watcher_config('watcher_planners.default/weights').with_value('foo1:fooValue1,foo2:fooValue2') end end end