So if my python script will run a python script that return JSON will it 
work ?
I mean if i do something like that:
$ python Ansible.py -i inv.py
And the inv.py will return JSON
Or it have to be 
$ ansible -m ping -i inv.py

All this hassle is because I got different servers with different ports to 
access to the SSH, there is no way in the host_list in the python script to 
pass port for each host?


On Tuesday, June 14, 2016 at 11:37:49 PM UTC+1, Matt Martz wrote:
>
> host_list cannot accept a JSON string. It expects either a CSV string of 
> hosts, the path to an INI formatted file, or a path to a script that can be 
> executed to return the JSON you are trying to pass directly to host_list.
>
> On Tuesday, June 14, 2016, Idan null <[email protected] <javascript:>> 
> wrote:
>
>> Hello to everyone :)
>> I'm quite new to Ansible.
>> I have used the Python API for ansible to connect to a few servers I have,
>> I want to get the inventory list for the python script from MySQL server, 
>> so as far as I understood the list should be in Json format (this is 
>> because each host have different ports)
>> But when I run the script I get a error that ansible couldn't connect to 
>> the server:
>>
>> This is the error i'm getting:
>> UP ***********
>> FAILED *******
>> DOWN *********
>> {
>>   "_meta": {
>>     "hostvars": {
>>       "10.24.20.126": {
>>         "ansible_host": "10.24.20.126" >>> Failed to connect to the host 
>> via ssh.
>>
>> This is the full json I'm sending to the host_list variable in the python 
>> script
>> js = {"group": {"hosts": ["10.24.20.126", "10.24.20.127"], "vars": 
>> {"ansible_user": "user", "ansible_port": 22}}, "_meta": {"hostvars": 
>> {"10.24.20.126": {"ansible_host": "10.24.20.126", "ansible_user": "user", 
>> "ansible_port": "22"}, "10.24.20.127": {"host_specific_var": "foo"}}}}
>>
>> And this is the error i'm getting:
>>
>> UP ***********
>> FAILED *******
>> DOWN *********
>> {
>>   "_meta": {
>>     "hostvars": {
>>       "10.24.20.126": {
>>         "ansible_host": "10.24.20.126" >>> Failed to connect to the host 
>> via ssh.
>>
>>
>> This ansible can connect to this server if i ping it using ansible 
>> (ansible -m ping 10.24.20.126)
>>
>> 10.24.20.126 | SUCCESS => {
>>     "changed": false,
>>     "ping": "pong"
>> }
>>
>> the python script I took from here:
>> https://github.com/ansible/ansible/blob/devel/examples/scripts/uptime.py
>>
>> And I just send into the host_list variable the JSON.
>>
>> Any thought of why my script doesn't work ?
>>
>> Thank you evreyone
>>
>> -- 
>> 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/33aa946b-feaa-42f2-8465-567f507b1ced%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/33aa946b-feaa-42f2-8465-567f507b1ced%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/5619c099-bc74-4f48-a345-0635a66342be%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to