On 2/6/2017 7:42 AM, Brian Coca wrote:
the distinction is easy, hostnames are only allowed when there is a ,
. so if the string after -i does not have a comma, its a path.

I'm not so sure. The help for '-i' says

"specify inventory host path (default=/etc/ansible/hosts) or comma
separated host list."

How would it be possible to distinguish a comma separated host list
from a comma separated inventory host path list?

For example, would

-i a,b,c

be the hosts "a", "b", and "c", or the files (or directories) "a", "b",
and "c"?

A very quick glance at inventory/__main__.py(parse_inventory) makes me
think that the elements of the string are first checked to see if
they're a host, and then checked to see if they're a directory or file.
The presence of a comma in itself isn't enough to differentiate paths
an host. Of course, I just started reading Ansible source so I'm not 100% sure I have this right.

I was thinking that maybe requiring that host paths contain slash
characters, as part of either an absolute or relative path, would work.

Or maybe saying if the string argument to "-i" ends in a comma, then
the whole string would be considered a host list, but if it ends in
anything other than a comma, it would be a inventory host path list.

Anyway, thanks for your input.

Jon



--
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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/o7bmje%24jkh%241%40blaine.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to