2d125487c3
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful
Bring the hand-maintained /etc/ceph/ceph.conf under Puppet on the prodnxsr ceph cluster (fsid de96a98f). The file is identified per host by role: k8s roles include profiles::ceph::osd only and get a [global] section; the incus node role also includes profiles::ceph::mds and additionally gets the [mds] + [mds.*] sections. - Add cluster topology as a single source of truth in common.yaml: cluster_public_ips (all 13 ceph host /32s), mon_initial_members, and the mds_instances map (two mds daemons per mon/mgr/mds host). - Render /etc/ceph/ceph.conf from that topology in the reworked client.conf.erb, preserving the live two-space indent and key order. - Gate the [mds] sections on render_mds_config, set true only in the incus node role hiera (the role that includes profiles::ceph::mds). - Drop the hard Package[ceph-common] dependency when the class does not manage the package (cephadm/profiles::packages deliver it on the k8s and incus hosts). - Enable manage_ceph_conf on the k8s and incus node roles. public_network is normalized to all 13 ceph host /32s on every host; this rewrites it on the mon/mgr/mds hosts (adding .1-.8) as the one intended content change. RGW hosts keep their profiles::ceph::conf variant and are untouched. Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
27 lines
1.0 KiB
Plaintext
27 lines
1.0 KiB
Plaintext
[global]
|
|
auth_client_required = <%= @auth_client_required %>
|
|
auth_cluster_required = <%= @auth_cluster_required %>
|
|
auth_service_required = <%= @auth_service_required %>
|
|
fsid = <%= @fsid %>
|
|
mon_allow_pool_delete = <%= @mon_allow_pool_delete %>
|
|
mon_initial_members = <%= @mon_initial_members.join(',') %>
|
|
mon_host = <%= @mons.join(',') %>
|
|
ms_bind_ipv4 = <%= @ms_bind_ipv4 %>
|
|
ms_bind_ipv6 = <%= @ms_bind_ipv6 %>
|
|
osd_crush_chooseleaf_type = <%= @osd_crush_chooseleaf_type %>
|
|
osd_pool_default_min_size = <%= @osd_pool_default_min_size %>
|
|
osd_pool_default_size = <%= @osd_pool_default_size %>
|
|
osd_pool_default_pg_num = <%= @osd_pool_default_pg_num %>
|
|
public_network = <%= @cluster_public_ips.map { |ip| "#{ip}/32" }.join(',') %>
|
|
<% if @render_mds_config -%>
|
|
[mds]
|
|
keyring = <%= @mds_common['keyring'] %>
|
|
mds_standby_replay = <%= @mds_common['mds_standby_replay'] %>
|
|
<% @mds_instances.sort.each do |host, count| -%>
|
|
<% (1..count).each do |instance| -%>
|
|
[mds.<%= host %>-<%= instance %>]
|
|
host = <%= host %>
|
|
<% end -%>
|
|
<% end -%>
|
|
<% end -%>
|