ansible playbook переписать в python api

Я первый раз столкнулся с ansible, не ругайтесь)

Есть код на php, который запускает с помощью proc_open команду ansible-playbook с дополнительным параметром и определенными переменными окружения

$process = proc_open('ansible-playbook -vv -i /path/to/din.py /path/to/new_host.yaml', $descriptorspec, $pipes, $cwd, $env);

Нужно переписать это на python с помощью ansible api

Однако, изучая доки и примеры я не все понял

Вот все, что удалось мне написать +- с пониманием:

from ansible.vars import VariableManager
from ansible.inventory import Inventory
from ansible.playbook.play import Play
from ansible.executor.playbook_executor import PlaybookExecutor 

env = {...}

playbook_path = '/path/to/new_host.yaml'
variable_manager = VariableManager()

variable_manager.extra_vars = env

loader = DataLoader()

pbex = PlaybookExecutor(playbooks=[playbook_path], variable_manager=variable_manager, loader=loader)
results = pbex.run()

Но тут не хватает:

  1. inventory, который я пока не понял, для чего это и с чем его есть, и нужен ли вообще он тут
  2. Указанного в php скрипте файла /path/to/din.py

А также я не уверен, что правильно задал переменные, и может еще много чего не хватает

Как правильно составить код?


Ответы (0 шт):