diff options
-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 |