ansible - Ansible 符号链接任务角色失败
问题描述
我是 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
我说“已更改”属性是一个布尔值,指示任务是否必须进行更改。
但是,json 的 invocation:module_args 元素中有很多空参数
这是否意味着这些值真的是“null”或者它们被设置为默认值?
我查看了 ansible 文档,但不确定 invocation:module_args 空值是否代表尝试创建符号链接的结果,即执行任务的空输入或输出。
我认为一些空值是默认值,但对于我的 ansible 错误日志中返回的 json 与实际“链接时出错:[Errno 13] 权限被拒绝”之间可能存在的关系,我将不胜感激。
感谢大家期待的帮助。
解决方案
我认为,是 /etc 的权限。所以可能你需要添加选项:
become: true
到你的任务。
推荐阅读
- regex - VBA中所有匹配项的RegEx数组/列表/集合
- javascript - 强制输入数字为科学计数法
- dialogflow-es - Dialogflow - 强制将 [Date][Number] 格式检测为日期和时间
- terraform - 如何从 terraform 中的不同文件导入数据源?
- java - 使用 launch4j 工具时 jfoenix lib 出错
- algorithm - 按组和日期对对象进行排序,并仅保留每个组中的最新对象
- c# - Galactic.ActiveDirectory 在 ASP MVC 中不起作用
- react-native - 如何仅使用 json 数据在本机反应中创建 UI?
- scala - 使用 Scala3 宏构建动态表达式
- ibm-cloud - 如何检查 IBM Text to Speech API 中的字符使用情况?