]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/ohai/resources/plugin.rb
ohai: use standard plugin path
[chef.git] / cookbooks / ohai / resources / plugin.rb
index 9367a4d831cfaacd61a4052736627bdb6c0f7a9c..7a78a8806c28c605fb22268cb05e5f228cc619ad 100644 (file)
 # limitations under the License.
 #
 
 # limitations under the License.
 #
 
+unified_mode true
+
 default_action :create
 
 property :plugin, :kind_of => String, :name_property => true
 default_action :create
 
 property :plugin, :kind_of => String, :name_property => true
-property :template, :kind_of => String, :required => true
+property :template, :kind_of => String, :required => [:create]
 
 action :create do
   ohai new_resource.plugin do
     action :nothing
   end
 
 
 action :create do
   ohai new_resource.plugin do
     action :nothing
   end
 
+  directory "/etc/chef/ohai/plugins" do
+    owner "root"
+    group "root"
+    mode "755"
+    recursive true
+  end
+
+  # FIXME: Cleanup of plugins in the old location
+  declare_resource :file, plugin_old_path do
+    action :delete
+    notifies :reload, "ohai[#{new_resource.plugin}]"
+  end
+
   declare_resource :template, plugin_path do
     source new_resource.template
     owner "root"
     group "root"
   declare_resource :template, plugin_path do
     source new_resource.template
     owner "root"
     group "root"
-    mode 0o644
+    mode "644"
     notifies :reload, "ohai[#{new_resource.plugin}]"
   end
 end
     notifies :reload, "ohai[#{new_resource.plugin}]"
   end
 end
@@ -43,7 +58,11 @@ action :delete do
 end
 
 action_class do
 end
 
 action_class do
-  def plugin_path
+  def plugin_old_path
     "/etc/chef/ohai/#{new_resource.plugin}.rb"
   end
     "/etc/chef/ohai/#{new_resource.plugin}.rb"
   end
+
+  def plugin_path
+    "/etc/chef/ohai/plugins/#{new_resource.plugin}.rb"
+  end
 end
 end