>From that traceback, it appears as though your inventory script is being >parsed by the ini parser.
That is an indication that your inventory script has not been set as executable. (chmod +x /path/to/inventory/script) Ansible determines whether it is an ini file or script by detecting if the file is executable. -- Matt Martz [email protected] On March 13, 2014 at 7:26:08 AM, Alexander Winkler ([email protected]) wrote: Hello, I am currently writing an dynamic inventory to query out central database (CMDB. Regarding to http://docs.ansible.com/developing_inventory.html, I am implementing the _meta field for host variables. As far as I understood, "_meta" resolves in the function "--host" to be deprecated. So i just wrote a 'stupid' script without any parameters. My output looks like this: { "ungrouped": { "hosts": [ "ServerA", "ServerB" ] }, "_meta": { "hostvars": { "ServerA": { "ansible_ssh_host": "192.168.0.1" }, "ServerB": { "ansible_ssh_host": "192.168.0.2" } } } } Everything should be fine. But running ansible produces the following error (Ignore the first 2 lines. Those are warnings regarding to the SLES version of libraries): user@host ~/git/ansible $ ansible-playbook site.yml -i /tmp/dyn_cmdb_inv.py /usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability. _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning) Traceback (most recent call last): File "/usr/bin/ansible-playbook", line 269, in <module> sys.exit(main(sys.argv[1:])) File "/usr/bin/ansible-playbook", line 86, in main inventory = ansible.inventory.Inventory(options.inventory) File "/usr/lib64/python2.6/site-packages/ansible/inventory/__init__.py", line 105, in __init__ self.parser = InventoryParser(filename=host_list) File "/usr/lib64/python2.6/site-packages/ansible/inventory/ini.py", line 41, in __init__ self._parse() File "/usr/lib64/python2.6/site-packages/ansible/inventory/ini.py", line 45, in _parse self._parse_base_groups() File "/usr/lib64/python2.6/site-packages/ansible/inventory/ini.py", line 83, in _parse_base_groups tokens = shlex.split(line) File "/usr/lib64/python2.6/shlex.py", line 279, in split return list(lex) File "/usr/lib64/python2.6/shlex.py", line 269, in next token = self.get_token() File "/usr/lib64/python2.6/shlex.py", line 96, in get_token raw = self.read_token() File "/usr/lib64/python2.6/shlex.py", line 172, in read_token raise ValueError, "No closing quotation" ValueError: No closing quotation Do you have any hint, why this error is produced? All quotations and formats are correct. The output is generated in python with "print (json.dumps(inventory, cls=DateEncoder, indent=4))", while "inventory" is a dictionary. Thank you. Alex -- 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/977b3aa0-540d-408e-9fc6-a0ef2ef5b0e6%40googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- 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/etPan.5321b2a2.6b8b4567.1181a%40mobiletuvix.rackspace.corp. For more options, visit https://groups.google.com/d/optout.
