From 47bdf86dfa2753c0ad16583f2e43e296107c7e57 Mon Sep 17 00:00:00 2001 From: AlanCoding Date: Tue, 31 Mar 2020 20:07:22 -0400 Subject: [PATCH] Pick up collections paths in openstack inventory update prep Update amazon.aws version Update vmware to new release Pin some more tests due to transitioning to inventory plugins Remove more temporary hacks --- awx/main/models/inventory.py | 9 ++++++--- awx/main/tests/unit/test_tasks.py | 15 +++++++++------ requirements/collections_requirements.yml | 5 +++-- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/awx/main/models/inventory.py b/awx/main/models/inventory.py index 4a9e3962ec..ddd9c1a224 100644 --- a/awx/main/models/inventory.py +++ b/awx/main/models/inventory.py @@ -2229,11 +2229,11 @@ class gce(PluginFileInjector): class vmware(PluginFileInjector): - plugin_name = 'vmware_vm_inventory' # FIXME: implement me + plugin_name = 'vmware_vm_inventory' initial_version = '2.9' # Only tested with collection version ini_env_reference = 'VMWARE_INI_PATH' base_injector = 'managed' - namespace = 'alancoding' # FIXME + namespace = 'community' collection = 'vmware' @property @@ -2544,7 +2544,10 @@ class openstack(PluginFileInjector): return self.build_script_private_data(inventory_update, private_data_dir, mk_cache=False) def get_plugin_env(self, inventory_update, private_data_dir, private_data_files): - return self.get_script_env(inventory_update, private_data_dir, private_data_files) + env = super(openstack, self).get_plugin_env(inventory_update, private_data_dir, private_data_files) + script_env = self.get_script_env(inventory_update, private_data_dir, private_data_files) + env.update(script_env) + return env def inventory_as_dict(self, inventory_update, private_data_dir): def use_host_name_for_name(a_bool_maybe): diff --git a/awx/main/tests/unit/test_tasks.py b/awx/main/tests/unit/test_tasks.py index 78852cbbf2..e7e208d9a3 100644 --- a/awx/main/tests/unit/test_tasks.py +++ b/awx/main/tests/unit/test_tasks.py @@ -1807,8 +1807,9 @@ class TestInventoryUpdateCredentials(TestJobExecution): inventory_update.get_cloud_credential = mocker.Mock(return_value=None) inventory_update.get_extra_credentials = mocker.Mock(return_value=[]) - private_data_files = task.build_private_data_files(inventory_update, private_data_dir) - env = task.build_env(inventory_update, private_data_dir, False, private_data_files) + with mocker.patch('awx.main.tasks._get_ansible_version', mocker.MagicMock(return_value='2.7')): + private_data_files = task.build_private_data_files(inventory_update, private_data_dir) + env = task.build_env(inventory_update, private_data_dir, False, private_data_files) assert 'AWS_ACCESS_KEY_ID' not in env assert 'AWS_SECRET_ACCESS_KEY' not in env @@ -1915,8 +1916,9 @@ class TestInventoryUpdateCredentials(TestJobExecution): inventory_update.get_cloud_credential = get_cred inventory_update.get_extra_credentials = mocker.Mock(return_value=[]) - private_data_files = task.build_private_data_files(inventory_update, private_data_dir) - env = task.build_env(inventory_update, private_data_dir, False, private_data_files) + with mocker.patch('awx.main.tasks._get_ansible_version', mocker.MagicMock(return_value='2.7')): + private_data_files = task.build_private_data_files(inventory_update, private_data_dir) + env = task.build_env(inventory_update, private_data_dir, False, private_data_files) safe_env = {} credentials = task.build_credentials_list(inventory_update) @@ -2153,8 +2155,9 @@ class TestInventoryUpdateCredentials(TestJobExecution): 'satellite6_want_facts': False } - private_data_files = task.build_private_data_files(inventory_update, private_data_dir) - env = task.build_env(inventory_update, private_data_dir, False, private_data_files) + with mocker.patch('awx.main.tasks._get_ansible_version', mocker.MagicMock(return_value='2.7')): + private_data_files = task.build_private_data_files(inventory_update, private_data_dir) + env = task.build_env(inventory_update, private_data_dir, False, private_data_files) config = configparser.ConfigParser() config.read(env['FOREMAN_INI_PATH']) diff --git a/requirements/collections_requirements.yml b/requirements/collections_requirements.yml index 3f1b5bfe9b..cec16c491f 100644 --- a/requirements/collections_requirements.yml +++ b/requirements/collections_requirements.yml @@ -5,13 +5,14 @@ collections: - name: azure.azcollection version: 0.1.1 # questionable https://github.com/ansible-collections/azure/issues/55 - name: amazon.aws - version: 0.1.0 + version: 0.1.1 # version 0.1.0 seems to have gone missing - name: theforeman.foreman version: 0.7.0 # contains the inventory plugin, but more patches are needed - name: google.cloud version: 0.0.9 # contains PR 167, should be good to go - name: openstack.cloud version: 0.0.1-dev85 # earlier had checksum mismatch - - name: alancoding.vmware # FIXME needs patch https://github.com/ansible-collections/vmware/pull/58 + - name: community.vmware + version: 0.3.1-dev1 - name: ovirt.ovirt_collection version: 1.0.1 # new fix published, should be good to go