mirror of
https://github.com/ansible/awx.git
synced 2026-05-16 05:47:38 -02:30
add all instances to special tower instance group
* All instances except isolated instances * Also, prevent any tower attributes from being modified via the API
This commit is contained in:
@@ -31,15 +31,32 @@ def test_instance_dup(org_admin, organization, project, instance_factory, instan
|
||||
assert api_num_instances_oa == (actual_num_instances - 1)
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@mock.patch('awx.main.tasks.handle_ha_toplogy_changes', return_value=None)
|
||||
def test_policy_instance_tower_group(mock, instance_factory, instance_group_factory):
|
||||
instance_factory("i1")
|
||||
instance_factory("i2")
|
||||
instance_factory("i3")
|
||||
ig_t = instance_group_factory("tower")
|
||||
instance_group_factory("ig1", percentage=25)
|
||||
instance_group_factory("ig2", percentage=25)
|
||||
instance_group_factory("ig3", percentage=25)
|
||||
instance_group_factory("ig4", percentage=25)
|
||||
apply_cluster_membership_policies()
|
||||
assert len(ig_t.instances.all()) == 3
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@mock.patch('awx.main.tasks.handle_ha_toplogy_changes', return_value=None)
|
||||
def test_policy_instance_few_instances(mock, instance_factory, instance_group_factory):
|
||||
i1 = instance_factory("i1")
|
||||
ig_t = instance_group_factory("tower")
|
||||
ig_1 = instance_group_factory("ig1", percentage=25)
|
||||
ig_2 = instance_group_factory("ig2", percentage=25)
|
||||
ig_3 = instance_group_factory("ig3", percentage=25)
|
||||
ig_4 = instance_group_factory("ig4", percentage=25)
|
||||
apply_cluster_membership_policies()
|
||||
assert len(ig_t.instances.all()) == 1
|
||||
assert len(ig_1.instances.all()) == 1
|
||||
assert i1 in ig_1.instances.all()
|
||||
assert len(ig_2.instances.all()) == 1
|
||||
@@ -50,6 +67,7 @@ def test_policy_instance_few_instances(mock, instance_factory, instance_group_fa
|
||||
assert i1 in ig_4.instances.all()
|
||||
i2 = instance_factory("i2")
|
||||
apply_cluster_membership_policies()
|
||||
assert len(ig_t.instances.all()) == 2
|
||||
assert len(ig_1.instances.all()) == 1
|
||||
assert i1 in ig_1.instances.all()
|
||||
assert len(ig_2.instances.all()) == 1
|
||||
@@ -66,11 +84,13 @@ def test_policy_instance_distribution_uneven(mock, instance_factory, instance_gr
|
||||
i1 = instance_factory("i1")
|
||||
i2 = instance_factory("i2")
|
||||
i3 = instance_factory("i3")
|
||||
ig_t = instance_group_factory("tower")
|
||||
ig_1 = instance_group_factory("ig1", percentage=25)
|
||||
ig_2 = instance_group_factory("ig2", percentage=25)
|
||||
ig_3 = instance_group_factory("ig3", percentage=25)
|
||||
ig_4 = instance_group_factory("ig4", percentage=25)
|
||||
apply_cluster_membership_policies()
|
||||
assert len(ig_t.instances.all()) == 3
|
||||
assert len(ig_1.instances.all()) == 1
|
||||
assert i1 in ig_1.instances.all()
|
||||
assert len(ig_2.instances.all()) == 1
|
||||
@@ -88,11 +108,13 @@ def test_policy_instance_distribution_even(mock, instance_factory, instance_grou
|
||||
i2 = instance_factory("i2")
|
||||
i3 = instance_factory("i3")
|
||||
i4 = instance_factory("i4")
|
||||
ig_t = instance_group_factory("tower")
|
||||
ig_1 = instance_group_factory("ig1", percentage=25)
|
||||
ig_2 = instance_group_factory("ig2", percentage=25)
|
||||
ig_3 = instance_group_factory("ig3", percentage=25)
|
||||
ig_4 = instance_group_factory("ig4", percentage=25)
|
||||
apply_cluster_membership_policies()
|
||||
assert len(ig_t.instances.all()) == 4
|
||||
assert len(ig_1.instances.all()) == 1
|
||||
assert i1 in ig_1.instances.all()
|
||||
assert len(ig_2.instances.all()) == 1
|
||||
@@ -104,6 +126,7 @@ def test_policy_instance_distribution_even(mock, instance_factory, instance_grou
|
||||
ig_1.policy_instance_minimum = 2
|
||||
ig_1.save()
|
||||
apply_cluster_membership_policies()
|
||||
assert len(ig_t.instances.all()) == 4
|
||||
assert len(ig_1.instances.all()) == 2
|
||||
assert i1 in ig_1.instances.all()
|
||||
assert i2 in ig_1.instances.all()
|
||||
@@ -122,11 +145,13 @@ def test_policy_instance_distribution_simultaneous(mock, instance_factory, insta
|
||||
i2 = instance_factory("i2")
|
||||
i3 = instance_factory("i3")
|
||||
i4 = instance_factory("i4")
|
||||
ig_t = instance_group_factory("tower")
|
||||
ig_1 = instance_group_factory("ig1", percentage=25, minimum=2)
|
||||
ig_2 = instance_group_factory("ig2", percentage=25)
|
||||
ig_3 = instance_group_factory("ig3", percentage=25)
|
||||
ig_4 = instance_group_factory("ig4", percentage=25)
|
||||
apply_cluster_membership_policies()
|
||||
assert len(ig_t.instances.all()) == 4
|
||||
assert len(ig_1.instances.all()) == 2
|
||||
assert i1 in ig_1.instances.all()
|
||||
assert i2 in ig_1.instances.all()
|
||||
@@ -143,11 +168,13 @@ def test_policy_instance_distribution_simultaneous(mock, instance_factory, insta
|
||||
def test_policy_instance_list_manually_managed(mock, instance_factory, instance_group_factory):
|
||||
i1 = instance_factory("i1")
|
||||
i2 = instance_factory("i2")
|
||||
ig_t = instance_group_factory("tower")
|
||||
ig_1 = instance_group_factory("ig1", percentage=100, minimum=2)
|
||||
ig_2 = instance_group_factory("ig2")
|
||||
ig_2.policy_instance_list = [i2.hostname]
|
||||
ig_2.save()
|
||||
apply_cluster_membership_policies()
|
||||
assert len(ig_t.instances.all()) == 2
|
||||
assert len(ig_1.instances.all()) == 1
|
||||
assert i1 in ig_1.instances.all()
|
||||
assert i2 not in ig_1.instances.all()
|
||||
|
||||
Reference in New Issue
Block a user