From 14a8e3da5eeee42084890d59f7d6d23f0176a586 Mon Sep 17 00:00:00 2001 From: Shane McDonald Date: Thu, 3 Dec 2020 11:52:25 -0500 Subject: [PATCH] WIP: containerized inventory updates. Thanks ALAN!! --- awx/main/models/inventory.py | 1 - awx/main/tasks.py | 9 ++++----- awx/settings/defaults.py | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/awx/main/models/inventory.py b/awx/main/models/inventory.py index 94ddcc4e90..28f4b09948 100644 --- a/awx/main/models/inventory.py +++ b/awx/main/models/inventory.py @@ -1441,7 +1441,6 @@ class PluginFileInjector(object): def get_plugin_env(self, inventory_update, private_data_dir, private_data_files): env = self._get_shared_env(inventory_update, private_data_dir, private_data_files) - env['ANSIBLE_COLLECTIONS_PATHS'] = settings.AWX_ANSIBLE_COLLECTIONS_PATHS return env def build_private_data(self, inventory_update, private_data_dir): diff --git a/awx/main/tasks.py b/awx/main/tasks.py index bd4c5bd81c..0e793498a3 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -2539,9 +2539,6 @@ class RunInventoryUpdate(BaseTask): injector = InventorySource.injectors[inventory_update.source]() return injector.build_private_data(inventory_update, private_data_dir) - def build_execution_environment_params(self, inventory_update): - return {} # TODO: containerize inventory updates - def build_env(self, inventory_update, private_data_dir, isolated, private_data_files=None): """Build environment dictionary for ansible-inventory. @@ -2631,7 +2628,7 @@ class RunInventoryUpdate(BaseTask): args.append(source_location) args.append('--output') - args.append(os.path.join(private_data_dir, 'artifacts', 'output.json')) + args.append(os.path.join('/runner', 'artifacts', 'output.json')) if os.path.isdir(source_location): playbook_dir = source_location @@ -2667,8 +2664,10 @@ class RunInventoryUpdate(BaseTask): with open(inventory_path, 'w') as f: f.write(content) os.chmod(inventory_path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) + + inventory_path = os.path.join('/runner', injector.filename) elif src == 'scm': - inventory_path = os.path.join(private_data_dir, 'project', inventory_update.source_path) + inventory_path = os.path.join('/runner', 'project', inventory_update.source_path) elif src == 'custom': handle, inventory_path = tempfile.mkstemp(dir=private_data_dir) f = os.fdopen(handle, 'w') diff --git a/awx/settings/defaults.py b/awx/settings/defaults.py index 0a2a7043d6..b6631165a1 100644 --- a/awx/settings/defaults.py +++ b/awx/settings/defaults.py @@ -59,7 +59,7 @@ DATABASES = { } } -AWX_EXECUTION_ENVIRONMENT_DEFAULT_IMAGE = 'quay.io/ansible/ansible-runner:devel' +AWX_EXECUTION_ENVIRONMENT_DEFAULT_IMAGE = 'quay.io/shanemcd/ee' AWX_CONTAINER_GROUP_K8S_API_TIMEOUT = 10 AWX_CONTAINER_GROUP_POD_LAUNCH_RETRIES = 100