# {{ ansible_managed }} [global] {% if cephx %} auth cluster required = cephx auth service required = cephx auth client required = cephx cephx require signatures = {{ cephx_require_signatures }} # Kernel RBD does NOT support signatures! cephx cluster require signatures = {{ cephx_cluster_require_signatures }} cephx service require signatures = {{ cephx_service_require_signatures }} {% else %} auth cluster required = none auth service required = none auth client required = none auth supported = none {% endif %} fsid = {{ fsid }} osd pool default pg num = {{ pool_default_pg_num }} osd pool default pgp num = {{ pool_default_pgp_num }} osd pool default size = {{ pool_default_size }} osd pool default min size = {{ pool_default_min_size }} osd pool default crush rule = {{ pool_default_crush_rule }} {% if common_single_host_mode is defined %} osd crush chooseleaf type = 0 {% endif %} {% if disable_in_memory_logs %} # Disable in-memory logs debug_lockdep = 0/0 debug_context = 0/0 debug_crush = 0/0 debug_buffer = 0/0 debug_timer = 0/0 debug_filer = 0/0 debug_objecter = 0/0 debug_rados = 0/0 debug_rbd = 0/0 debug_journaler = 0/0 debug_objectcatcher = 0/0 debug_client = 0/0 debug_osd = 0/0 debug_optracker = 0/0 debug_objclass = 0/0 debug_filestore = 0/0 debug_journal = 0/0 debug_ms = 0/0 debug_monc = 0/0 debug_tp = 0/0 debug_auth = 0/0 debug_finisher = 0/0 debug_heartbeatmap = 0/0 debug_perfcounter = 0/0 debug_asok = 0/0 debug_throttle = 0/0 debug_mon = 0/0 debug_paxos = 0/0 debug_rgw = 0/0 {% endif %} [client] rbd cache = true rbd cache writethrough until flush = true admin socket = /var/run/ceph/$cluster-$type.$id.$pid.$cctid.asok [mon] mon osd down out interval = {{ mon_osd_down_out_interval }} mon osd min down reporters = {{ mon_osd_min_down_reporters }} {% for host in groups['mons'] %} {% if hostvars[host]['ansible_hostname'] is defined %} [mon.{{ hostvars[host]['ansible_hostname'] }}] host = {{ hostvars[host]['ansible_hostname'] }} mon addr = {{ hostvars[host]['ansible_' + monitor_interface]['ipv4']['address'] }} {% endif %} {% endfor %} [osd] osd mkfs type = {{ osd_mkfs_type }} osd mkfs options xfs = {{ osd_mkfs_options_xfs }} osd mount options xfs = {{ osd_mount_options_xfs }} osd journal size = {{ journal_size }} {% if cluster_network is defined %} cluster_network = {{ cluster_network }} {% endif %} {% if public_network is defined %} public_network = {{ public_network }} {% endif %} osd mon heartbeat interval = {{ osd_mon_heartbeat_interval }} # Performance tuning filestore merge threshold = {{ filestore_merge_threshold }} filestore split multiple = {{ filestore_split_multiple }} osd op threads = {{ osd_op_threads }} filestore op threads = {{ filestore_op_threads }} filestore max sync interval = {{ filestore_max_sync_interval }} osd max scrubs = {{ osd_max_scrubs }} # Recovery tuning osd recovery max active = {{ osd_recovery_max_active }} osd max backfills = {{ osd_max_backfills }} osd recovery op priority = {{ osd_recovery_op_priority }} osd recovery max chunk = {{ osd_recovery_max_chunk }} osd recovery threads = {{ osd_recovery_threads }} osd objectstore = {{ osd_objectstore }} osd crush update on start = {{ osd_crush_update_on_start }} {% if mds %} [mds] {% for host in groups['mdss'] %} {% if hostvars[host]['ansible_hostname'] is defined %} [mds.{{ hostvars[host]['ansible_hostname'] }}] host = {{ hostvars[host]['ansible_hostname'] }} {% endif %} {% endfor %} {% endif %} {% if radosgw %} {% for host in groups['rgws'] %} {% if hostvars[host]['ansible_hostname'] is defined %} [client.radosgw.gateway] {% if radosgw_dns_name is defined %} rgw dns name = {{ radosgw_dns_name }} {% endif %} host = {{ hostvars[host]['ansible_hostname'] }} keyring = /etc/ceph/keyring.radosgw.gateway rgw socket path = /tmp/radosgw.sock log file = /var/log/ceph/radosgw.log rgw data = /var/lib/ceph/radosgw/{{ hostvars[host]['ansible_hostname'] }} rgw print continue = false {% endif %} {% endfor %} {% endif %}