diff --git a/CHANGELOG.md b/CHANGELOG.md index 6da32e4..7f8e3d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +### 0.13.5 +* Update VariableManager imports for ansible 2.4 + ### 0.13.4 * Import module_loader from ansible.plugins.loader for ansible2.4 diff --git a/lib/ansiblereview/groupvars.py b/lib/ansiblereview/groupvars.py index caca690..4d0eb29 100644 --- a/lib/ansiblereview/groupvars.py +++ b/lib/ansiblereview/groupvars.py @@ -6,10 +6,14 @@ try: import ansible.parsing.dataloader - import ansible.vars + from ansible.vars.manager import VariableManager ANSIBLE = 2 except ImportError: - ANSIBLE = 1 + try: + from ansible.vars.manager import VariableManager + ANSIBLE = 2 + except ImportError: + ANSIBLE = 1 _vars = dict() @@ -53,10 +57,14 @@ def same_variable_defined_in_competing_groups(candidate, options): try: if ANSIBLE > 1: loader = ansible.parsing.dataloader.DataLoader() - var_manager = ansible.vars.VariableManager() - inv = _inv or ansible.inventory.Inventory(loader=loader, - variable_manager=var_manager, - host_list=invfile) + try: + from ansible.inventory.manager import InventoryManager + inv = _inv or InventoryManager(loader=loader, sources=invfile) + except ImportError: + var_manager = VariableManager() + inv = _inv or ansible.inventory.Inventory(loader=loader, + variable_manager=var_manager, + host_list=invfile) _inv = inv else: inv = _inv or ansible.inventory.Inventory(invfile) diff --git a/lib/ansiblereview/inventory.py b/lib/ansiblereview/inventory.py index dfcc68a..dcb630e 100644 --- a/lib/ansiblereview/inventory.py +++ b/lib/ansiblereview/inventory.py @@ -5,10 +5,14 @@ try: import ansible.parsing.dataloader - import ansible.vars + from ansible.vars.manager import VariableManager ANSIBLE = 2 except ImportError: - ANSIBLE = 1 + try: + from ansible.vars import VariableManager + ANSIBLE = 2 + except ImportError: + ANSIBLE = 1 def no_vars_in_host_file(candidate, options): @@ -28,7 +32,7 @@ def parse(candidate, options): try: if ANSIBLE > 1: loader = ansible.parsing.dataloader.DataLoader() - var_manager = ansible.vars.VariableManager() + var_manager = VariableManager() ansible.inventory.Inventory(loader=loader, variable_manager=var_manager, host_list=candidate.path) else: diff --git a/lib/ansiblereview/version.py b/lib/ansiblereview/version.py index 67a6c9c..fb01d30 100644 --- a/lib/ansiblereview/version.py +++ b/lib/ansiblereview/version.py @@ -1 +1 @@ -__version__ = '0.13.4' +__version__ = '0.13.5'