From b450b3aa39699e9bd10698a54759ddb8452c986d Mon Sep 17 00:00:00 2001 From: Rabi Mishra Date: Thu, 18 Oct 2018 15:52:52 +0530 Subject: [PATCH] Set hierdata for swift server workers conditionally If not set, it would use the default os_workers fact instead of 'auto' and limit the number of worker processes. Change-Id: I69f51bb38f1307cf4b750e5ffb394eb215df1d9e --- puppet/services/swift-proxy.yaml | 9 +++++-- puppet/services/swift-storage.yaml | 27 ++++++++++++++----- ...wift-worker-defaults-b98f12fb2f677bf1.yaml | 6 +++++ 3 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 releasenotes/notes/change-swift-worker-defaults-b98f12fb2f677bf1.yaml diff --git a/puppet/services/swift-proxy.yaml b/puppet/services/swift-proxy.yaml index ec2e3b2821..67f538e471 100644 --- a/puppet/services/swift-proxy.yaml +++ b/puppet/services/swift-proxy.yaml @@ -43,7 +43,7 @@ parameters: description: Timeout for requests going from swift-proxy to swift a/c/o services. type: number SwiftWorkers: - default: auto + default: 0 description: Number of workers for Swift service. type: string KeystoneRegion: @@ -98,6 +98,7 @@ conditions: use_tls_proxy: {equals : [{get_param: EnableInternalTLS}, true]} swift_encryption_enabled: {equals : [{get_param: SwiftEncryptionEnabled}, true]} cors_allowed_origin_unset: {equals : [{get_param: SwiftCorsAllowedOrigin}, '']} + swift_workers_zero: {equals : [{get_param: SwiftWorkers}, '0']} resources: SwiftBase: @@ -140,7 +141,11 @@ outputs: swift::proxy::authtoken::project_name: 'service' swift::proxy::s3token::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]} swift::proxy::node_timeout: {get_param: SwiftProxyNodeTimeout} - swift::proxy::workers: {get_param: SwiftWorkers} + - + if: + - swift_workers_zero + - {} + - swift::proxy::workers: {get_param: SwiftWorkers} - if: - ceilometer_pipeline_enabled diff --git a/puppet/services/swift-storage.yaml b/puppet/services/swift-storage.yaml index f465c8b79e..7b057a53d1 100644 --- a/puppet/services/swift-storage.yaml +++ b/puppet/services/swift-storage.yaml @@ -46,15 +46,15 @@ parameters: default: 'overcloud-swift-storage' type: string SwiftAccountWorkers: - default: auto + default: 0 description: Number of workers for Swift account service. type: string SwiftContainerWorkers: - default: auto + default: 0 description: Number of workers for Swift account service. type: string SwiftObjectWorkers: - default: auto + default: 0 description: Number of workers for Swift account service. type: string SwiftUseLocalDir: @@ -97,6 +97,9 @@ conditions: equals: - get_param: SwiftRawDisks - {} + account_workers_zero: {equals : [{get_param: SwiftAccountWorkers}, '0']} + container_workers_zero: {equals : [{get_param: SwiftContainerWorkers}, '0']} + object_workers_zero: {equals : [{get_param: SwiftObjectWorkers}, '0']} outputs: role_data: @@ -136,9 +139,21 @@ outputs: "%{hiera('$NETWORK')}" params: $NETWORK: {get_param: [ServiceNetMap, SwiftStorageNetwork]} - swift::storage::all::account_server_workers: {get_param: SwiftAccountWorkers} - swift::storage::all::container_server_workers: {get_param: SwiftContainerWorkers} - swift::storage::all::object_server_workers: {get_param: SwiftObjectWorkers} + - + if: + - account_workers_zero + - {} + - swift::storage::all::account_server_workers: {get_param: SwiftAccountWorkers} + - + if: + - container_workers_zero + - {} + - swift::storage::all::container_server_workers: {get_param: SwiftContainerWorkers} + - + if: + - object_workers_zero + - {} + - swift::storage::all::object_server_workers: {get_param: SwiftObjectWorkers} step_config: | include ::tripleo::profile::base::swift::storage upgrade_tasks: diff --git a/releasenotes/notes/change-swift-worker-defaults-b98f12fb2f677bf1.yaml b/releasenotes/notes/change-swift-worker-defaults-b98f12fb2f677bf1.yaml new file mode 100644 index 0000000000..4c09942145 --- /dev/null +++ b/releasenotes/notes/change-swift-worker-defaults-b98f12fb2f677bf1.yaml @@ -0,0 +1,6 @@ +--- +upgrade: + - | + swift worker count parameter defaults have been changed from 'auto' to + 0. If not provided, puppet module default would instead be used and the + number of server processes will be limited to '12'.