1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#
# Configure swift slo.
#
# == Examples
#
# include swift::proxy::slo
#
# == Parameters
#
# [*max_manifest_segments*]
# (Optional) Max manifest segments.
# Defaults to $facts['os_service_default'].
#
# [*max_manifest_size*]
# (Optional) Max manifest size.
# Defaults to $facts['os_service_default'].
#
# [*rate_limit_under_size*]
# (Optional) Rate limiting applies only to segments smaller than this size.
# Defaults to $facts['os_service_default'].
#
# [*rate_limit_after_segment*]
# (Optional) Start rate-limiting SLO segment serving after the Nth segment of
# a segmented object.
# Defaults to $facts['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 $facts['os_service_default'].
#
# [*max_get_time*]
# (Optional) Time limit on GET requests (seconds).
# Defaults to $facts['os_service_default'].
#
# [*concurrency*]
# (Optional) Limit how many subrequests may be executed concurrently.
# Defaults to $facts['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 $facts['os_service_default'].
#
# [*yield_frequency*]
# (Optional) Frequency, in seconds, to yield whitespace ahead of the final
# response.
# Defaults to $facts['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 $facts['os_service_default'].
#
# == Authors
#
# Xingchao Yu yuxcer@gmail.com
#
# == Copyright
#
# Copyright 2014 UnitedStack licensing@unitedstack.com
#
class swift::proxy::slo (
$max_manifest_segments = $facts['os_service_default'],
$max_manifest_size = $facts['os_service_default'],
$rate_limit_under_size = $facts['os_service_default'],
$rate_limit_after_segment = $facts['os_service_default'],
$rate_limit_segments_per_sec = $facts['os_service_default'],
$max_get_time = $facts['os_service_default'],
$concurrency = $facts['os_service_default'],
$delete_concurrency = $facts['os_service_default'],
$yield_frequency = $facts['os_service_default'],
$allow_async_delete = $facts['os_service_default'],
) {
include swift::deps
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;
}
}
|