Fix inventory_file variable in connection tests #470
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The default
inventory = hosts
(inansible.cfg
) is a directory.Whereas in Ansible <= 1.9.4 the
inventory_file
variable returnedhosts
, in Ansible 2.0+ it returnsnull
. The definition comes fromself._inventory.src()
, whoseis_file()
check apparently returned true in 1.9.4 but no longer does in 2.0+.I initially thought we could just omit the
-i inventory
options from the affected commands and let the commands just use the default inventory specified inansible.cfg
. However, if a user specifies an actual file via the cli, theinventory_file
variable will be non-null and our ssh connection tests should use that inventory. So, this PR adjusts commands to use theinventory_file
variable only when it is not null.The
inventory_file
needs thestring
filter so that when it is null the playbook will not fail with"ERROR! an unexpected type error occurred. Error was cannot concatenate 'str' and 'NoneType' objects"
.