将以下厨师食谱的一部分转换为 Ansible
Convert part of the following chef recipe to Ansible
我正在尝试将以下厨师食谱转换为 Ansible。什么可以等同于它?..我熟悉 Ansible。创建三个目录是否正确?如 /usr/share/agentone/lib ; /usr/share/agentone/etc; /usr/share/agentone/bin 他们都开启了 0755 模式?
if node[:platform_family] == 'debian'
%w{lib etc bin}.each do |dir|
directory "/usr/share/agentone/#{dir}" do
mode '0755'
owner 'root'
group 'root'
action :create
recursive true
end
end
directory '/var/log/agentone'
directory 'var/run/agentone'
link '/usr/share/agentone/logs' do
to '/var/log/agentone'
end
template '/etc/init.d/agentone' do
owner 'root'
group 'root'
mode '750'
source 'agentone.init.erb'
variables(
:version => node[:base][:agent][:agent_artifact][:version]
)
end
end
用 Ansible 编写的最佳方式是什么?
这个的 ansible 版本是这样的:
- name: create dirs
file: path=/usr/share/agentone/{{ item }}
state=directory
owner=root
group=root
mode=0755
recurse=true
with_items:
- lib
- etc
- bin
when: ansible_distribution == 'Debian'
编辑:关于您添加的附加代码:
- name: symlink /usr/share/agentone/logs
file: path=/usr/share/agentone/logs
src=/var/log/agentone
state=link
- name: template /etc/init.d/agentone
template: src=agentone.init.erb
dest=/etc/init.d/agentone
owner=root
group=root
mode=0750
关于模板任务中使用的变量,只需将它们添加到您的库存文件、vars 文件或其他任何地方Ansible variables can be defined。
我正在尝试将以下厨师食谱转换为 Ansible。什么可以等同于它?..我熟悉 Ansible。创建三个目录是否正确?如 /usr/share/agentone/lib ; /usr/share/agentone/etc; /usr/share/agentone/bin 他们都开启了 0755 模式?
if node[:platform_family] == 'debian'
%w{lib etc bin}.each do |dir|
directory "/usr/share/agentone/#{dir}" do
mode '0755'
owner 'root'
group 'root'
action :create
recursive true
end
end
directory '/var/log/agentone'
directory 'var/run/agentone'
link '/usr/share/agentone/logs' do
to '/var/log/agentone'
end
template '/etc/init.d/agentone' do
owner 'root'
group 'root'
mode '750'
source 'agentone.init.erb'
variables(
:version => node[:base][:agent][:agent_artifact][:version]
)
end
end
用 Ansible 编写的最佳方式是什么?
这个的 ansible 版本是这样的:
- name: create dirs
file: path=/usr/share/agentone/{{ item }}
state=directory
owner=root
group=root
mode=0755
recurse=true
with_items:
- lib
- etc
- bin
when: ansible_distribution == 'Debian'
编辑:关于您添加的附加代码:
- name: symlink /usr/share/agentone/logs
file: path=/usr/share/agentone/logs
src=/var/log/agentone
state=link
- name: template /etc/init.d/agentone
template: src=agentone.init.erb
dest=/etc/init.d/agentone
owner=root
group=root
mode=0750
关于模板任务中使用的变量,只需将它们添加到您的库存文件、vars 文件或其他任何地方Ansible variables can be defined。