]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-cookbooks.git/commitdiff
The 'done' file is only needed for upstart-based services.
authorJiří Suchomel <jsuchome@suse.cz>
Wed, 24 Sep 2014 14:43:57 +0000 (16:43 +0200)
committerJiří Suchomel <jsuchome@suse.cz>
Thu, 25 Sep 2014 08:02:57 +0000 (10:02 +0200)
And chef recipe should be able to be run again even after configuration.

recipes/radosgw.rb

index ee9b11a7ab97d2e576ea8d9dd770830270596a5d..0a5bb0df60f8b0f83492493089bc57d9feb01342 100644 (file)
@@ -42,42 +42,41 @@ directory '/var/run/ceph-radosgw' do
   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']}"
-  end
+if node['ceph']['radosgw']['webserver_companion']
+  include_recipe "ceph::radosgw_#{node['ceph']['radosgw']['webserver_companion']}"
+end
 
-  ceph_client 'radosgw' do
-    caps('mon' => 'allow rw', 'osd' => 'allow rwx')
-    owner 'root'
-    group node['apache']['group']
-    mode 0640
-  end
+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
-    recursive true
-  end
+directory "/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}" do
+  recursive true
+  only_if { node['platform'] == 'ubuntu' }
+end
 
-  file "/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}/done" do
-    action :create
-  end
+# needed by https://github.com/ceph/ceph/blob/master/src/upstart/radosgw-all-starter.conf
+file "/var/lib/ceph/radosgw/ceph-radosgw.#{node['hostname']}/done" do
+  action :create
+  only_if { node['platform'] == 'ubuntu' }
+end
 
-  service 'radosgw' do
-    case node['ceph']['radosgw']['init_style']
-    when 'upstart'
-      service_name 'radosgw-all-starter'
-      provider Chef::Provider::Service::Upstart
+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
-      if node['platform'] == 'debian'
-        service_name 'radosgw'
-      else
-        service_name 'ceph-radosgw'
-      end
+      service_name 'ceph-radosgw'
     end
-    supports :restart => true
-    action [:enable, :start]
-    subscribes :restart, 'template[/etc/ceph/ceph.conf]'
   end
-else
-  Log.info('Rados Gateway already deployed')
+  supports :restart => true
+  action [:enable, :start]
+  subscribes :restart, 'template[/etc/ceph/ceph.conf]'
 end