Increase kernel.pid_max value for ceph-osd nodes

To meet Ceph requirements and eliminate accidental cascade
OSD node failures this commit increases kernel.pid_max
parameter during deploy ceph-osd nodes. Also this commit
contain some puppet-lint cleanups and validations for this
module.

Change-Id: I70a64ff7b85229bf0760be266302d9b32039989a
(cherry-picked from commit 2cec77da86)
Closes-Bug: #1536271
Closes-Bug: #1537084
This commit is contained in:
Maksim Malchuk 2016-01-21 20:28:45 +03:00
parent 5724477c83
commit d4dbeb56ca
4 changed files with 18 additions and 7 deletions

View File

@ -3,8 +3,8 @@
class ceph (
# General settings
$mon_hosts,
$mon_ip_addresses,
$mon_hosts = undef,
$mon_ip_addresses = undef,
$cluster_node_address = $::ipaddress, # This should be the cluster service address
$primary_mon = $::hostname, # This should be the first controller
$mon_addr = $::ipaddress, # This needs to be replaced with the address we want to bind the mon to (if this is a mon)
@ -94,8 +94,12 @@ class ceph (
cwd => '/root',
}
# the regex includes all roles that require ceph.conf
if roles_include(['primary-controller', 'controller', 'ceph-mon', 'ceph-osd', 'compute', 'cinder']) {
# the regex above includes all roles that require ceph.conf
validate_array($mon_hosts)
validate_array($mon_ip_addresses)
include ceph::ssh
include ceph::params
include ceph::conf
@ -104,8 +108,8 @@ class ceph (
if roles_include(['primary-controller', 'controller', 'ceph-mon', 'ceph-osd']) {
service { 'ceph':
name => $ceph::params::service_name,
ensure => 'running',
name => $ceph::params::service_name,
enable => true,
require => Class['ceph::conf']
}
@ -137,6 +141,13 @@ class ceph (
include ceph::osds
Class['ceph::conf'] -> Class['ceph::osds']
Ceph_conf <||> ~> Service['ceph']
# set the recommended value according: http://tracker.ceph.com/issues/10988
sysctl::value { 'kernel.pid_max':
value => '4194303',
}
Sysctl::Value <| |> -> Service['ceph']
}
}

View File

@ -13,7 +13,7 @@ class ceph::keystone (
description => 'Openstack Object-Store Service',
}
keystone_endpoint {"$region/swift":
keystone_endpoint {"${region}/swift":
ensure => present,
public_url => "${pub_protocol}://${pub_ip}:${swift_endpoint_port}/swift/v1",
admin_url => "http://${adm_ip}:${swift_endpoint_port}/swift/v1",

View File

@ -11,8 +11,8 @@ class ceph::nova_compute (
if !defined(Service['libvirt'] ) {
service { 'libvirt':
name => $::ceph::params::libvirt_service_name,
ensure => 'running',
name => $::ceph::params::libvirt_service_name,
}
}

View File

@ -55,8 +55,8 @@ class ceph::radosgw (
# check out httpd package/service is defined
if !defined(Package['httpd']) {
package { 'httpd':
name => $::ceph::params::package_httpd,
ensure => 'installed',
name => $::ceph::params::package_httpd,
}
}