Reputation: 1242
I can't seem to get chef to create a symlink between two directories. I want to create a symlink between two different directories. (/var/log/nginx
to /data/logs/nginx
).
directory node[:nginx][:log_dir] do
owner 'root'
mode 00777
action :create
end
directory node[:nginx][:integration][:log_dir] do
owner 'root'
mode 00777
action :create
end
link node[:nginx][:integration][:log_dir] do
to node[:nginx][:log_dir]
end
I get the following error
Errno::EISDIR
Is a directory - var/log/nginx
link("var/log/nginx") do
provider Chef::Provider::Link
action :create
retries 0
retry_delay 2
guard_interpreter :default
to "/data/logs/nginx/"
link_type :symbolic
target_file "var/log/nginx"
cookbook_name :nginx_integration
recipe_name "default"
end
Upvotes: 3
Views: 5473
Reputation: 37630
You must not create node[:nginx][:integration][:log_dir]
as a directory, because then it can't be a symlink.
Just remove the declaration of directory[#{node[:nginx][:integration][:log_dir]}]
.
Upvotes: 5