Hi,

I am trying to automate script execution in remote servers using 
ansible/ansible play books. To start with I wanted to do a test, by 
invoking ansible runner to read IPs during runtime and touch a file or 
display a message in the remote host. I followed an example that found in a 
blog. 

Sample Python script. 

*import *ansible.runner
*import *ansible.playbook
*import *ansible.inventory
*from *ansible *import *callbacks
*from *ansible *import *utils
*import *json


*def **setup_inventory*():
    



*"""     setting up the inventory     set up a host     **:return*


*:     """     *example_host = ansible.inventory.Host(
        name='10.*.*.*,
        port=22
        )

    example_group = ansible.inventory.Group(
        name='sample_group_name'
    )
    example_group.add_host(example_host)
    example_inventory = ansible.inventory.Inventory()
    example_inventory.add_group(example_group)
    example_inventory.subset('sample_group_name')
    *return *example_inventory


*def **run_playbook*():
    # set up Inventory
    example_inventory = setup_inventory()

    # setup callbacks
    stats = callbacks.AggregateStats()
    playbook_cb = callbacks.PlaybookCallbacks(verbose=utils.VERBOSITY)
    runner_cb = callbacks.PlaybookRunnerCallbacks(stats, 
verbose=utils.VERBOSITY)

    pb = ansible.playbook.PlayBook(
        playbook="test.yml",
        stats=stats,
        callbacks=playbook_cb,
        runner_callbacks=runner_cb,
        inventory=example_inventory,
        check=True
    )

    pr = pb.run()
    *print *json.dumps(pr, sort_keys=True, indent=4, separators=(',', ': '))

*if *__name__ == '__main__':
    run_playbook()

Sample test.yml playbook:

- hosts: sample_group_name

  user: username

  sudo: no

  tasks:

    # touch a file, using symbolic modes to set the permissions (equivalent 
to 0644)

    - debug: msg=“Ansible is great"


When is execute the py script, I am getting the below error. It looks like 
ansible can SSH to the box just fine, but not executing anything after 
that. I can run the playbook with out any issues in CLI. 


/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 
/app/ansible_run.py


PLAY [sample_group_name] 
****************************************************** 


GATHERING FACTS 
*************************************************************** 

ok: [10.*.*.*]


TASK: [debug msg=“Ansible is great"] 
******************************************* 

FATAL: no hosts matched or all hosts have already failed -- aborting


{

    “10.*.*.*: {

        "changed": 0,

        "failures": 0,

        "ok": 1,

        "skipped": 0,

        "unreachable": 0

    }

}


Process finished with exit code 0


Could someone point out what am I doing wrong here?


Thanks for your support & help. 


Shasti

-- 
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/ce42921e-8f6c-4f2b-90d5-b9b5fa6351d7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to