From 0845115b52d355e4c81eca149c81afafabdfb698 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ji=C5=99=C3=AD=20Suchomel?= Date: Tue, 23 Sep 2014 16:55:16 +0200 Subject: [PATCH] Use special run and log directories for radosgw (not needed to be owned by root) Let radosgw restart on ceph.conf change. --- recipes/radosgw.rb | 23 +++++++++++++++++++++++ templates/default/ceph.conf.erb | 6 ++++-- templates/default/rgw.conf.erb | 2 +- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/recipes/radosgw.rb b/recipes/radosgw.rb index f533d18..ee9b11a 100644 --- a/recipes/radosgw.rb +++ b/recipes/radosgw.rb @@ -23,6 +23,25 @@ include_recipe 'ceph::_common' include_recipe 'ceph::radosgw_install' include_recipe 'ceph::conf' +directory '/var/log/radosgw' do + owner node['apache']['user'] + group node['apache']['group'] + mode '0755' + action :create +end + +file '/var/log/radosgw/radosgw.log' do + owner node['apache']['user'] + group node['apache']['group'] +end + +directory '/var/run/ceph-radosgw' do + owner node['apache']['user'] + group node['apache']['group'] + mode '0755' + action :create +end + if !::File.exist?("/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}/done") if node['ceph']['radosgw']['webserver_companion'] include_recipe "ceph::radosgw_#{node['ceph']['radosgw']['webserver_companion']}" @@ -30,6 +49,9 @@ if !::File.exist?("/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}/done") ceph_client 'radosgw' do caps('mon' => 'allow rw', 'osd' => 'allow rwx') + owner 'root' + group node['apache']['group'] + mode 0640 end directory "/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}" do @@ -54,6 +76,7 @@ if !::File.exist?("/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}/done") end supports :restart => true action [:enable, :start] + subscribes :restart, 'template[/etc/ceph/ceph.conf]' end else Log.info('Rados Gateway already deployed') diff --git a/templates/default/ceph.conf.erb b/templates/default/ceph.conf.erb index 1a1015c..d17fe32 100644 --- a/templates/default/ceph.conf.erb +++ b/templates/default/ceph.conf.erb @@ -36,9 +36,11 @@ <% if (@is_rgw) -%> [client.radosgw.<%= node['hostname'] %>] host = <%= node['hostname'] %> - rgw socket path = /var/run/ceph/radosgw.<%= node['hostname'] %> + rgw socket path = /var/run/ceph-radosgw/radosgw.<%= node['hostname'] %> + admin socket = /var/run/ceph-radosgw/ceph-client.radosgw.<%= node['hostname'] %>.asok + pid file = /var/run/ceph-radosgw/$name.pid keyring = /etc/ceph/ceph.client.radosgw.<%= node['hostname'] %>.keyring - log file = /var/log/ceph/radosgw.log + log file = /var/log/radosgw/radosgw.log <% if (! node['ceph']['config']['rgw'].nil?) -%> <% node['ceph']['config']['rgw'].sort.each do |k, v| %> <%= k %> = <%= v %> diff --git a/templates/default/rgw.conf.erb b/templates/default/rgw.conf.erb index 1f35880..e0b484a 100644 --- a/templates/default/rgw.conf.erb +++ b/templates/default/rgw.conf.erb @@ -1,7 +1,7 @@ <% if node['ceph']['radosgw']['rgw_port'] -%> FastCgiExternalServer <%= node['ceph']['radosgw']['path'] %>/s3gw.fcgi -host 127.0.0.1:<%= node['ceph']['radosgw']['rgw_port'] %> <% else -%> -FastCgiExternalServer <%= node['ceph']['radosgw']['path'] %>/s3gw.fcgi -socket /var/run/ceph/radosgw.<%= node['hostname'] %> +FastCgiExternalServer <%= node['ceph']['radosgw']['path'] %>/s3gw.fcgi -socket /var/run/ceph-radosgw/radosgw.<%= node['hostname'] %> <% end -%> LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" \"%{Host}i\"" proxy_combined -- 2.47.3