diff options
author | Brian Coca <brian.coca+git@gmail.com> | 2016-05-31 12:15:19 -0400 |
---|---|---|
committer | Brian Coca <brian.coca+git@gmail.com> | 2016-05-31 12:16:06 -0400 |
commit | 4c3c294a030d7b429817f662e48efba92dfd34db (patch) | |
tree | fa020c65f17e6e599622405f1af823fb76878f77 /lib/ansible/cli | |
parent | 01decf4166ea8fe233b9a728ad4e82a0dbe10cab (diff) | |
download | ansible-4c3c294a030d7b429817f662e48efba92dfd34db.tar.gz |
fixed confusing reporting when no hosts are matched
it was hitting 'empty inventory' warning.
Diffstat (limited to 'lib/ansible/cli')
-rw-r--r-- | lib/ansible/cli/adhoc.py | 4 | ||||
-rw-r--r-- | lib/ansible/cli/console.py | 12 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/ansible/cli/adhoc.py b/lib/ansible/cli/adhoc.py index becb43e581..d4f917f2c2 100644 --- a/lib/ansible/cli/adhoc.py +++ b/lib/ansible/cli/adhoc.py @@ -130,7 +130,7 @@ class AdHocCLI(CLI): variable_manager.set_inventory(inventory) no_hosts = False - if len(inventory.list_hosts(pattern)) == 0: + if len(inventory.list_hosts()) == 0: # Empty inventory display.warning("provided hosts list is empty, only localhost is available") no_hosts = True @@ -139,7 +139,7 @@ class AdHocCLI(CLI): hosts = inventory.list_hosts(pattern) if len(hosts) == 0 and no_hosts is False: # Invalid limit - raise AnsibleError("Specified --limit does not match any hosts") + raise AnsibleError("Specified hosts and/or --limit does not match any hosts") if self.options.listhosts: display.display(' hosts (%d):' % len(hosts)) diff --git a/lib/ansible/cli/console.py b/lib/ansible/cli/console.py index 5c844e6094..ec35a8eff3 100644 --- a/lib/ansible/cli/console.py +++ b/lib/ansible/cli/console.py @@ -38,7 +38,7 @@ import sys from ansible import constants as C from ansible.cli import CLI -from ansible.errors import AnsibleError, AnsibleOptionsError +from ansible.errors import AnsibleError from ansible.executor.task_queue_manager import TaskQueueManager from ansible.inventory import Inventory @@ -419,13 +419,19 @@ class ConsoleCLI(CLI, cmd.Cmd): self.inventory = Inventory(loader=self.loader, variable_manager=self.variable_manager, host_list=self.options.inventory) self.variable_manager.set_inventory(self.inventory) - if len(self.inventory.list_hosts(self.pattern)) == 0: + no_hosts = False + if len(self.inventory.list_hosts()) == 0: # Empty inventory + no_hosts = True display.warning("provided hosts list is empty, only localhost is available") self.inventory.subset(self.options.subset) + hosts = self.inventory.list_hosts(self.pattern) + if len(hosts) == 0 and not no_hosts: + raise AnsibleError("Specified hosts and/or --limit does not match any hosts") + self.groups = self.inventory.list_groups() - self.hosts = [x.name for x in self.inventory.list_hosts(self.pattern)] + self.hosts = [x.name for x in hosts] # This hack is to work around readline issues on a mac: # http://stackoverflow.com/a/7116997/541202 |