Как передать файлы/ папки в опции ansible include_role

#ansible

Вопрос:

Я пытаюсь повторно использовать существующую роль, используя include_role функцию в ansible, но, похоже, я не могу найти способ передать файлы внутри files/testrole1.yaml папки из вызывающей роли, и она всегда использует файлы из общей роли. Вот структура и код, которые я придумал до сих пор:

введите описание изображения здесь

 ---
- name: importing tasks from role1
  include_role:
    name: service-deploy-role1
    tasks_from: "{{item}}"
  loop:
       - install
       - setup
 

Приведенный выше код всегда использует testrole1.yaml file . Можно ли передать testrole2.yml , когда я вызываю задачу установки из service-deploy-role1 ?

Ответ №1:

Я мог бы найти решение:

 ---
- name: workaround
  set_fact:
    role_location: "{{ role_path }}"

- name: debug role path
  debug:
    msg: "{{ role_location }}"

- name: importing tasks from role1
  include_role:
    name: service-deploy-role1
    tasks_from: "{{item}}"
  vars:
    role_dir: "{{ role_location }}"
  loop:
       - install
       - setup