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 >> {
"changed": false,
"ping": "pong"
}
dynamic inventory script (output):
{
"_meta": {
"server15": {
"ansible_python_interpreter": "/home/${SUDO_USER:-${USER}}/python-2.7/bin/python",
"ansible_ssh_host": "X.X.X.X"
}
},
"somegroup": [
"server15"
]
}
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 >> {
"failed": true,
"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",
"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.