diff --git a/deployment/puppet/ceph/manifests/init.pp b/deployment/puppet/ceph/manifests/init.pp index 962000b6be..9ada601e48 100644 --- a/deployment/puppet/ceph/manifests/init.pp +++ b/deployment/puppet/ceph/manifests/init.pp @@ -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'] } } diff --git a/deployment/puppet/ceph/manifests/keystone.pp b/deployment/puppet/ceph/manifests/keystone.pp index 12530fa5df..5935beac62 100644 --- a/deployment/puppet/ceph/manifests/keystone.pp +++ b/deployment/puppet/ceph/manifests/keystone.pp @@ -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", diff --git a/deployment/puppet/ceph/manifests/nova_compute.pp b/deployment/puppet/ceph/manifests/nova_compute.pp index 48705b1be5..36134edf18 100644 --- a/deployment/puppet/ceph/manifests/nova_compute.pp +++ b/deployment/puppet/ceph/manifests/nova_compute.pp @@ -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, } } diff --git a/deployment/puppet/ceph/manifests/radosgw.pp b/deployment/puppet/ceph/manifests/radosgw.pp index 4d38e7f4e0..fd23d8110a 100644 --- a/deployment/puppet/ceph/manifests/radosgw.pp +++ b/deployment/puppet/ceph/manifests/radosgw.pp @@ -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, } }