I use Puppet for my complex servers, but my Ceph machines are lightweight, and Puppet, for all its virtues does require a Puppet agent to be installed on each target and have a corresponding node manifest. For the Ceph machines I just use Ansible. Since all my /etc/ceph files are identical on all machines, I can define a set of hosts to Ansible as belonging to a "ceph" group, and add/remove as needed, then use Ansible to update them /en masse/. Ansible requires no additional software on its targets to act as agents, as it simply directs operations via ssh. I don't have special /etc/ceph files for my rgw hosts, as since at least Octopus on, the pertinent information is in Ceph's configuration database and the actual contents of /etc/ceph are minimal. Ansible simply clones its master copy of /etc/ceph to each ceph target. On 6/10/25 07:15, Albert Shih wrote:
Le 10/06/2025 à 10:02:40+0200, Boris a écrit Him
you can use puppet to set ceph conf commands. # Disable RadosGW access logs exec { 'set-debug_rgw_access': command => 'ceph config set client.rgw debug_rgw_access 0', unless => 'ceph config get client.rgw debug_rgw_access | grep -w 0', path => ['/usr/bin', '/bin'], require => Package['ceph-common'], } Ok. I already do that for other thing. I just didn't know if I can do that (vs put everything in ceph.conf).
I also managed the ceph.conf a long time with puppet. It is just an ini file.
If you use the ceph orchestrator, you can define most, if not all, parameters in the service definition: https://docs.ceph.com/en/quincy/cephadm/services/rgw/ OK good to know.
Another thing, that comes to my mind is to generate a dedicated config for the rgw daemon and start the rgw daemon with the dedicated ceph config file. Maybe you can also set CLI parameter, but I never looked into that. I have big preference for the ceph config set method. So I would try that.
Thanks.
Regards