update radosgw recipe
- Create /etc/ceph/ dir - Create/Update ceph.conf with radosgw client - Support upstart and init - Create radosgw client keyring Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
This commit is contained in:
parent
58f5c83b82
commit
79566ef8ce
@ -22,3 +22,9 @@ default["ceph"]["radosgw"]["rgw_addr"] = "*:80"
|
||||
default["ceph"]["radosgw"]["rgw_port"] = false
|
||||
default["ceph"]["radosgw"]["webserver_companion"] = "apache2" #can be false
|
||||
default['ceph']["radosgw"]['use_apache_fork'] = true
|
||||
case node['platform']
|
||||
when 'ubuntu'
|
||||
default["ceph"]["radosgw"]["init_style"] = "upstart"
|
||||
else
|
||||
default["ceph"]["radosgw"]["init_style"] = "sysvinit"
|
||||
end
|
||||
|
@ -41,12 +41,48 @@ packages.each do |pkg|
|
||||
end
|
||||
end
|
||||
|
||||
service "radosgw" do
|
||||
service_name "radosgw"
|
||||
supports :restart => true
|
||||
action[:enable,:start]
|
||||
end
|
||||
include_recipe "ceph::conf"
|
||||
|
||||
if node["ceph"]["radosgw"]["webserver_companion"]
|
||||
include_recipe "ceph::radosgw_#{node["ceph"]["radosgw"]["webserver_companion"]}"
|
||||
unless File.exists?("/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}/done")
|
||||
if node["ceph"]["radosgw"]["webserver_companion"]
|
||||
include_recipe "ceph::radosgw_#{node["ceph"]["radosgw"]["webserver_companion"]}"
|
||||
end
|
||||
|
||||
directory "/etc/ceph" do
|
||||
owner "root"
|
||||
group "root"
|
||||
mode "0644"
|
||||
action :create
|
||||
end
|
||||
|
||||
ruby_block "create rados gateway client key" do
|
||||
block do
|
||||
keyring = %x[ ceph auth get-or-create client.radosgw.#{node['hostname']} osd 'allow rwx' mon 'allow r' --name mon. --key='#{node["ceph"]["monitor-secret"]}' ]
|
||||
keyfile = File.new("/etc/ceph/ceph.client.radosgw.#{node['hostname']}.keyring", "w")
|
||||
keyfile.puts(keyring)
|
||||
keyfile.close
|
||||
end
|
||||
end
|
||||
|
||||
file "/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}/done" do
|
||||
action :create
|
||||
end
|
||||
|
||||
service "radosgw" do
|
||||
case node["ceph"]["radosgw"]["init_style"]
|
||||
when "upstart"
|
||||
service_name "radosgw-all-starter"
|
||||
provider Chef::Provider::Service::Upstart
|
||||
else
|
||||
if node['platform'] == "debian"
|
||||
service_name "radosgw"
|
||||
else
|
||||
service_name "ceph-radosgw"
|
||||
end
|
||||
end
|
||||
supports :restart => true
|
||||
action [ :enable, :start ]
|
||||
end
|
||||
else
|
||||
Log.info("Rados Gateway already deployed")
|
||||
end
|
||||
|
2
templates/default/s3gw.fcgi.erb
Normal file
2
templates/default/s3gw.fcgi.erb
Normal file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
exec /usr/bin/radosgw -c /etc/ceph/ceph.conf -n <%= @ceph_rgw_client %>
|
Loading…
x
Reference in New Issue
Block a user