diff --git a/deployment/swift/swift-proxy-container-puppet.yaml b/deployment/swift/swift-proxy-container-puppet.yaml index 60af32cd76..61fa568972 100644 --- a/deployment/swift/swift-proxy-container-puppet.yaml +++ b/deployment/swift/swift-proxy-container-puppet.yaml @@ -54,6 +54,10 @@ parameters: default: 60 description: Timeout for requests going from swift-proxy to swift a/c/o services. type: number + SwiftProxyRecoverableNodeTimeout: + default: 30 + description: Timeout for GET/HEAD requests going from swift-proxy to swift a/c/o services. + type: number SwiftWorkers: default: 0 description: Number of workers for Swift service. @@ -162,6 +166,7 @@ outputs: swift::proxy::authtoken::region_name: {get_param: KeystoneRegion} swift::proxy::s3token::www_authenticate_uri: {get_param: [EndpointMap, KeystoneV3Internal, uri]} swift::proxy::node_timeout: {get_param: SwiftProxyNodeTimeout} + swift::proxy::recoverable_node_timeout: {get_param: SwiftProxyRecoverableNodeTimeout} - if: - swift_workers_zero diff --git a/releasenotes/notes/swift-proxy-recoverable-node-timeout-1fcd7a83f983e61b.yaml b/releasenotes/notes/swift-proxy-recoverable-node-timeout-1fcd7a83f983e61b.yaml new file mode 100644 index 0000000000..fcab05e10f --- /dev/null +++ b/releasenotes/notes/swift-proxy-recoverable-node-timeout-1fcd7a83f983e61b.yaml @@ -0,0 +1,11 @@ +--- +fixes: + - | + Decrease Swift proxy timeouts for GET/HEAD requests using a new parameter + named SwiftProxyRecoverableNodeTimeout. The default node timeout is 10 + seconds in Swift, however this has been set to 60 seconds in TripleO in + case there are slow nodes. However, this affects all requests - GET, HEAD + and PUT. GET/HEAD requests are typically much faster, thus it makes sense + to use a lower timeout to recover earlier from node failures. This will + increase stability, because the proxy can select another backend node to + retry the request.