diff --git a/manifests/profile/base/designate/producer.pp b/manifests/profile/base/designate/producer.pp index fb94c4b77..5fcc420e2 100644 --- a/manifests/profile/base/designate/producer.pp +++ b/manifests/profile/base/designate/producer.pp @@ -18,16 +18,40 @@ # # === Parameters # +# [*designate_redis_password*] +# (Required) Password for the neutron redis user for the coordination url +# Defaults to hiera('designate_redis_password'), +# +# [*redis_vip*] +# (Required) Redis ip address for the coordination url +# Defaults to hiera('redis_vip'), +# +# [*enable_internal_tls*] +# (Optional) Whether TLS in the internal network is enabled or not. +# Defaults to hiera('enable_internal_tls', false) +# # [*step*] # (Optional) The current step in deployment. See tripleo-heat-templates # for more details. # Defaults to hiera('step') # class tripleo::profile::base::designate::producer ( - $step = Integer(hiera('step')), + $designate_redis_password = hiera('designate_redis_password'), + $redis_vip = hiera('redis_vip'), + $enable_internal_tls = hiera('enable_internal_tls', false), + $step = Integer(hiera('step')), ) { include tripleo::profile::base::designate + + if $enable_internal_tls { + $tls_query_param = '?ssl=true' + } else { + $tls_query_param = '' + } + if $step >= 4 { - include designate::producer + class { 'designate::producer': + backend_url => join(['redis://:', $designate_redis_password, '@', normalize_ip_for_uri($redis_vip), ':6379/', $tls_query_param]) + } } } diff --git a/releasenotes/notes/designate-redis-coordination-b4afdcc8855cc0ca.yaml b/releasenotes/notes/designate-redis-coordination-b4afdcc8855cc0ca.yaml new file mode 100644 index 000000000..4d0de2655 --- /dev/null +++ b/releasenotes/notes/designate-redis-coordination-b4afdcc8855cc0ca.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Designate producers will no longer be deployed in standalone mode and + produce duplicates as they are now configured to coordinate via redis. diff --git a/spec/classes/tripleo_profile_base_designate_producer_spec.rb b/spec/classes/tripleo_profile_base_designate_producer_spec.rb index 1bbe26b15..65be7ba71 100644 --- a/spec/classes/tripleo_profile_base_designate_producer_spec.rb +++ b/spec/classes/tripleo_profile_base_designate_producer_spec.rb @@ -31,7 +31,9 @@ eos context 'with step less than 4' do let(:params) { { - :step => 1, + :designate_redis_password => 'password', + :redis_vip => '127.0.0.1', + :step => 1, } } it { @@ -43,7 +45,9 @@ eos context 'with step 4' do let(:params) { { - :step => 4, + :designate_redis_password => 'password', + :redis_vip => '127.0.0.1', + :step => 4, } } it {