Add swift::proxy::slo class
swift::proxy::slo class is used to configure proxy slo middleware. Change-Id: Ic751d2e89de39478b55e3323ddf220610b1b7541 Implements: blueprint icehouse-proxyserver-middlewares
This commit is contained in:
parent
eefaf9ca54
commit
69f677de0b
59
manifests/proxy/slo.pp
Normal file
59
manifests/proxy/slo.pp
Normal file
@ -0,0 +1,59 @@
|
||||
#
|
||||
# Configure swift slo.
|
||||
#
|
||||
# == Examples
|
||||
#
|
||||
# include swift::proxy::slo
|
||||
#
|
||||
# == Parameters
|
||||
#
|
||||
# [*max_manifest_segments*]
|
||||
# Max manifest segments.
|
||||
# Default to 1000.
|
||||
#
|
||||
# [*max_manifest_size*]
|
||||
# Max manifest size.
|
||||
# Default to 2097152.
|
||||
#
|
||||
# [*min_segment_size*]
|
||||
# minimal segment size
|
||||
# Default to 1048576.
|
||||
#
|
||||
# [*rate_limit_after_segment*]
|
||||
# Start rate-limiting SLO segment serving after the Nth segment of a segmented object.
|
||||
# Default to 10.
|
||||
#
|
||||
# [*rate_limit_segments_per_sec*]
|
||||
# Once segment rate-limiting kicks in for an object, limit segments served to N per second.
|
||||
# 0 means no rate-limiting.
|
||||
# Default to 0.
|
||||
#
|
||||
# [*max_get_time*]
|
||||
# Time limit on GET requests (seconds).
|
||||
# Default to 86400.
|
||||
#
|
||||
# == Authors
|
||||
#
|
||||
# Xingchao Yu yuxcer@gmail.com
|
||||
#
|
||||
# == Copyright
|
||||
#
|
||||
# Copyright 2014 UnitedStack licensing@unitedstack.com
|
||||
#
|
||||
|
||||
class swift::proxy::slo (
|
||||
$max_manifest_segments = '1000',
|
||||
$max_manifest_size = '2097152',
|
||||
$min_segment_size = '1048576',
|
||||
$rate_limit_after_segment = '10',
|
||||
$rate_limit_segments_per_sec = '0',
|
||||
$max_get_time = '86400'
|
||||
) {
|
||||
|
||||
concat::fragment { 'swift_slo':
|
||||
target => '/etc/swift/proxy-server.conf',
|
||||
content => template('swift/proxy/slo.conf.erb'),
|
||||
order => '35',
|
||||
}
|
||||
|
||||
}
|
60
spec/classes/swift_proxy_slo_spec.rb
Normal file
60
spec/classes/swift_proxy_slo_spec.rb
Normal file
@ -0,0 +1,60 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'swift::proxy::slo' do
|
||||
|
||||
let :facts do
|
||||
{
|
||||
:concat_basedir => '/var/lib/puppet/concat'
|
||||
}
|
||||
end
|
||||
|
||||
let :pre_condition do
|
||||
'class { "concat::setup": }
|
||||
concat { "/etc/swift/proxy-server.conf": }'
|
||||
end
|
||||
|
||||
let :fragment_file do
|
||||
"/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/35_swift_slo"
|
||||
end
|
||||
|
||||
describe "when using default parameters" do
|
||||
it 'should build the fragment with correct parameters' do
|
||||
verify_contents(subject, fragment_file,
|
||||
[
|
||||
'[filter:slo]',
|
||||
'use = egg:swift#slo',
|
||||
'max_manifest_segments = 1000',
|
||||
'max_manifest_size = 2097152',
|
||||
'min_segment_size = 1048576',
|
||||
'rate_limit_after_segment = 10',
|
||||
'rate_limit_segments_per_sec = 0',
|
||||
'max_get_time = 86400',
|
||||
]
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
describe "when overriding default parameters" do
|
||||
let :params do
|
||||
{
|
||||
:max_manifest_segments => '2000',
|
||||
:max_manifest_size => '500000',
|
||||
:rate_limit_after_segment => '30',
|
||||
:max_get_time => '6400',
|
||||
}
|
||||
end
|
||||
it 'should build the fragment with correct parameters' do
|
||||
verify_contents(subject, fragment_file,
|
||||
[
|
||||
'[filter:slo]',
|
||||
'use = egg:swift#slo',
|
||||
'max_manifest_segments = 2000',
|
||||
'max_manifest_size = 500000',
|
||||
'rate_limit_after_segment = 30',
|
||||
'max_get_time = 6400',
|
||||
]
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
8
templates/proxy/slo.conf.erb
Normal file
8
templates/proxy/slo.conf.erb
Normal file
@ -0,0 +1,8 @@
|
||||
[filter:slo]
|
||||
use = egg:swift#slo
|
||||
max_manifest_segments = <%= @max_manifest_segments %>
|
||||
max_manifest_size = <%= @max_manifest_size %>
|
||||
min_segment_size = <%= @min_segment_size %>
|
||||
rate_limit_after_segment = <%= @rate_limit_after_segment %>
|
||||
rate_limit_segments_per_sec = <%= @rate_limit_segments_per_sec %>
|
||||
max_get_time = <%= @max_get_time %>
|
Loading…
x
Reference in New Issue
Block a user