Restore behavior for detecting only localhost, and no limit match. Fixes #52152 (#52172)

* Restore behavior for detecting only localhost, and no limit match. Fixes #52152

* Add test for non-matching limit
This commit is contained in:
Matt Martz
2019-02-13 11:52:30 -06:00
committed by GitHub
parent 847d089d6b
commit cdb53ff1a4
5 changed files with 27 additions and 4 deletions

View File

@@ -477,9 +477,6 @@ class CLI(with_metaclass(ABCMeta, object)):
# create the inventory, and filter it based on the subset specified (if any)
inventory = InventoryManager(loader=loader, sources=options['inventory'])
subset = options.get('subset', False)
if subset:
inventory.subset(subset)
# create the variable manager, which will be shared throughout
# the code, ensuring a consistent view of global variables
@@ -497,8 +494,10 @@ class CLI(with_metaclass(ABCMeta, object)):
display.warning("provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'")
no_hosts = True
inventory.subset(subset)
hosts = inventory.list_hosts(pattern)
if len(hosts) == 0 and no_hosts is False:
if not hosts and no_hosts is False:
raise AnsibleError("Specified hosts and/or --limit does not match any hosts")
return hosts