File: slo.pp

package info (click to toggle)
puppet-module-swift 25.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,400 kB
  • sloc: ruby: 9,593; python: 38; sh: 10; makefile: 10
file content (92 lines) | stat: -rw-r--r-- 3,402 bytes parent folder | download
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;
  }
}