Commit 61199889 by Michael DeHaan

override-hosts is gone since we can't load inventory for hosts (so it's not an…

override-hosts is gone since we can't load inventory for hosts (so it's not an whitelist), but we can
still support hosts outside of inventory if you pass in an array of hosts.  Ports are supported,
but not much other info.
parent e0317a35
......@@ -37,9 +37,8 @@ class Inventory(object):
def __init__(self, host_list=C.DEFAULT_HOST_LIST):
# the host file file or script path
if type(host_list) not in [ str, unicode ]:
raise Exception("host list must be a path")
# the host file file, or script path, or list of hosts
# if a list, inventory data will NOT be loaded
self.host_list = host_list
# the inventory object holds a list of groups
......@@ -51,7 +50,16 @@ class Inventory(object):
# whether the inventory file is a script
self._is_script = False
if os.access(host_list, os.X_OK):
if type(host_list) == list:
all = Group('all')
self.groups = [ all ]
for x in host_list:
if x.find(":") != -1:
tokens = x.split(":",1)
all.add_host(Host(tokens[0], tokens[1]))
else:
all.add_host(Host(x))
elif os.access(host_list, os.X_OK):
self._is_script = True
self.parser = InventoryScript(filename=host_list)
self.groups = self.parser.groups.values()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment