Вызов скрипта Ansible внутри скрипта ansible и / или внутри модуля Loop - PullRequest
0 голосов
/ 24 сентября 2019

Контекст:

Я пытаюсь развернуть решение IDAM.Для этого нужно установить определенные вещи в определенном порядке.

Как я это делаю в настоящее время:

У меня есть файл переменных, который выглядит как vars/main.yml:

EPM: 
  list_of_packages: 
    - package1.msi 
    - package2.msi 
    - package3.msi 
    - package4.msi

Теперь этот метод 1 работает, если я это сделаю:

win_package: path: C:\path\{{ item }} arguments: /qn /norestart loop: "{{ EPM['list_of_packages'] }}

Проблема в том, что Package1 неправильно установлен.Чтобы установить Package1, мне нужно было создать отдельный скрипт Ansible, который выполняет кучу скриптов .SQL.Этот сценарий для примера называется: epm_sql_scripts.yml

Этот сценарий проходит через несколько сценариев .SQL с модулем loop и psiexec.

Itвыглядит как сценарий метода 1.

Есть ли способ, которым я могу вызвать epm_sql_scripts.yml из сценария метода 1 и / или из vars/main.yml file?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

Я понимаю, куда вы направлялись, но откровенность не позволит вам сделать это.Вы не можете вкладывать playbooks как ваш пример.Другим важным моментом является то, что, если вы решите использовать import_tasks, импортированная книга воспроизведения должна содержать только задачи.

0 голосов
/ 24 сентября 2019

Если вы хотите вызвать playbook из другой playbook, вы можете использовать import_playbook .

Например:

- import_playbook: playbook.yaml

- hosts: all
  tasks:
    ...

Если вы предпочитаете называть вашу playbookиз игры вы можете сначала раздеть свою книгу, пока не останутся только задания, а затем использовать import_tasks .

Например:

- hosts: all
  tasks:
    - import_tasks: tasks.yaml
    - other_tasks: ...
...