diff --git a/deployment/puppet/apache/manifests/mod/proxy_connect.pp b/deployment/puppet/apache/manifests/mod/proxy_connect.pp new file mode 100644 index 0000000000..3bae848446 --- /dev/null +++ b/deployment/puppet/apache/manifests/mod/proxy_connect.pp @@ -0,0 +1,8 @@ +class apache::mod::proxy_connect ( + $apache_version = $::apache::apache_version, +) { + if versioncmp($apache_version, '2.4') >= 0 { + Class['::apache::mod::proxy'] -> Class['::apache::mod::proxy_connect'] + ::apache::mod { 'proxy_connect': } + } +} diff --git a/deployment/puppet/apache/spec/classes/mod/proxy_connect_spec.rb b/deployment/puppet/apache/spec/classes/mod/proxy_connect_spec.rb new file mode 100644 index 0000000000..c54d255a5e --- /dev/null +++ b/deployment/puppet/apache/spec/classes/mod/proxy_connect_spec.rb @@ -0,0 +1,50 @@ +require 'spec_helper' + +describe 'apache::mod::proxy_connect', :type => :class do + let :pre_condition do + [ + 'include apache', + 'include apache::mod::proxy', + ] + end + context 'on a Debian OS' do + let :facts do + { + :osfamily => 'Debian', + :concat_basedir => '/dne', + :operatingsystem => 'Debian', + :id => 'root', + :kernel => 'Linux', + :path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', + } + end + context 'with Apache version < 2.4' do + let :facts do + super().merge({ + :operatingsystemrelease => '7.0', + :lsbdistcodename => 'wheezy', + }) + end + let :params do + { + :apache_version => '2.2', + } + end + it { is_expected.not_to contain_apache__mod('proxy_connect') } + end + context 'with Apache version >= 2.4' do + let :facts do + super().merge({ + :operatingsystemrelease => '8.0', + :lsbdistcodename => 'jessie', + }) + end + let :params do + { + :apache_version => '2.4', + } + end + it { is_expected.to contain_apache__mod('proxy_connect') } + end + end +end diff --git a/deployment/puppet/osnailyfacter/manifests/apache_api_proxy.pp b/deployment/puppet/osnailyfacter/manifests/apache_api_proxy.pp index e443e9237a..6a9d2d865f 100644 --- a/deployment/puppet/osnailyfacter/manifests/apache_api_proxy.pp +++ b/deployment/puppet/osnailyfacter/manifests/apache_api_proxy.pp @@ -13,6 +13,7 @@ class osnailyfacter::apache_api_proxy( } class {"::apache::mod::proxy": } + class {"::apache::mod::proxy_connect": } class {"::apache::mod::proxy_http": } apache::vhost { 'apache_api_proxy':