108 lines
3.6 KiB
Puppet
108 lines
3.6 KiB
Puppet
#
|
|
# Configure swift slo.
|
|
#
|
|
# == Examples
|
|
#
|
|
# include swift::proxy::slo
|
|
#
|
|
# == Parameters
|
|
#
|
|
# [*max_manifest_segments*]
|
|
# (Optional) Max manifest segments.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*max_manifest_size*]
|
|
# (Optional) Max manifest size.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*rate_limit_under_size*]
|
|
# (Optional) Rate limiting applies only to segments smaller than this size.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*rate_limit_after_segment*]
|
|
# (Optional) Start rate-limiting SLO segment serving after the Nth segment of
|
|
# a segmented object.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*rate_limit_segments_per_sec*]
|
|
# (Optional) Once segment rate-limiting kicks in for an object, limit segments
|
|
# served to N per second. 0 means no rate-limiting.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*max_get_time*]
|
|
# (Optional) Time limit on GET requests (seconds).
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*concurrency*]
|
|
# (Optional) Limit how many subrequests may be executed concurrently.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*delete_concurrency*]
|
|
# (Optional) Limit how many delete subrequests may be executed concurrently.
|
|
# This may be used to separately tune validation and delete concurrency
|
|
# values.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*yield_frequency*]
|
|
# (Optional) Frequency, in seconds, to yield whitespace ahead of the final
|
|
# response.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# [*allow_async_delete*]
|
|
# (Optional) Allow clients to request the object-expirer handle the deletion
|
|
# of segments using query params like `?multipart-manifest=delete&async=on`.
|
|
# Defaults to $::os_service_default.
|
|
#
|
|
# DEPRECATED PARAMETERS
|
|
#
|
|
# [*min_segment_size*]
|
|
# (Optional) minimal segment size
|
|
# Defaults to undef.
|
|
#
|
|
# == Authors
|
|
#
|
|
# Xingchao Yu yuxcer@gmail.com
|
|
#
|
|
# == Copyright
|
|
#
|
|
# Copyright 2014 UnitedStack licensing@unitedstack.com
|
|
#
|
|
class swift::proxy::slo (
|
|
$max_manifest_segments = $::os_service_default,
|
|
$max_manifest_size = $::os_service_default,
|
|
$rate_limit_under_size = $::os_service_default,
|
|
$rate_limit_after_segment = $::os_service_default,
|
|
$rate_limit_segments_per_sec = $::os_service_default,
|
|
$max_get_time = $::os_service_default,
|
|
$concurrency = $::os_service_default,
|
|
$delete_concurrency = $::os_service_default,
|
|
$yield_frequency = $::os_service_default,
|
|
$allow_async_delete = $::os_service_default,
|
|
# DEPRECATED PARAMETERS
|
|
$min_segment_size = undef,
|
|
) {
|
|
|
|
include swift::deps
|
|
|
|
if $min_segment_size != undef {
|
|
warning('The swift::proxy::slo::min_segment_size parameter is deprecated and has no effect.')
|
|
}
|
|
swift_proxy_config {
|
|
'filter:slo/min_segment_size': ensure => absent;
|
|
}
|
|
|
|
swift_proxy_config {
|
|
'filter:slo/use': value => 'egg:swift#slo';
|
|
'filter:slo/max_manifest_segments': value => $max_manifest_segments;
|
|
'filter:slo/max_manifest_size': value => $max_manifest_size;
|
|
'filter:slo/rate_limit_under_size': value => $rate_limit_under_size;
|
|
'filter:slo/rate_limit_after_segment': value => $rate_limit_after_segment;
|
|
'filter:slo/rate_limit_segments_per_sec': value => $rate_limit_segments_per_sec;
|
|
'filter:slo/max_get_time': value => $max_get_time;
|
|
'filter:slo/concurrency': value => $concurrency;
|
|
'filter:slo/delete_concurrency': value => $delete_concurrency;
|
|
'filter:slo/yield_frequency': value => $yield_frequency;
|
|
'filter:slo/allow_async_delete': value => $allow_async_delete;
|
|
}
|
|
}
|