我正在尝试包含一个包含任务的文件。但失败如下
错误!无法检索文件内容找不到或访问 Ansible控制器上的“ /roles/k8s/tasks/Get_volumes.yaml”。如果你 正在使用模块,并期望文件存在于远程计算机上,请参见 remote_src选项
下面是我的ansible脚本。由于我将仅测试几个任务,因此我在角色文件夹中包含了任务文件。我不确定是否由于角色文件夹而失败。但是我无法解决。
---
- hosts: localhost
vars:
local_kubectl: kubectl
local_array_api_url: https://Mystoragearray:5392/v1
array_username: admin
array_password: admin
tasks:
#- import_tasks: /roles/k8s/tasks/GetVolume_token.yaml
- include_tasks: /roles/k8s/tasks/Get_volumes.yaml
答案 0 :(得分:2)
要包含具有相对路径的任务
相对于剧本基本目录(playbook_dir)放置文件。例如
- include_tasks: Get_volumes.yaml
与
相同- include_tasks: "{{ playbook_dir }}/Get_volumes.yaml"
如果在DEFAULT_ROLES_PATH中配置了 / roles ,那么include_role可能是一个更好的选择
- include_role:
name: k8s
tasks_from: Get_volumes.yaml
答案 1 :(得分:0)
请再次验证路径。路径“ /roles/k8s/tasks/Get_volumes.yaml”正确吗?它应该类似于“ roles / k8s / tasks / Get_volumes.yaml”。 如果路径是正确的(似乎是从根目录“ /”开始),请向该ansible用户提供必要的权限。