Emilien Macchi 4361f449c8 Renamse privatecloud to cloud
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
2014-01-14 13:43:00 -05:00

86 lines
2.4 KiB
Puppet

#
# Copyright (C) 2014 eNovance SAS <licensing@enovance.com>
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Swift tweaking
#
class cloud::object::tweaking {
file {'/etc/sysctl.d/swift-tuning.conf':
content => "
# disable TIME_WAIT.. wait..
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
# disable syn cookies
net.ipv4.tcp_syncookies = 0
# double amount of allowed conntrack
net.ipv4.netfilter.ip_conntrack_max = 524288
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 2
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 2
net.ipv4.ip_local_port_range = 1024 65000
## 10Gb Tuning
net.core.netdev_max_backlog = 300000
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 0
",
owner => 'root',
group => 'root',
}
exec{'update-etc-modules-with-ip_conntrack':
command => '/bin/echo ip_conntrack >> /etc/modules',
unless => '/bin/grep -qFx "ip_conntrack" /etc/modules',
}
# Load sysctl and module only the first time
exec{'load-ip_conntrack':
command => '/sbin/modprobe ip_conntrack',
unless => '/bin/grep -qFx "ip_conntrack" /etc/modules',
require => File['/etc/sysctl.d/swift-tuning.conf']
}
exec{'reload-sysctl-swift-tunning':
command => '/sbin/sysctl -p /etc/sysctl.d/swift-tuning.conf',
unless => '/bin/grep -qFx "ip_conntrack" /etc/modules',
require => File['/etc/sysctl.d/swift-tuning.conf']
}
file{'/var/log/swift':
ensure => directory,
owner => swift,
group => swift,
}
file{'/etc/logrotate.d/swift':
content => "
/var/log/swift/proxy.log /var/log/swift/proxy.error.log /var/log/swift/account-server.log /var/log/swift/account-server.error.log /var/log/swift/container-server.log /var/log/swift/container-server.error.log /var/log/swift/object-server.log /var/log/swift/object-server.error.log
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
endscript
}
"
}
}