From 6e08c3567fdd482dc658576f7ae7f569585b7c6d Mon Sep 17 00:00:00 2001 From: Alan Rominger Date: Tue, 6 Dec 2022 14:43:13 -0500 Subject: [PATCH] Add missing disassociate trigger for policy task --- awx/api/views/mixin.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/awx/api/views/mixin.py b/awx/api/views/mixin.py index 63762c1634..a058d6ce9a 100644 --- a/awx/api/views/mixin.py +++ b/awx/api/views/mixin.py @@ -16,7 +16,7 @@ from rest_framework import status from awx.main.constants import ACTIVE_STATES from awx.main.utils import get_object_or_400 -from awx.main.models.ha import Instance, InstanceGroup +from awx.main.models.ha import Instance, InstanceGroup, schedule_policy_task from awx.main.models.organization import Team from awx.main.models.projects import Project from awx.main.models.inventory import Inventory @@ -107,6 +107,11 @@ class InstanceGroupMembershipMixin(object): if inst_name in ig_obj.policy_instance_list: ig_obj.policy_instance_list.pop(ig_obj.policy_instance_list.index(inst_name)) ig_obj.save(update_fields=['policy_instance_list']) + + # sometimes removing an instance has a non-obvious consequence + # this is almost always true if policy_instance_percentage or _minimum is non-zero + # after removing a single instance, the other memberships need to be re-balanced + schedule_policy_task() return response