fixed caches (#30667)

This commit is contained in:
Brian Coca 2017-10-19 14:23:22 -04:00 committed by GitHub
commit 2ffe3c42bb
7 changed files with 27 additions and 22 deletions

View file

@ -26,7 +26,6 @@ from ansible.errors import AnsibleError
from ansible.inventory.group import Group
from ansible.inventory.host import Host
from ansible.module_utils.six import iteritems
from ansible.plugins.cache import FactCache
from ansible.utils.vars import combine_vars
from ansible.utils.path import basedir
@ -62,9 +61,6 @@ class InventoryData(object):
self.add_group(group)
self.add_child('all', 'ungrouped')
# prime cache
self.cache = FactCache()
def serialize(self):
data = dict()
return data

View file

@ -24,6 +24,8 @@ import os
import re
import itertools
from copy import deepcopy
from ansible import constants as C
from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError
from ansible.inventory.data import InventoryData
@ -256,7 +258,12 @@ class InventoryManager(object):
# initialize
if plugin.verify_file(source):
try:
plugin.parse(self._inventory, self._loader, source, cache=cache)
# in case plugin fails 1/2 way we dont want partial inventory
inventory = deepcopy(self._inventory)
plugin.parse(inventory, self._loader, source, cache=cache)
# plugin worked! so lets use the more complete inventory
self._inventory = inventory
parsed = True
display.vvv('Parsed %s inventory source with %s plugin' % (to_native(source), plugin_name))
break