英文:
Running Ansible playbook from a file in Rundeck
问题
我正试图运行存储在我的本地驱动器中的Ansible playbook。我正在使用已安装了Ansible和Rundeck的wsl 2。
Playbook路径:/home/hannan/wslNodeRedProjects/ansible/myplaybook1.yml
在提供正确的playbook位置后,我收到以下错误:
错误!找不到playbook:/home/hannan/wslNodeRedProjects/ansible/myplaybook1.yml
失败:AnsibleNonZero:错误:Ansible执行返回非零代码。
我不确定为什么即使在指定正确位置后仍然出现错误。
我想知道是否我漏掉了什么,或者我是否需要提供其他选项,比如Ansible二进制文件目录路径。
英文:
I am trying to run Ansible playbook stored in my local drive. I am using wsl 2 which is where I have installed Ansible and Rundeck.
Playbook path: /home/hannan/wslNodeRedProjects/ansible/myplaybook1.yml
On providing the correct location of the playbook I get the following errors:
ERROR! the playbook: /home/hannan/wslNodeRedProjects/ansible/myplaybook1.yml could not be found
*Failed: AnsibleNonZero: ERROR: Ansible execution returned with non zero code.
*
I am not sure why I am getting an error even after specifying the correct location.
I wanted to know if I am missing anything or should I need to provide other options like Ansible binaries directory path as well.
答案1
得分: 2
这个错误可能表明,建立本地SSH连接以执行playbook的用户(默认为rundeck
)没有对完整playbook路径的可执行权限。
可以通过以下两种方式解决这个问题,一是使用具有正确可执行权限的用户,二是通过ACL授予特定用户可执行权限,如下所示:
$ setfacl -R -m user:rundeck:x /path/to/playbook/
setfacl
- 设置文件访问控制列表。-R, --recursive
- 递归地对所有文件和目录应用操作。-m, --modify
- 修改文件或目录的ACL。此操作的ACL条目必须包括权限。
有关更多信息,请参阅man setfacl
。
英文:
This error might indicate that the user establishing the local SSH connection to execute the playbook (default: rundeck
) doesn't have executable permissions to the full playbook path.
This could be resolved by either using a user with the right executable permissions, or by granting executable permissions to the specific user with ACL, like so:
$ setfacl -R -m user:rundeck:x /path/to/playbook/
setfacl
- set file access control lists.-R, --recursive
-
apply operations to all files and directories recursively.-m, --modify
-
modify the ACL of a file or directory. ACL entries for this operation must include permissions.
See man setfacl
for further reading.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论