如何使用相对路径包含_tasks?

Sam*_*abu 4 ansible

我正在尝试包含一个包含任务的文件。但它失败如下

错误!无法检索文件内容无法在 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
Run Code Online (Sandbox Code Playgroud)

Vla*_*tka 5

使用相对路径包含_tasks

将文件相对于 playbook 基目录 ( playbook_dir )放置。例如

- include_tasks: Get_volumes.yaml
Run Code Online (Sandbox Code Playgroud)

是相同的

- include_tasks: "{{ playbook_dir }}/Get_volumes.yaml"
Run Code Online (Sandbox Code Playgroud)

如果/rolesDEFAULT_ROLES_PATH 中配置,那么include_role可能是更好的选择

- include_role:
    name: k8s
    tasks_from: Get_volumes.yaml
Run Code Online (Sandbox Code Playgroud)