From 5b9adc693782452b479e8eaf6251d1ab3cc67cc6 Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Wed, 25 May 2016 16:33:04 +0100 Subject: [PATCH] Add support for convergence_engine option This is a boolean which enables the "new" heat convergence architecture. Heat plans to make this enabled by default soon (currently disabled), so adding this will provide an easy way for deployers to maintain the old architecture if they wish. Change-Id: I4e879751a30c961e851ab9da80612d3f2fb2395a --- manifests/engine.pp | 6 +++++ spec/classes/heat_engine_spec.rb | 43 +++++++++++++++++--------------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/manifests/engine.pp b/manifests/engine.pp index 64ed802c..68e5b1ba 100644 --- a/manifests/engine.pp +++ b/manifests/engine.pp @@ -93,6 +93,10 @@ # (Optional) The number of workers to spawn. # Defaults to $::os_service_default. # +# [*convergence_engine*] +# (Optional) Enables engine with convergence architecture. +# Defaults to $::os_service_default. +# class heat::engine ( $auth_encryption_key, $package_ensure = 'present', @@ -111,6 +115,7 @@ class heat::engine ( $instance_connection_https_validate_certificates = $::os_service_default, $max_resources_per_stack = $::os_service_default, $num_engine_workers = $::os_service_default, + $convergence_engine = $::os_service_default, ) { include ::heat::deps @@ -165,5 +170,6 @@ class heat::engine ( 'DEFAULT/instance_connection_https_validate_certificates': value => $instance_connection_https_validate_certificates; 'DEFAULT/instance_connection_is_secure': value => $instance_connection_is_secure; 'DEFAULT/num_engine_workers': value => $num_engine_workers; + 'DEFAULT/convergence_engine': value => $convergence_engine; } } diff --git a/spec/classes/heat_engine_spec.rb b/spec/classes/heat_engine_spec.rb index 1d5a1f46..6a1f99f0 100644 --- a/spec/classes/heat_engine_spec.rb +++ b/spec/classes/heat_engine_spec.rb @@ -3,36 +3,38 @@ require 'spec_helper' describe 'heat::engine' do let :default_params do - { :enabled => true, - :manage_service => true, - :heat_stack_user_role => '', - :heat_metadata_server_url => 'http://127.0.0.1:8000', - :heat_waitcondition_server_url => 'http://127.0.0.1:8000/v1/waitcondition', - :heat_watch_server_url => 'http://128.0.0.1:8003', - :engine_life_check_timeout => '', - :trusts_delegated_roles => ['heat_stack_owner'], - :deferred_auth_method => '', + { :enabled => true, + :manage_service => true, + :heat_stack_user_role => '', + :heat_metadata_server_url => 'http://127.0.0.1:8000', + :heat_waitcondition_server_url => 'http://127.0.0.1:8000/v1/waitcondition', + :heat_watch_server_url => 'http://128.0.0.1:8003', + :engine_life_check_timeout => '', + :trusts_delegated_roles => ['heat_stack_owner'], + :deferred_auth_method => '', :default_software_config_transport => '', :default_deployment_signal_transport => '', + :convergence_engine => '', } end shared_examples_for 'heat-engine' do [ {}, - { :auth_encryption_key => '1234567890AZERTYUIOPMLKJHGFDSQ12' }, - { :auth_encryption_key => '0234567890AZERTYUIOPMLKJHGFDSQ24', - :enabled => false, - :heat_stack_user_role => 'heat_stack_user', - :heat_metadata_server_url => 'http://127.0.0.1:8000', - :heat_waitcondition_server_url => 'http://127.0.0.1:8000/v1/waitcondition', - :heat_watch_server_url => 'http://128.0.0.1:8003', - :engine_life_check_timeout => '2', - :trusts_delegated_roles => ['role1', 'role2'], - :deferred_auth_method => 'trusts', + { :auth_encryption_key => '1234567890AZERTYUIOPMLKJHGFDSQ12' }, + { :auth_encryption_key => '0234567890AZERTYUIOPMLKJHGFDSQ24', + :enabled => false, + :heat_stack_user_role => 'heat_stack_user', + :heat_metadata_server_url => 'http://127.0.0.1:8000', + :heat_waitcondition_server_url => 'http://127.0.0.1:8000/v1/waitcondition', + :heat_watch_server_url => 'http://128.0.0.1:8003', + :engine_life_check_timeout => '2', + :trusts_delegated_roles => ['role1', 'role2'], + :deferred_auth_method => 'trusts', :default_software_config_transport => 'POLL_SERVER_CFN', :default_deployment_signal_transport => 'CFN_SIGNAL', - :num_engine_workers => '4', + :num_engine_workers => '4', + :convergence_engine => false, } ].each do |new_params| describe 'when #{param_set == {} ? "using default" : "specifying"} parameters' @@ -74,6 +76,7 @@ describe 'heat::engine' do it { is_expected.to contain_heat_config('DEFAULT/instance_connection_https_validate_certificates').with_value('') } it { is_expected.to contain_heat_config('DEFAULT/max_resources_per_stack').with_value('') } it { is_expected.to contain_heat_config('DEFAULT/num_engine_workers').with_value( expected_params[:num_engine_workers] ) } + it { is_expected.to contain_heat_config('DEFAULT/convergence_engine').with_value( expected_params[:convergence_engine] ) } end context 'with disabled service managing' do