# [*keyring*] The location of the keyring retrieved by default
# Optional. Defaults to /etc/ceph/keyring.
#
# [*osd_journal_size*] The size of the journal file/device.
# Optional. Integer. Default provided by Ceph.
#
# [*osd_max_object_name_len*] The length of the objects name
# Optional. Integer. Default to undef
#
# [*osd_max_object_namespace_len*] The length of the objects namespace name
# Optional. Integer. Default to undef
#
# [*osd_pool_default_pg_num*] The default number of PGs per pool.
# Optional. Integer. Default provided by Ceph.
#
# [*osd_pool_default_pgp_num*] The default flags for new pools.
# Optional. Integer. Default provided by Ceph.
#
# [*osd_pool_default_size*] Number of replicas for objects in the pool
# Optional. Integer. Default provided by Ceph.
#
# [*osd_pool_default_min_size*] The default minimum num of replicas.
# Optional. Integer. Default provided by Ceph.
#
# [*osd_pool_default_crush_rule*] The default CRUSH ruleset to use
# when creating a pool.
# Optional. Integer. Default provided by Ceph.
#
# [*osd_crush_update_on_start*] The default OSDs behaviour on start when
# it comes to registering their location in the CRUSH map.
# Optional. Boolean. Defaults to undef.
#
# [*mon_osd_full_ratio*] Percentage of disk space used before
# an OSD considered full
# Optional. Integer e.g. 95, NOTE: ends in config as .95
# Default provided by Ceph.
#
# [*mon_osd_nearfull_ratio*] Percentage of disk space used before
# an OSD considered nearfull
# Optional. Float e.g. 90, NOTE: ends in config as .90
# Default provided by Ceph.
#
# [*mon_initial_members*] The IDs of initial MONs in the cluster during startup.
# Optional. String like e.g. 'a, b, c'.
#
# [*mon_host*] The fqdn of MONs in the cluster. They can also be declared
# individually through ceph::mon.
# Optional. String like e.g. 'a, b, c'.
#
# [*ms_bind_ipv6*] Enables Ceph daemons to bind to IPv6 addresses.
# Optional. Boolean. Default provided by Ceph.
#
# [*require_signatures*] If Ceph requires signatures on all
# message traffic (client<->cluster and between cluster daemons).
# Optional. Boolean. Default provided by Ceph.
#
# [*cluster_require_signatures*] If Ceph requires signatures on all
# message traffic between the cluster daemons.
# Optional. Boolean. Default provided by Ceph.
#
# [*service_require_signatures*] If Ceph requires signatures on all
# message traffic between clients and the cluster.
# Optional. Boolean. Default provided by Ceph.
#
# [*sign_messages*] If all ceph messages should be signed.
# Optional. Boolean. Default provided by Ceph.
#
# [*cluster_network*] The address of the cluster network.
# Optional. {cluster-network-ip/netmask}
#
# [*public_network*] The address of the public network.
# Optional. {public-network-ip/netmask}
#
# [*public_addr*] The address of the node (on public network.)
# Optional. {public-network-ip}
#
# [*osd_max_backfills*] The maximum number of backfills allowed to or from a single OSD.
# Optional. Default provided by Ceph
#
# [*osd_recovery_max_active*] The number of active recovery requests per OSD at one time.
# Optional. Default provided by Ceph
#
# [*osd_recovery_op_priority*] The priority set for recovery operations.
# Optional. Default provided by Ceph
#
# [*osd_recovery_max_single_start*] The maximum number of recovery operations that will be
# newly started per PG that the OSD is recovering.
# Optional. Default provided by Ceph
#
# [*osd_max_scrubs*] The maximum number of simultaneous scrub operations for a Ceph OSD Daemon.
# Optional. Default provided by Ceph
#
# [*osd_op_threads*] The number of threads to service Ceph OSD Daemon operations.
# Set to 0 to disable it.
# Optional. Default provided by Ceph
#
# DEPRECATED PARAMETERS
#
# [*set_osd_params*] disables setting osd params using this module by default as people
# calling ceph_config from in-house modules will get dup-declaration errors.
# Boolean. Default false.
#
classceph(
$fsid,
$ensure=present,
$authentication_type='cephx',
$keyring=undef,
$osd_journal_size=undef,
$osd_max_object_name_len=undef,
$osd_max_object_namespace_len=undef,
$osd_pool_default_pg_num=undef,
$osd_pool_default_pgp_num=undef,
$osd_pool_default_size=undef,
$osd_pool_default_min_size=undef,
$osd_pool_default_crush_rule=undef,
$osd_crush_update_on_start=undef,
$mon_osd_full_ratio=undef,
$mon_osd_nearfull_ratio=undef,
$mon_initial_members=undef,
$mon_host=undef,
$ms_bind_ipv6=undef,
$require_signatures=undef,
$cluster_require_signatures=undef,
$service_require_signatures=undef,
$sign_messages=undef,
$cluster_network=undef,
$public_network=undef,
$public_addr=undef,
$osd_max_backfills=undef,
$osd_recovery_max_active=undef,
$osd_recovery_op_priority=undef,
$osd_recovery_max_single_start=undef,
$osd_max_scrubs=undef,
$osd_op_threads=undef,
# DEPRECATED PARAMETERS
$set_osd_params=false,
){
include::ceph::params
if$set_osd_params{
warning('set_osd_params is deprecated. It is here to allow a transition to using this module to assign values and will be removed in a future release.')
}
package{$::ceph::params::packages:
ensure=>$ensure,
tag=>'ceph'
}
if$ensure!~/(absent|purged)/{
# Make sure ceph is installed before managing the configuration