4707843469
1) When Apache is upgraded, install mod_ssl rpm.
See https://bugs.launchpad.net/tripleo/+bug/1682448
to understand why we need mod_ssl.
2) All services that run Apache for API will use the snippet from
Apache service to deploy mod_ssl, so we don't duplicate the code
in all services. It's using the same mechanism as ovs upgrade to
compile upgrade_tasks between both services.
Change-Id: Ia2f6fea45c2c09790c49baab19b1efcab25e9a84
Closes-Bug: #1686503
(cherry picked from commit a6041608ca
)
82 lines
2.7 KiB
YAML
82 lines
2.7 KiB
YAML
heat_template_version: ocata
|
|
|
|
description: >
|
|
Apache service configured with Puppet. Note this is typically included
|
|
automatically via other services which run via Apache.
|
|
|
|
parameters:
|
|
ApacheMaxRequestWorkers:
|
|
default: 256
|
|
description: Maximum number of simultaneously processed requests.
|
|
type: number
|
|
ApacheServerLimit:
|
|
default: 256
|
|
description: Maximum number of Apache processes.
|
|
type: number
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
EnableInternalTLS:
|
|
type: boolean
|
|
default: false
|
|
|
|
|
|
resources:
|
|
|
|
ApacheTLS:
|
|
type: OS::TripleO::Services::ApacheTLS
|
|
properties:
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Apache role.
|
|
value:
|
|
service_name: apache
|
|
config_settings:
|
|
map_merge:
|
|
- get_attr: [ApacheTLS, role_data, config_settings]
|
|
-
|
|
# for the given network; replacement examples (eg. for internal_api):
|
|
# internal_api -> IP
|
|
# internal_api_uri -> [IP]
|
|
# internal_api_subnet - > IP/CIDR
|
|
apache::ip: {get_param: [ServiceNetMap, ApacheNetwork]}
|
|
apache::server_signature: 'Off'
|
|
apache::server_tokens: 'Prod'
|
|
apache_remote_proxy_ips_network:
|
|
str_replace:
|
|
template: "NETWORK_subnet"
|
|
params:
|
|
NETWORK: {get_param: [ServiceNetMap, ApacheNetwork]}
|
|
apache::mod::prefork::maxclients: { get_param: ApacheMaxRequestWorkers }
|
|
apache::mod::prefork::serverlimit: { get_param: ApacheServerLimit }
|
|
apache::mod::remoteip::proxy_ips:
|
|
- "%{hiera('apache_remote_proxy_ips_network')}"
|
|
metadata_settings:
|
|
get_attr: [ApacheTLS, role_data, metadata_settings]
|
|
upgrade_tasks:
|
|
- name: Check if httpd is deployed
|
|
command: systemctl is-enabled httpd
|
|
tags: common
|
|
ignore_errors: True
|
|
register: httpd_enabled
|
|
- name: "PreUpgrade step0,validation: Check service httpd is running"
|
|
shell: /usr/bin/systemctl show 'httpd' --property ActiveState | grep '\bactive\b'
|
|
when: httpd_enabled.rc == 0
|
|
tags: step0,validation
|
|
- name: Ensure mod_ssl package is installed
|
|
tags: step3
|
|
yum: name=mod_ssl state=latest
|