b524c0999f
We hit problems in environments which don't have a lot of RAM (e.g. dev envs, could be also CI) that Apache ate too much memory due to too many worker processes being spawned. This commit allows customizing the Apache MaxRequestWorkers and ServerLimit directives via Heat parameters. The default stays 256 as that's the default in the Puppet module, to be suited for production environments with powerful machines. Also low-memory-usage.yaml environment file is added, which can be used to make dev/test/CI overclouds less memory hungry, where the limits are now set to 32. Change-Id: Ibcf1d9c3326df8bb5b380066166c4ae3c4bf8d96 Co-Authored-By: Carlos Camacho <ccamacho@redhat.com> Closes-Bug: #1619205
53 lines
1.8 KiB
YAML
53 lines
1.8 KiB
YAML
heat_template_version: 2016-10-14
|
|
|
|
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
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Apache role.
|
|
value:
|
|
service_name: apache
|
|
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')}"
|