I have installed ansible and ansible-runn

I tried the following, just something simple

import ansible_runner
r =ansible_runner.run(playbook="asg_elb_example.yml",private_data_dir="demo"
)

However ansible-runner is complaining about:
*pexpect.exceptions.ExceptionPexpect: The command was not found or was not 
executable: ansible-playbook.*

I am not sure what the issue is since I can run ansible-playbook from the 
command line with no issues.

On Friday, May 25, 2018 at 1:57:51 PM UTC-4, Matt Martz wrote:
>
> We do not recommend interfacing directly with the ansible playbook python 
> API.  It is not a public interface and is not guaranteed to be stable.
>
> Instead, I'd recommend looking at the ansible-runner project, which 
> provides a python API for executing playbooks: 
> https://github.com/ansible/ansible-runner
>
> On Fri, May 25, 2018 at 11:56 AM, Richard O'Hara <[email protected] 
> <javascript:>> wrote:
>
>> I have a python application that calls the code below with the plan to 
>> run an Ansible playbook programmatically via the Ansible API versus using 
>> something like subprocess.
>>
>> The code below runs but nothing actually seems to get executed. Grabbing 
>> the output of results just gives me a dictionary that looks like:
>>
>> [{'plays': [localhost], 'playbook': 'playbooks/asg_elb_example.yml'}]
>>
>>
>>
>> I am not sure where I am going wrong or what I am missing. Here is the 
>> code I am running.
>>
>> import os
>> import sys
>> SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
>> ROOT_DIR = os.path.dirname(SCRIPT_DIR)
>>
>>
>> import json
>> from collections import namedtuple
>> from ansible.parsing.dataloader import DataLoader
>> from ansible.vars.manager import VariableManager
>> from ansible.inventory.manager import InventoryManager
>> from ansible.playbook.play import Play
>> from ansible.executor.playbook_executor import PlaybookExecutor
>>
>>
>> def ansible_part():
>>     playbook_path = "playbooks/asg_elb_example.yml"
>>     inventory_path = "hosts"
>>
>>
>>     Options = namedtuple('Options', ['connection', 'module_path', 'forks'
>> , 'become', 'become_method', 'become_user', 'check', 'diff', 'listhosts', 
>> 'listtasks', 'listtags', 'syntax'])
>>     loader = DataLoader()
>>     options = Options(connection='local', module_path='%s/' % (ROOT_DIR), 
>> forks=100, become=None, become_method=None, become_user=None, check=False
>> ,
>>                     diff=False, listhosts=True, listtasks=False, listtags
>> =False, syntax=False)
>>     passwords = dict(vault_pass='secret')
>>
>>
>>     inventory = InventoryManager(loader=loader, sources=[inventory_path])
>>     variable_manager = VariableManager(loader=loader, inventory=inventory
>> )
>>     executor = PlaybookExecutor(  
>>                 playbooks=[playbook_path], inventory=inventory, 
>> variable_manager=variable_manager, loader=loader,  
>>                 options=options, passwords=passwords)  
>>     results = executor.run()  
>>     print results
>>
>>
>> def main():
>>     ansible_part()
>> sys.exit(main())
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Ansible Project" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/809aebf4-79ae-4554-812e-2148d08aa806%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/809aebf4-79ae-4554-812e-2148d08aa806%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Matt Martz
> @sivel
> sivel.net
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/7657a1ee-8ea3-494c-8388-efb83dff66bb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to