# external inventory problem

**URL:** <https://forum.ansible.com/t/external-inventory-problem/12890>\
**Category:** Ansible Project\
**Created:** [June 1, 2013, 9:57am UTC](https://forum.ansible.com/t/external-inventory-problem/12890 "2013-06-01T09:57:44Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dimos\_Alevizos](https://avatars.discourse-cdn.com/v4/letter/d/e95f7d/32.png) [@Dimos\_Alevizos](https://forum.ansible.com/u/Dimos_Alevizos)\
**Post date:** [June 1, 2013, 9:57am UTC](https://forum.ansible.com/t/external-inventory-problem/12890/1 "2013-06-01T09:57:44Z")

</div>

Hi I’m experimenting with an external inventory script and I’ve run into some troubles.

root@vader:ansible $ ansible -i inventory.php -m ping all  
Traceback (most recent call last):  
File “/usr/bin/ansible”, line 156, in   
(runner, results) = cli.run(options, args)  
File “/usr/bin/ansible”, line 81, in run  
inventory\_manager = inventory.Inventory(options.inventory)  
File “/usr/lib/python2.6/site-packages/ansible/inventory/ **init**.py”, line 87, in **init**  
self.parser = InventoryScript(filename=host\_list)  
File “/usr/lib/python2.6/site-packages/ansible/inventory/script.py”, line 45, in **init**  
self.groups = self.\_parse(stderr)  
File “/usr/lib/python2.6/site-packages/ansible/inventory/script.py”, line 59, in \_parse  
for (group\_name, data) in self.raw.items():  
AttributeError: ‘list’ object has no attribute ‘items’

My script’s output seems (to me at least) to be correct and it validates :  
root@vader:ansible $ ./inventory.php -list  
[{“spare”:[“cmldap11.otenet.gr”,“cmldap1.otenet.gr”,“cmldap2.otenet.gr”,“cmldap10.otenet.gr”,“cmldap7.otenet.gr”,“cmldap8.otenet.gr”,“cmldap9.otenet.gr”,“cmldap3.otenet.gr”,“cmldap4.otenet.gr”,“cmldap5.otenet.gr”,“cmldap6.otenet.gr”,“ca-be-1”,“ca-be-2”,“SPARE”,“SPARE”,“SPARE”]}]

Am I missing something ?

---

<div class="post-metadata">

**Author:** ![Serge\_van\_Ginderacht](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@Serge\_van\_Ginderacht](https://forum.ansible.com/u/Serge_van_Ginderacht)\
**Post date:** [June 1, 2013, 10:10am UTC](https://forum.ansible.com/t/external-inventory-problem/12890/2 "2013-06-01T10:10:38Z")

</div>

​Looks like you are returning a list (of a dict) instead of returning a  
dict.  
​

---

<div class="post-metadata">

**Author:** ![Dimos\_Alevizos](https://avatars.discourse-cdn.com/v4/letter/d/e95f7d/32.png) [@Dimos\_Alevizos](https://forum.ansible.com/u/Dimos_Alevizos)\
**Post date:** [June 1, 2013, 6:23pm UTC](https://forum.ansible.com/t/external-inventory-problem/12890/3 "2013-06-01T18:23:53Z")

</div>

Ah yes you’re right. It turns out my server’s PHP version doesn’t support encoding an array as a dict, so I rewrote my script in python.  
Works great now, thank you!
