Ensure we configure ssl.conf
authorLukas Bezdicka <lbezdick@redhat.com>
Thu, 13 Apr 2017 17:21:45 +0000 (19:21 +0200)
committerLukas Bezdicka <lbezdick@redhat.com>
Tue, 18 Apr 2017 15:07:46 +0000 (17:07 +0200)
Every time we call apache module regardless of using SSL we have to
configure mod_ssl from puppet-apache or we'll hit issue during package
update. File /etc/httpd/conf.d/ssl.conf from mod_ssl package contains
Listen 443 while apache::mod::ssl just configures SSL bits but does not
add Listen. If the apache::mod::ssl is not included the ssl.conf file is
removed and recreated during mod_ssl package update. This causes
conflict on port 443.

Change-Id: Ic5a0719f67d3795a9edca25284d1cf6f088073e8
Related-Bug: 1682448
Resolves: rhbz#1441977

14 files changed:
manifests/profile/base/aodh/api.pp
manifests/profile/base/barbican/api.pp
manifests/profile/base/ceilometer/api.pp
manifests/profile/base/cinder/api.pp
manifests/profile/base/gnocchi/api.pp
manifests/profile/base/heat/api.pp
manifests/profile/base/heat/api_cfn.pp
manifests/profile/base/heat/api_cloudwatch.pp
manifests/profile/base/keystone.pp
manifests/profile/base/nova/api.pp
manifests/profile/base/nova/placement.pp
manifests/profile/base/panko/api.pp
manifests/profile/base/zaqar.pp
releasenotes/notes/ensure-ssl-conf-2f32c6ead6f3bb0e.yaml [new file with mode: 0644]

index 22fc000..5c539fc 100644 (file)
@@ -68,6 +68,7 @@ class tripleo::profile::base::aodh::api (
 
   if $step >= 3 {
     include ::aodh::api
+    include ::apache::mod::ssl
     class { '::aodh::wsgi::apache':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index 71e4ea1..211e442 100644 (file)
@@ -158,6 +158,7 @@ class tripleo::profile::base::barbican::api (
     include ::barbican::api::logging
     include ::barbican::keystone::notification
     include ::barbican::quota
+    include ::apache::mod::ssl
     class { '::barbican::wsgi::apache':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index 28504c5..1aa4285 100644 (file)
@@ -65,6 +65,7 @@ class tripleo::profile::base::ceilometer::api (
 
   if $step >= 4 {
     include ::ceilometer::api
+    include ::apache::mod::ssl
     class { '::ceilometer::wsgi::apache':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index c432fd6..2fd9a65 100644 (file)
@@ -76,6 +76,7 @@ class tripleo::profile::base::cinder::api (
 
   if $step >= 4 or ($step >= 3 and $sync_db) {
     include ::cinder::api
+    include ::apache::mod::ssl
     class { '::cinder::wsgi::apache':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index 79ee265..852e3c7 100644 (file)
@@ -85,6 +85,7 @@ class tripleo::profile::base::gnocchi::api (
 
   if $step >= 4 {
     include ::gnocchi::api
+    include ::apache::mod::ssl
     class { '::gnocchi::wsgi::apache':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index 8e2da7e..79eb77e 100644 (file)
@@ -65,6 +65,7 @@ class tripleo::profile::base::heat::api (
 
   if $step >= 3 {
     include ::heat::api
+    include ::apache::mod::ssl
     class { '::heat::wsgi::apache_api':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index 02eb82a..dad7b76 100644 (file)
@@ -66,6 +66,7 @@ class tripleo::profile::base::heat::api_cfn (
   if $step >= 3 {
     include ::heat::api_cfn
 
+    include ::apache::mod::ssl
     class { '::heat::wsgi::apache_api_cfn':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index 558d247..428bcf2 100644 (file)
@@ -66,6 +66,7 @@ class tripleo::profile::base::heat::api_cloudwatch (
   if $step >= 3 {
     include ::heat::api_cloudwatch
 
+    include ::apache::mod::ssl
     class { '::heat::wsgi::apache_api_cloudwatch':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index ec896e7..92eceb7 100644 (file)
@@ -211,6 +211,7 @@ class tripleo::profile::base::keystone (
     }
 
     include ::keystone::config
+    include ::apache::mod::ssl
     class { '::keystone::wsgi::apache':
       ssl_cert       => $tls_certfile,
       ssl_key        => $tls_keyfile,
index 95a1721..bdb3007 100644 (file)
@@ -94,6 +94,7 @@ class tripleo::profile::base::nova::api (
       $tls_keyfile = undef
     }
     if $step >= 4 or ($step >= 3 and $sync_db) {
+      include ::apache::mod::ssl
       class { '::nova::wsgi::apache_api':
         ssl_cert => $tls_certfile,
         ssl_key  => $tls_keyfile,
index 16bfe17..c78b3c2 100644 (file)
@@ -74,6 +74,7 @@ class tripleo::profile::base::nova::placement (
   }
 
   if $step >= 3 {
+    include ::apache::mod::ssl
     class { '::nova::wsgi::apache_placement':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index 90e80a2..165969f 100644 (file)
@@ -79,6 +79,7 @@ class tripleo::profile::base::panko::api (
     class { '::panko::api':
       sync_db => $sync_db,
     }
+    include ::apache::mod::ssl
     class { '::panko::wsgi::apache':
       ssl_cert => $tls_certfile,
       ssl_key  => $tls_keyfile,
index 89a03ad..7fbcd34 100644 (file)
@@ -50,6 +50,7 @@ class tripleo::profile::base::zaqar (
       uri => $database_connection,
     }
     include ::zaqar::transport::websocket
+    include ::apache::mod::ssl
     include ::zaqar::transport::wsgi
 
     # TODO (bcrochet): At some point, the transports should be split out to
diff --git a/releasenotes/notes/ensure-ssl-conf-2f32c6ead6f3bb0e.yaml b/releasenotes/notes/ensure-ssl-conf-2f32c6ead6f3bb0e.yaml
new file mode 100644 (file)
index 0000000..92f2360
--- /dev/null
@@ -0,0 +1,10 @@
+---
+fixes:
+  - |
+    With having package mod_ssl by default installed in images we introduced
+    issue with mod_ssl package update. In case of SSL not being used or
+    provided by HAproxy the puppet-apache module by default purges the
+    ssl.conf file. The package update then recreates the file with default
+    Listen 443 option. This causes conflict on 443 port during httpd restart.
+    If we include ::apache::mod::ssl the ssl.conf file will be configured and
+    the Listen option will be used only if there is vhost set to use SSL.