From d96f779303ddfbda95271b974def8644082c6f77 Mon Sep 17 00:00:00 2001 From: Alan Bishop Date: Wed, 24 Feb 2021 13:44:35 -0800 Subject: [PATCH] Support configuring cinder's RPC and WSGI timeouts New CinderRpcResponseTimeout and CinderApiWsgiTimeout parameters support configuring cinder's corresponding RPC response and WSGI connection timeouts. The default values (60s each) match the existing defaults. Change-Id: I66b472d37041f67907691f55c153ff880093e4bc (cherry picked from commit 3af965d6d26d3e6a8ddf48a158d930d308a3f70d) (cherry picked from commit a14752c12a13ea48e4f4631b8a8bf48427dd4b4d) --- deployment/cinder/cinder-api-container-puppet.yaml | 11 ++++++++++- deployment/cinder/cinder-base.yaml | 5 +++++ ...inder-add-timeout-parameters-54550a6e1c11c0b9.yaml | 6 ++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/cinder-add-timeout-parameters-54550a6e1c11c0b9.yaml diff --git a/deployment/cinder/cinder-api-container-puppet.yaml b/deployment/cinder/cinder-api-container-puppet.yaml index 707535b7f2..172fd08b53 100644 --- a/deployment/cinder/cinder-api-container-puppet.yaml +++ b/deployment/cinder/cinder-api-container-puppet.yaml @@ -80,6 +80,10 @@ parameters: e.g. { cinder-context_is_admin: { key: context_is_admin, value: 'role:admin' } } default: {} type: json + CinderApiWsgiTimeout: + default: 60 + description: The number of seconds until a Cinder API WSGI connection times out. + type: number NotificationDriver: type: string default: 'noop' @@ -208,13 +212,18 @@ outputs: "%{hiera('$NETWORK')}" params: $NETWORK: {get_param: [ServiceNetMap, CinderApiNetwork]} - - cinder::wsgi::apache::servername: str_replace: template: "%{hiera('fqdn_$NETWORK')}" params: $NETWORK: {get_param: [ServiceNetMap, CinderApiNetwork]} + cinder::wsgi::apache::vhost_custom_fragment: + str_replace: + template: + "Timeout TIMEOUT" + params: + TIMEOUT: {get_param: CinderApiWsgiTimeout} - if: - cinder_workers_zero diff --git a/deployment/cinder/cinder-base.yaml b/deployment/cinder/cinder-base.yaml index 6527a01bab..fa233979df 100644 --- a/deployment/cinder/cinder-base.yaml +++ b/deployment/cinder/cinder-base.yaml @@ -102,6 +102,10 @@ parameters: description: > Cron to move deleted instances to another table - Max Delay default: '3600' + CinderRpcResponseTimeout: + default: 60 + description: Cinder's RPC response timeout, in seconds. + type: number NovaPassword: type: string description: The password for the nova service and db account @@ -144,6 +148,7 @@ outputs: - {get_param: CinderDebug } cinder::storage_availability_zone: {get_param: CinderStorageAvailabilityZone} cinder::rabbit_heartbeat_timeout_threshold: 60 + cinder::rpc_response_timeout: {get_param: CinderRpcResponseTimeout} cinder::db::database_db_max_retries: -1 cinder::db::database_max_retries: -1 cinder::cron::db_purge::minute: {get_param: CinderCronDbPurgeMinute} diff --git a/releasenotes/notes/cinder-add-timeout-parameters-54550a6e1c11c0b9.yaml b/releasenotes/notes/cinder-add-timeout-parameters-54550a6e1c11c0b9.yaml new file mode 100644 index 0000000000..c3aea99d1f --- /dev/null +++ b/releasenotes/notes/cinder-add-timeout-parameters-54550a6e1c11c0b9.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + New ``CinderRpcResponseTimeout`` and ``CinderApiWsgiTimeout`` parameters + provide a means for configuring Cinder's RPC response and WSGI connection + timeouts, respectively.