diff --git a/deployment/barbican/barbican-api-container-puppet.yaml b/deployment/barbican/barbican-api-container-puppet.yaml index 1275359d06..48231ffe78 100644 --- a/deployment/barbican/barbican-api-container-puppet.yaml +++ b/deployment/barbican/barbican-api-container-puppet.yaml @@ -123,8 +123,8 @@ parameters: hidden: true BarbicanWorkers: description: Set the number of workers for barbican::wsgi::apache - default: '%{::processorcount}' - type: string + default: 0 + type: number Debug: default: false description: Set to True to enable debugging on all services. @@ -163,6 +163,8 @@ parameters: default: true conditions: + barbican_workers_set: + not: {equals : [{get_param: BarbicanWorkers}, 0]} hsm_enabled: or: - {get_param: BarbicanPkcs11CryptoThalesEnabled} @@ -291,7 +293,10 @@ outputs: params: $NETWORK: {get_param: [ServiceNetMap, BarbicanApiNetwork]} barbican::wsgi::apache::ssl: {get_param: EnableInternalTLS} - barbican::wsgi::apache::workers: {get_param: BarbicanWorkers} + barbican::wsgi::apache::workers: + if: + - barbican_workers_set + - {get_param: BarbicanWorkers} barbican::wsgi::apache::servername: str_replace: template: diff --git a/deployment/cinder/cinder-api-container-puppet.yaml b/deployment/cinder/cinder-api-container-puppet.yaml index 07c193a714..19ce8bccf1 100644 --- a/deployment/cinder/cinder-api-container-puppet.yaml +++ b/deployment/cinder/cinder-api-container-puppet.yaml @@ -76,9 +76,9 @@ parameters: default: 'overcloud-cinder-api' type: string CinderWorkers: - type: string + type: number description: Set the number of workers for cinder::wsgi::apache - default: '%{::os_workers}' + default: 0 CinderApiPolicies: description: | A hash of policies to configure for Cinder API. @@ -109,6 +109,8 @@ parameters: conditions: auth_cloud_name_set: not: {equals: [{get_param: AuthCloudName}, ""]} + cinder_workers_set: + not: {equals : [{get_param: CinderWorkers}, 0]} resources: ContainersCommon: @@ -238,7 +240,10 @@ outputs: "Timeout TIMEOUT" params: TIMEOUT: {get_param: CinderApiWsgiTimeout} - cinder::wsgi::apache::workers: {get_param: CinderWorkers} + cinder::wsgi::apache::workers: + if: + - cinder_workers_set + - {get_param: CinderWorkers} cinder::api::sync_db: false service_config_settings: rsyslog: diff --git a/deployment/glance/glance-api-container-puppet.yaml b/deployment/glance/glance-api-container-puppet.yaml index 0fa39eb8cb..7ac533576e 100644 --- a/deployment/glance/glance-api-container-puppet.yaml +++ b/deployment/glance/glance-api-container-puppet.yaml @@ -51,16 +51,12 @@ parameters: type: string hidden: true GlanceWorkers: - default: '' + default: 0 description: | - Number of API worker processes for Glance. If left unset (empty string), the - default value will result in the configuration being left unset and a - system-dependent default value will be chosen (e.g.: number of - processors). Please note that this will create a large number of - processes on systems with a large number of CPUs resulting in excess - memory consumption. It is recommended that a suitable non-default value - be selected on such systems. - type: string + Number of API worker processes for Glance. The default value will result + in the configuration being left unset and a system-dependent default + value will be chosen. + type: number MonitoringSubscriptionGlanceApi: default: 'overcloud-glance-api' type: string @@ -401,7 +397,7 @@ conditions: - {get_param: NovaEnableRbdBackend} - {get_param: GlanceSparseUploadEnabled} glance_workers_set: - not: {equals : [{get_param: GlanceWorkers}, '']} + not: {equals : [{get_param: GlanceWorkers}, 0]} glance_multiple_locations: or: - {get_param: GlanceShowMultipleLocations} diff --git a/deployment/gnocchi/gnocchi-metricd-container-puppet.yaml b/deployment/gnocchi/gnocchi-metricd-container-puppet.yaml index 74c70e529b..83dab306ca 100644 --- a/deployment/gnocchi/gnocchi-metricd-container-puppet.yaml +++ b/deployment/gnocchi/gnocchi-metricd-container-puppet.yaml @@ -68,9 +68,9 @@ parameters: default: 'overcloud-gnocchi-metricd' type: string GnocchiMetricdWorkers: - default: '%{::os_workers}' + default: 0 description: Number of workers for Gnocchi MetricD - type: string + type: number MetricProcessingDelay: default: 30 description: Delay between processing metrics. @@ -83,6 +83,8 @@ parameters: conditions: nfs_backend_enabled: {equals: [{get_param: GnocchiNfsEnabled}, true]} + gnocchi_metricd_workers_set: + not: {equals: [{get_param: GnocchiMetricdWorkers}, 0]} resources: @@ -123,7 +125,10 @@ outputs: config_settings: map_merge: - get_attr: [GnocchiServiceBase, role_data, config_settings] - - gnocchi::metricd::workers: {get_param: GnocchiMetricdWorkers} + - gnocchi::metricd::workers: + if: + - gnocchi_metricd_workers_set + - {get_param: GnocchiMetricdWorkers} gnocchi::metricd::metric_processing_delay: {get_param: MetricProcessingDelay} monitoring_subscription: {get_param: MonitoringSubscriptionGnocchiMetricd} service_config_settings: diff --git a/deployment/keystone/keystone-container-puppet.yaml b/deployment/keystone/keystone-container-puppet.yaml index 6190acaf29..a721027528 100644 --- a/deployment/keystone/keystone-container-puppet.yaml +++ b/deployment/keystone/keystone-container-puppet.yaml @@ -139,9 +139,9 @@ parameters: description: Set a token expiration time in seconds. type: number KeystoneWorkers: - type: string + type: number description: Set the number of workers for keystone::wsgi::apache - default: '%{::os_workers_keystone}' + default: 0 MonitoringSubscriptionKeystone: default: 'overcloud-keystone' type: string @@ -463,6 +463,8 @@ resources: ContainerKeystoneConfigImage: {get_param: ContainerKeystoneConfigImage} conditions: + keystone_workers_set: + not: {equals : [{get_param: KeystoneWorkers}, 0]} public_tls_enabled: and: - {get_param: EnablePublicTLS} @@ -593,7 +595,10 @@ outputs: "%{lookup('fqdn_$NETWORK')}" params: $NETWORK: {get_param: [ServiceNetMap, KeystonePublicApiNetwork]} - keystone::wsgi::apache::workers: {get_param: KeystoneWorkers} + keystone::wsgi::apache::workers: + if: + - keystone_workers_set + - {get_param: KeystoneWorkers} # override via extraconfig: keystone::wsgi::apache::threads: 1 keystone::db::database_db_max_retries: -1 diff --git a/deployment/manila/manila-api-container-puppet.yaml b/deployment/manila/manila-api-container-puppet.yaml index 3f9f742b8e..1d560825b4 100644 --- a/deployment/manila/manila-api-container-puppet.yaml +++ b/deployment/manila/manila-api-container-puppet.yaml @@ -41,9 +41,9 @@ parameters: type: boolean default: false ManilaWorkers: - type: string + type: number description: Set the number of workers for manila::wsgi::apache - default: '%{::os_workers}' + default: 0 ManilaPassword: description: The password for the manila service account. type: string @@ -118,6 +118,10 @@ parameters: Use the advanced (eventlet safe) memcached client pool. default: true +conditions: + manila_workers_set: + not: {equals : [{get_param: ManilaWorkers}, 0]} + resources: ContainersCommon: type: ../containers-common.yaml @@ -251,7 +255,10 @@ outputs: "%{lookup('fqdn_$NETWORK')}" params: $NETWORK: {get_param: [ServiceNetMap, ManilaApiNetwork]} - manila::wsgi::apache::workers: {get_param: ManilaWorkers} + manila::wsgi::apache::workers: + if: + - manila_workers_set + - {get_param: ManilaWorkers} service_config_settings: map_merge: - {get_attr: [ManilaBase, role_data, service_config_settings]} diff --git a/deployment/neutron/neutron-api-container-puppet.yaml b/deployment/neutron/neutron-api-container-puppet.yaml index 4fa76217a2..27a14eec0e 100644 --- a/deployment/neutron/neutron-api-container-puppet.yaml +++ b/deployment/neutron/neutron-api-container-puppet.yaml @@ -60,25 +60,21 @@ parameters: description: hash of optional environment variables type: json NeutronWorkers: - default: '' + default: 0 description: | Sets the number of API workers for the Neutron service. The default value results in the configuration being left unset - and a system-dependent default will be chosen (usually the number - of processors). Please note that this can result in a large number - of processes and memory consumption on systems with a large core - count. On such systems it is recommended that a non-default value - be selected that matches the load requirements. - type: string + and a system-dependent default will be chosen. + type: number NeutronRpcWorkers: - default: '' + default: 0 description: | Sets the number of RPC workers for the Neutron service. If not specified, it'll take the value of NeutronWorkers and if this is not specified either, the default value results in the configuration being left unset and a system-dependent default will be chosen (usually 1). - type: string + type: number NeutronPassword: description: The password for the neutron service and db account, used by neutron agents. type: string @@ -233,9 +229,9 @@ parameter_groups: conditions: neutron_workers_set: - not: {equals : [{get_param: NeutronWorkers}, '']} + not: {equals : [{get_param: NeutronWorkers}, 0]} neutron_rpc_workers_set: - not: {equals : [{get_param: NeutronRpcWorkers}, '']} + not: {equals : [{get_param: NeutronRpcWorkers}, 0]} neutron_ovs_int_br_set: not: {equals : [{get_param: NeutronOvsIntegrationBridge}, '']} az_set: diff --git a/deployment/neutron/neutron-metadata-container-puppet.yaml b/deployment/neutron/neutron-metadata-container-puppet.yaml index 27fdbe2e22..db32b02d83 100644 --- a/deployment/neutron/neutron-metadata-container-puppet.yaml +++ b/deployment/neutron/neutron-metadata-container-puppet.yaml @@ -47,16 +47,12 @@ parameters: type: string hidden: true NeutronWorkers: - default: '' + default: 0 description: | Sets the number of worker processes for the neutron metadata agent. The default value results in the configuration being left unset and a - system-dependent default will be chosen (usually the number of - processors). Please note that this can result in a large number of - processes and memory consumption on systems with a large core count. On - such systems it is recommended that a non-default value be selected that - matches the load requirements. - type: string + system-dependent default will be chosen. + type: number MonitoringSubscriptionNeutronMetadata: default: 'overcloud-neutron-metadata' type: string @@ -74,7 +70,7 @@ parameters: conditions: neutron_workers_set: - not: {equals : [{get_param: NeutronWorkers}, '']} + not: {equals : [{get_param: NeutronWorkers}, 0]} neutron_shared_metadata_set: not: {equals: [{get_param: NeutronMetadataProxySharedSecret}, '']} diff --git a/deployment/ovn/ovn-metadata-container-puppet.yaml b/deployment/ovn/ovn-metadata-container-puppet.yaml index 7304977405..57f6afa44e 100644 --- a/deployment/ovn/ovn-metadata-container-puppet.yaml +++ b/deployment/ovn/ovn-metadata-container-puppet.yaml @@ -71,16 +71,12 @@ parameters: type: string hidden: true NeutronMetadataWorkers: - default: '' + default: 0 description: | Sets the number of worker processes for the neutron OVN metadata agent. The default value results in the configuration being left unset and a - system-dependent default will be chosen (usually the number of - processors). Please note that this can result in a large number of - processes and memory consumption on systems with a large core count. On - such systems it is recommended that a non-default value be selected that - matches the load requirements. - type: string + system-dependent default will be chosen. + type: number OVNSouthboundServerPort: description: Port of the OVN Southbound DB server type: number @@ -121,7 +117,7 @@ parameters: conditions: neutron_metadata_workers_set: - not: {equals : [{get_param: NeutronMetadataWorkers}, '']} + not: {equals : [{get_param: NeutronMetadataWorkers}, 0]} key_size_override_set: not: {equals: [{get_param: OvnMetadataCertificateKeySize}, '']} diff --git a/deployment/swift/swift-proxy-container-puppet.yaml b/deployment/swift/swift-proxy-container-puppet.yaml index ccc7bc8159..aea5e0f4ef 100644 --- a/deployment/swift/swift-proxy-container-puppet.yaml +++ b/deployment/swift/swift-proxy-container-puppet.yaml @@ -62,7 +62,7 @@ parameters: SwiftWorkers: default: 0 description: Number of workers for Swift service. - type: string + type: number KeystoneRegion: type: string default: 'regionOne' @@ -110,7 +110,7 @@ conditions: cors_allowed_origin_set: not: {equals : [{get_param: SwiftCorsAllowedOrigin}, '']} swift_workers_set: - not: {equals : [{get_param: SwiftWorkers}, '0']} + not: {equals : [{get_param: SwiftWorkers}, 0]} resources: ContainersCommon: diff --git a/deployment/swift/swift-storage-container-puppet.yaml b/deployment/swift/swift-storage-container-puppet.yaml index 6dcca89614..2e0c3e8d67 100644 --- a/deployment/swift/swift-storage-container-puppet.yaml +++ b/deployment/swift/swift-storage-container-puppet.yaml @@ -79,15 +79,15 @@ parameters: SwiftAccountWorkers: default: 0 description: Number of workers for Swift account service. - type: string + type: number SwiftContainerWorkers: default: 0 description: Number of workers for Swift account service. - type: string + type: number SwiftObjectWorkers: default: 0 description: Number of workers for Swift account service. - type: string + type: number SwiftReconCronMinute: type: string description: > @@ -138,11 +138,11 @@ conditions: - get_param: SwiftRawDisks - {} account_workers_set: - not: {equals : [{get_param: SwiftAccountWorkers}, '0']} + not: {equals : [{get_param: SwiftAccountWorkers}, 0]} container_workers_set: - not: {equals : [{get_param: SwiftContainerWorkers}, '0']} + not: {equals : [{get_param: SwiftContainerWorkers}, 0]} object_workers_set: - not: {equals : [{get_param: SwiftObjectWorkers}, '0']} + not: {equals : [{get_param: SwiftObjectWorkers}, 0]} use_node_data_lookup: {equals : [{get_param: SwiftUseNodeDataLookup}, true]} resources: