我不熟悉ansible,并执行以下ansible任务:
- name: Create symbolic links
file:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ jboss_usr }}"
group: "{{ jboss_grp }}"
state: link
with_items:
- { src: "/apps/etc/jboss", dest: "/etc/jboss" }
- { src: "/apps/var/log/jboss", dest: "/var/log/jboss" }
我收到以下错误:
2018-12-21 21:27:23,469 p=15185 u=ex_sam | failed: [hostname.x] (item={u'dest': u'/etc/jboss', u'src': u'/apps/etc/jboss'}) => {
"changed": false,
"invocation": {
"module_args": {
"attributes": null,
"backup": null,
"content": null,
"delimiter": null,
"dest": "/etc/jboss",
"diff_peek": null,
"directory_mode": null,
"follow": true,
"force": true,
"group": "jboss",
"mode": null,
"original_basename": null,
"owner": "jboss",
"path": "/etc/jboss",
"recurse": false,
"regexp": null,
"remote_src": null,
"selevel": null,
"serole": null,
"setype": null,
"seuser": null,
"src": "/apps/etc/jboss",
"state": "link",
"unsafe_writes": null,
"validate": null
}
},
"item": {
"dest": "/etc/jboss-as",
"src": "/apps/etc/jboss"
},
"msg": "Error while linking: [Errno 13] Permission denied",
"path": "/etc/jboss-as",
"state": "absent"
}
我试图找出为什么创建符号链接失败的原因。
我阅读以下内容:
https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#id6
我说“ changed”属性是一个布尔值,指示任务是否必须进行更改。
但是,json的invocation:module_args元素中有很多空参数
这是否意味着这些值确实为“ null”或将其设置为默认值?
我查看了Ansible文档,但不确定invocation:module_args空值是否表示尝试创建符号链接的结果,即是否为执行任务的空输入或输出。
我认为某些空值是默认值,但将对您在ansible错误日志中返回的json与实际的“链接时出错:[Errno 13]权限被拒绝”之间的可能关系表示感谢。
感谢您对我们的期望。
答案 0 :(得分:0)
我认为是/ etc的权限。所以可能您需要添加以下选项:
become: true
完成您的任务。