# dynamic inventory / hostvars with shell vars not working w/ 1.6

**URL:** <https://forum.ansible.com/t/dynamic-inventory-hostvars-with-shell-vars-not-working-w-1-6/15850>\
**Category:** Ansible Project\
**Created:** [August 4, 2014, 1:42pm UTC](https://forum.ansible.com/t/dynamic-inventory-hostvars-with-shell-vars-not-working-w-1-6/15850 "2014-08-04T13:42:00Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sascha.lucas](https://avatars.discourse-cdn.com/v4/letter/s/9fc348/32.png) [@sascha.lucas](https://forum.ansible.com/u/sascha.lucas)\
**Post date:** [August 4, 2014, 1:42pm UTC](https://forum.ansible.com/t/dynamic-inventory-hostvars-with-shell-vars-not-working-w-1-6/15850/1 "2014-08-04T13:42:00Z")

</div>

Hi,

after upgrading from 1.4 to 1.6.10 I have following problem with dynamic inventory:

static inventory /tmp/inv:  
[somegroup]  
server15 ansible\_ssh\_host=X.X.X.X ansible\_python\_interpreter=/home/${SUDO\_USER:-${USER}}/python-2.7/bin/python

Task with static inventory works as expected:  
$ ansible -i /tmp/inv -m ping server15  
server15 | success \>\> {  
&nbsp;&nbsp;&nbsp;&nbsp;"changed": false,  
&nbsp;&nbsp;&nbsp;&nbsp;"ping": "pong"  
}

dynamic inventory script (output):  
{  
&nbsp;&nbsp;&nbsp;&nbsp;"\_meta": {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"server15": {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"ansible\_python\_interpreter": "/home/${SUDO\_USER:-${USER}}/python-2.7/bin/python",  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"ansible\_ssh\_host": "X.X.X.X"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;},  
&nbsp;&nbsp;&nbsp;&nbsp;"somegroup": [  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"server15"  
&nbsp;&nbsp;&nbsp;&nbsp;]  
}

Task with dynamic seems to mangle ${SUDO\_USER:-${USER}} into ${SUDO\_USER:-${USER#}:  
$ ansible -i inventory/dyn\_cmdb\_inv.py -m ping server -vvv  
\< X.X.X.X \> ESTABLISH CONNECTION FOR USER: someuser  
\< X.X.X.X \> REMOTE\_MODULE ping  
\< X.X.X.X \> EXEC ['ssh', '-C', '-q', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 'ControlPath=/home/someuser/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'Port=22', '-o', 'KbdInteractiveAuthentication=no', '-o', 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o', 'PasswordAuthentication=no', '-o', 'ConnectTimeout=10', u' X.X.X.X, u"/bin/sh -c 'LC\_CTYPE=C LANG=C /home/${SUDO\_USER:-${USER#}/python-2.7/bin/python'"]  
server15 | FAILED \>\> {  
&nbsp;&nbsp;&nbsp;&nbsp;"failed": true,  
&nbsp;&nbsp;&nbsp;&nbsp;"msg": "/bin/sh: -c: line 0: unexpected EOF while looking for matching `}'\n/bin/sh: -c: line 1: syntax error: unexpected end of file\n",  
&nbsp;&nbsp;&nbsp;&nbsp;"parsed": false  
}

Anything I can do better?

Thanks, Sascha.

Stellvertretender Vorsitzender des Aufsichtsrates: Detlef Hillebrand  
Geschäftsführung: Michael Krüger  
Sitz der Gesellschaft: Halle/Saale  
Registergericht: Amtsgericht Stendal | Handelsregister-Nr. HRB 208414  
UST-ID-Nr. DE 158253683

Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Empfänger sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail oder des Inhalts dieser Mail sind nicht gestattet. Diese Kommunikation per E-Mail ist nicht gegen den Zugriff durch Dritte geschützt. Die GISA GmbH haftet ausdrücklich nicht für den Inhalt und die Vollständigkeit von E-Mails und den gegebenenfalls daraus entstehenden Schaden. Sollte trotz der bestehenden Viren-Schutzprogramme durch diese E-Mail ein Virus in Ihr System gelangen, so haftet die GISA GmbH - soweit gesetzlich zulässig - nicht für die hieraus entstehenden Schäden.

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan1](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@Michael\_DeHaan1](https://forum.ansible.com/u/Michael_DeHaan1)\
**Post date:** [August 4, 2014, 2:13pm UTC](https://forum.ansible.com/t/dynamic-inventory-hostvars-with-shell-vars-not-working-w-1-6/15850/2 "2014-08-04T14:13:04Z")

</div>

This seems like it’s related to some of the anti-dangerous-variable usage logic in the system.

Please file a bug on this one and we can take a look.

1.7 will include numerous parser improvements and also massively increases parser test coverage, and will be out very soon.

---

<div class="post-metadata">

**Author:** ![James\_Cammarata](https://avatars.discourse-cdn.com/v4/letter/j/7c8e57/32.png) [@James\_Cammarata](https://forum.ansible.com/u/James_Cammarata)\
**Post date:** [August 6, 2014, 2:26am UTC](https://forum.ansible.com/t/dynamic-inventory-hostvars-with-shell-vars-not-working-w-1-6/15850/3 "2014-08-06T02:26:53Z")

</div>

Hi Sascha, I’ve just looked into this and the issue has already been resolved in the devel branch. As Michael said, we’ll be releasing 1.7 very soon, and this fix will be included in that release.

If you have any further questions regarding this, let us know.

Thanks!

---

<div class="post-metadata">

**Author:** ![sascha.lucas](https://avatars.discourse-cdn.com/v4/letter/s/9fc348/32.png) [@sascha.lucas](https://forum.ansible.com/u/sascha.lucas)\
**Post date:** [August 6, 2014, 7:42am UTC](https://forum.ansible.com/t/dynamic-inventory-hostvars-with-shell-vars-not-working-w-1-6/15850/4 "2014-08-06T07:42:03Z")

</div>

Hi,

> Hi Sascha, I've just looked into this and the issue has already been resolved in the devel branch. As Michael said, we'll be releasing 1.7 very soon, and this fix will be included in that release.

Thanks. I can confirm, that this works again with 1.7.

And sorry for messing up the github issue...

Thanks, Sascha.

Stellvertretender Vorsitzender des Aufsichtsrates: Detlef Hillebrand  
Geschäftsführung: Michael Krüger  
Sitz der Gesellschaft: Halle/Saale  
Registergericht: Amtsgericht Stendal | Handelsregister-Nr. HRB 208414  
UST-ID-Nr. DE 158253683

Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Empfänger sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail oder des Inhalts dieser Mail sind nicht gestattet. Diese Kommunikation per E-Mail ist nicht gegen den Zugriff durch Dritte geschützt. Die GISA GmbH haftet ausdrücklich nicht für den Inhalt und die Vollständigkeit von E-Mails und den gegebenenfalls daraus entstehenden Schaden. Sollte trotz der bestehenden Viren-Schutzprogramme durch diese E-Mail ein Virus in Ihr System gelangen, so haftet die GISA GmbH - soweit gesetzlich zulässig - nicht für die hieraus entstehenden Schäden.
