From a2acbe9fe62134c5e9314756721954e65fab0bf6 Mon Sep 17 00:00:00 2001 From: Alan Rominger Date: Thu, 28 Oct 2021 09:43:14 -0400 Subject: [PATCH] Fix incorrect (changed: True) frequent in OCP task logs --- .../management/commands/register_queue.py | 2 +- .../commands/test_register_queue.py | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 awx/main/tests/functional/commands/test_register_queue.py diff --git a/awx/main/management/commands/register_queue.py b/awx/main/management/commands/register_queue.py index 9c05020545..2fa931c88b 100644 --- a/awx/main/management/commands/register_queue.py +++ b/awx/main/management/commands/register_queue.py @@ -36,7 +36,7 @@ class RegisterQueue: ig.policy_instance_minimum = self.instance_min changed = True - if self.is_container_group: + if self.is_container_group and (ig.is_container_group != self.is_container_group): ig.is_container_group = self.is_container_group changed = True diff --git a/awx/main/tests/functional/commands/test_register_queue.py b/awx/main/tests/functional/commands/test_register_queue.py new file mode 100644 index 0000000000..aaa9910911 --- /dev/null +++ b/awx/main/tests/functional/commands/test_register_queue.py @@ -0,0 +1,26 @@ +from io import StringIO +from contextlib import redirect_stdout + +import pytest + +from awx.main.management.commands.register_queue import RegisterQueue +from awx.main.models.ha import InstanceGroup + + +@pytest.mark.django_db +def test_openshift_idempotence(): + def perform_register(): + with StringIO() as buffer: + with redirect_stdout(buffer): + RegisterQueue('default', 100, 0, [], is_container_group=True).register() + return buffer.getvalue() + + assert '(changed: True)' in perform_register() + assert '(changed: True)' not in perform_register() + assert '(changed: True)' not in perform_register() + + ig = InstanceGroup.objects.get(name='default') + assert ig.policy_instance_percentage == 100 + assert ig.policy_instance_minimum == 0 + assert ig.policy_instance_list == [] + assert ig.is_container_group is True