diff --git a/recipes/server-apache.rb b/recipes/server-apache.rb index 546a11e..aee9e6e 100644 --- a/recipes/server-apache.rb +++ b/recipes/server-apache.rb @@ -239,13 +239,12 @@ end #### Start of Apache specific work -apache_listen_public = { public_bind_address => [public_bind_service.port.to_s] } -apache_listen_internal = { internal_bind_address => [internal_bind_service.port.to_s] } -apache_listen_admin = { admin_bind_address => [admin_bind_service.port.to_s] } -apache_listen = Chef::Mixin::DeepMerge.merge(Chef::Mixin::DeepMerge.merge(apache_listen_public, apache_listen_internal), apache_listen_admin) +apache_listen = Array(node['apache']['listen']) # include already defined listen attributes +apache_listen += ["#{public_bind_service.host}:#{public_bind_service.port}"] +apache_listen += ["#{internal_bind_service.host}:#{internal_bind_service.port}"] +apache_listen += ["#{admin_bind_service.host}:#{admin_bind_service.port}"] -node.normal['apache']['listen'] = - Chef::Mixin::DeepMerge.merge(node['apache']['listen'], apache_listen) +node.normal['apache']['listen'] = apache_listen.uniq include_recipe 'apache2' include_recipe 'apache2::mod_wsgi' diff --git a/spec/server-apache_spec.rb b/spec/server-apache_spec.rb index 02efe93..91bd95b 100644 --- a/spec/server-apache_spec.rb +++ b/spec/server-apache_spec.rb @@ -363,8 +363,7 @@ describe 'openstack-identity::server-apache' do it 'set apache addresses and ports' do expect(chef_run.node['apache']['listen']).to eq( - '*' => ['80'], - '127.0.0.1' => ['5000', '5001', '35357'] + %w(*:80 127.0.0.1:5000 127.0.0.1:5001 127.0.0.1:35357) ) end