From 1cf02e1e1726627b5c4df3623a1f02a6496e88d6 Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Thu, 17 Oct 2019 15:15:24 -0400 Subject: [PATCH] properly set execution_node for project and inv updates run "in k8s" see: https://github.com/ansible/awx/issues/4907 --- awx/main/scheduler/task_manager.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/awx/main/scheduler/task_manager.py b/awx/main/scheduler/task_manager.py index df23b7136e..4c8ca36960 100644 --- a/awx/main/scheduler/task_manager.py +++ b/awx/main/scheduler/task_manager.py @@ -253,6 +253,18 @@ class TaskManager(): task.log_format, task.execution_node, controller_node)) elif rampart_group.is_containerized: task.instance_group = rampart_group + if not task.supports_isolation(): + # project updates and inventory updates don't *actually* run in pods, + # so just pick *any* non-isolated, non-containerized host and use it + for group in InstanceGroup.objects.all(): + if group.is_containerized or group.controller_id: + continue + match = group.find_largest_idle_instance() + if match: + task.execution_node = match.hostname + logger.debug('Submitting containerized {} to queue {}.'.format( + task.log_format, task.execution_node)) + break else: task.instance_group = rampart_group if instance is not None: