summaryrefslogtreecommitdiffstats
path: root/roles/openshift_master_facts/test
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_master_facts/test')
-rw-r--r--roles/openshift_master_facts/test/conftest.py54
-rw-r--r--roles/openshift_master_facts/test/openshift_master_facts_bad_input_tests.py57
-rw-r--r--roles/openshift_master_facts/test/openshift_master_facts_default_predicates_tests.py193
-rw-r--r--roles/openshift_master_facts/test/openshift_master_facts_default_priorities_tests.py167
4 files changed, 0 insertions, 471 deletions
diff --git a/roles/openshift_master_facts/test/conftest.py b/roles/openshift_master_facts/test/conftest.py
deleted file mode 100644
index 140cced73..000000000
--- a/roles/openshift_master_facts/test/conftest.py
+++ /dev/null
@@ -1,54 +0,0 @@
-import os
-import sys
-
-import pytest
-
-sys.path.insert(1, os.path.join(os.path.dirname(__file__), os.pardir, "lookup_plugins"))
-
-from openshift_master_facts_default_predicates import LookupModule as PredicatesLookupModule # noqa: E402
-from openshift_master_facts_default_priorities import LookupModule as PrioritiesLookupModule # noqa: E402
-
-
-@pytest.fixture()
-def predicates_lookup():
- return PredicatesLookupModule()
-
-
-@pytest.fixture()
-def priorities_lookup():
- return PrioritiesLookupModule()
-
-
-@pytest.fixture()
-def facts():
- return {
- 'openshift': {
- 'common': {}
- }
- }
-
-
-@pytest.fixture(params=[True, False])
-def regions_enabled(request):
- return request.param
-
-
-@pytest.fixture(params=[True, False])
-def zones_enabled(request):
- return request.param
-
-
-def v_prefix(release):
- """Prefix a release number with 'v'."""
- return "v" + release
-
-
-def minor(release):
- """Add a suffix to release, making 'X.Y' become 'X.Y.Z'."""
- return release + ".1"
-
-
-@pytest.fixture(params=[str, v_prefix, minor])
-def release_mod(request):
- """Modifies a release string to alternative valid values."""
- return request.param
diff --git a/roles/openshift_master_facts/test/openshift_master_facts_bad_input_tests.py b/roles/openshift_master_facts/test/openshift_master_facts_bad_input_tests.py
deleted file mode 100644
index e8da1e04a..000000000
--- a/roles/openshift_master_facts/test/openshift_master_facts_bad_input_tests.py
+++ /dev/null
@@ -1,57 +0,0 @@
-import copy
-import os
-import sys
-
-from ansible.errors import AnsibleError
-import pytest
-
-sys.path.insert(1, os.path.join(os.path.dirname(__file__), os.pardir, "lookup_plugins"))
-
-from openshift_master_facts_default_predicates import LookupModule # noqa: E402
-
-
-class TestOpenShiftMasterFactsBadInput(object):
- lookup = LookupModule()
- default_facts = {
- 'openshift': {
- 'common': {}
- }
- }
-
- def test_missing_openshift_facts(self):
- with pytest.raises(AnsibleError):
- facts = {}
- self.lookup.run(None, variables=facts)
-
- def test_missing_deployment_type(self):
- with pytest.raises(AnsibleError):
- facts = copy.deepcopy(self.default_facts)
- facts['openshift']['common']['short_version'] = '10.10'
- self.lookup.run(None, variables=facts)
-
- def test_missing_short_version_and_missing_openshift_release(self):
- with pytest.raises(AnsibleError):
- facts = copy.deepcopy(self.default_facts)
- facts['openshift']['common']['deployment_type'] = 'origin'
- self.lookup.run(None, variables=facts)
-
- def test_unknown_deployment_types(self):
- with pytest.raises(AnsibleError):
- facts = copy.deepcopy(self.default_facts)
- facts['openshift']['common']['short_version'] = '1.1'
- facts['openshift']['common']['deployment_type'] = 'bogus'
- self.lookup.run(None, variables=facts)
-
- def test_unknown_origin_version(self):
- with pytest.raises(AnsibleError):
- facts = copy.deepcopy(self.default_facts)
- facts['openshift']['common']['short_version'] = '0.1'
- facts['openshift']['common']['deployment_type'] = 'origin'
- self.lookup.run(None, variables=facts)
-
- def test_unknown_ocp_version(self):
- with pytest.raises(AnsibleError):
- facts = copy.deepcopy(self.default_facts)
- facts['openshift']['common']['short_version'] = '0.1'
- facts['openshift']['common']['deployment_type'] = 'openshift-enterprise'
- self.lookup.run(None, variables=facts)
diff --git a/roles/openshift_master_facts/test/openshift_master_facts_default_predicates_tests.py b/roles/openshift_master_facts/test/openshift_master_facts_default_predicates_tests.py
deleted file mode 100644
index 11aad9f03..000000000
--- a/roles/openshift_master_facts/test/openshift_master_facts_default_predicates_tests.py
+++ /dev/null
@@ -1,193 +0,0 @@
-import pytest
-
-
-# Predicates ordered according to OpenShift Origin source:
-# origin/vendor/k8s.io/kubernetes/plugin/pkg/scheduler/algorithmprovider/defaults/defaults.go
-
-DEFAULT_PREDICATES_1_1 = [
- {'name': 'PodFitsHostPorts'},
- {'name': 'PodFitsResources'},
- {'name': 'NoDiskConflict'},
- {'name': 'MatchNodeSelector'},
-]
-
-DEFAULT_PREDICATES_1_2 = [
- {'name': 'PodFitsHostPorts'},
- {'name': 'PodFitsResources'},
- {'name': 'NoDiskConflict'},
- {'name': 'NoVolumeZoneConflict'},
- {'name': 'MatchNodeSelector'},
- {'name': 'MaxEBSVolumeCount'},
- {'name': 'MaxGCEPDVolumeCount'}
-]
-
-DEFAULT_PREDICATES_1_3 = [
- {'name': 'NoDiskConflict'},
- {'name': 'NoVolumeZoneConflict'},
- {'name': 'MaxEBSVolumeCount'},
- {'name': 'MaxGCEPDVolumeCount'},
- {'name': 'GeneralPredicates'},
- {'name': 'PodToleratesNodeTaints'},
- {'name': 'CheckNodeMemoryPressure'}
-]
-
-DEFAULT_PREDICATES_1_4 = [
- {'name': 'NoDiskConflict'},
- {'name': 'NoVolumeZoneConflict'},
- {'name': 'MaxEBSVolumeCount'},
- {'name': 'MaxGCEPDVolumeCount'},
- {'name': 'GeneralPredicates'},
- {'name': 'PodToleratesNodeTaints'},
- {'name': 'CheckNodeMemoryPressure'},
- {'name': 'CheckNodeDiskPressure'},
- {'name': 'MatchInterPodAffinity'}
-]
-
-DEFAULT_PREDICATES_1_5 = [
- {'name': 'NoVolumeZoneConflict'},
- {'name': 'MaxEBSVolumeCount'},
- {'name': 'MaxGCEPDVolumeCount'},
- {'name': 'MatchInterPodAffinity'},
- {'name': 'NoDiskConflict'},
- {'name': 'GeneralPredicates'},
- {'name': 'PodToleratesNodeTaints'},
- {'name': 'CheckNodeMemoryPressure'},
- {'name': 'CheckNodeDiskPressure'},
-]
-
-DEFAULT_PREDICATES_3_6 = DEFAULT_PREDICATES_1_5
-
-DEFAULT_PREDICATES_3_7 = [
- {'name': 'NoVolumeZoneConflict'},
- {'name': 'MaxEBSVolumeCount'},
- {'name': 'MaxGCEPDVolumeCount'},
- {'name': 'MaxAzureDiskVolumeCount'},
- {'name': 'MatchInterPodAffinity'},
- {'name': 'NoDiskConflict'},
- {'name': 'GeneralPredicates'},
- {'name': 'PodToleratesNodeTaints'},
- {'name': 'CheckNodeMemoryPressure'},
- {'name': 'CheckNodeDiskPressure'},
- {'name': 'NoVolumeNodeConflict'},
-]
-
-DEFAULT_PREDICATES_3_9 = DEFAULT_PREDICATES_3_8 = DEFAULT_PREDICATES_3_7
-
-REGION_PREDICATE = {
- 'name': 'Region',
- 'argument': {
- 'serviceAffinity': {
- 'labels': ['region']
- }
- }
-}
-
-TEST_VARS = [
- ('1.1', 'origin', DEFAULT_PREDICATES_1_1),
- ('3.1', 'openshift-enterprise', DEFAULT_PREDICATES_1_1),
- ('1.2', 'origin', DEFAULT_PREDICATES_1_2),
- ('3.2', 'openshift-enterprise', DEFAULT_PREDICATES_1_2),
- ('1.3', 'origin', DEFAULT_PREDICATES_1_3),
- ('3.3', 'openshift-enterprise', DEFAULT_PREDICATES_1_3),
- ('1.4', 'origin', DEFAULT_PREDICATES_1_4),
- ('3.4', 'openshift-enterprise', DEFAULT_PREDICATES_1_4),
- ('1.5', 'origin', DEFAULT_PREDICATES_1_5),
- ('3.5', 'openshift-enterprise', DEFAULT_PREDICATES_1_5),
- ('3.6', 'origin', DEFAULT_PREDICATES_3_6),
- ('3.6', 'openshift-enterprise', DEFAULT_PREDICATES_3_6),
- ('3.7', 'origin', DEFAULT_PREDICATES_3_7),
- ('3.7', 'openshift-enterprise', DEFAULT_PREDICATES_3_7),
- ('3.8', 'origin', DEFAULT_PREDICATES_3_8),
- ('3.8', 'openshift-enterprise', DEFAULT_PREDICATES_3_8),
- ('3.9', 'origin', DEFAULT_PREDICATES_3_9),
- ('3.9', 'openshift-enterprise', DEFAULT_PREDICATES_3_9),
-]
-
-
-def assert_ok(predicates_lookup, default_predicates, regions_enabled, **kwargs):
- results = predicates_lookup.run(None, regions_enabled=regions_enabled, **kwargs)
- if regions_enabled:
- assert results == default_predicates + [REGION_PREDICATE]
- else:
- assert results == default_predicates
-
-
-def test_openshift_version(predicates_lookup, openshift_version_fixture, regions_enabled):
- facts, default_predicates = openshift_version_fixture
- assert_ok(predicates_lookup, default_predicates, variables=facts, regions_enabled=regions_enabled)
-
-
-@pytest.fixture(params=TEST_VARS)
-def openshift_version_fixture(request, facts):
- version, deployment_type, default_predicates = request.param
- version += '.1'
- facts['openshift_version'] = version
- facts['openshift']['common']['deployment_type'] = deployment_type
- return facts, default_predicates
-
-
-def test_openshift_release(predicates_lookup, openshift_release_fixture, regions_enabled):
- facts, default_predicates = openshift_release_fixture
- assert_ok(predicates_lookup, default_predicates, variables=facts, regions_enabled=regions_enabled)
-
-
-@pytest.fixture(params=TEST_VARS)
-def openshift_release_fixture(request, facts, release_mod):
- release, deployment_type, default_predicates = request.param
- facts['openshift_release'] = release_mod(release)
- facts['openshift']['common']['deployment_type'] = deployment_type
- return facts, default_predicates
-
-
-def test_short_version(predicates_lookup, short_version_fixture, regions_enabled):
- facts, default_predicates = short_version_fixture
- assert_ok(predicates_lookup, default_predicates, variables=facts, regions_enabled=regions_enabled)
-
-
-@pytest.fixture(params=TEST_VARS)
-def short_version_fixture(request, facts):
- short_version, deployment_type, default_predicates = request.param
- facts['openshift']['common']['short_version'] = short_version
- facts['openshift']['common']['deployment_type'] = deployment_type
- return facts, default_predicates
-
-
-def test_short_version_kwarg(predicates_lookup, short_version_kwarg_fixture, regions_enabled):
- facts, short_version, default_predicates = short_version_kwarg_fixture
- assert_ok(
- predicates_lookup, default_predicates, variables=facts,
- regions_enabled=regions_enabled, short_version=short_version)
-
-
-@pytest.fixture(params=TEST_VARS)
-def short_version_kwarg_fixture(request, facts):
- short_version, deployment_type, default_predicates = request.param
- facts['openshift']['common']['deployment_type'] = deployment_type
- return facts, short_version, default_predicates
-
-
-def test_deployment_type_kwarg(predicates_lookup, deployment_type_kwarg_fixture, regions_enabled):
- facts, deployment_type, default_predicates = deployment_type_kwarg_fixture
- assert_ok(
- predicates_lookup, default_predicates, variables=facts,
- regions_enabled=regions_enabled, deployment_type=deployment_type)
-
-
-@pytest.fixture(params=TEST_VARS)
-def deployment_type_kwarg_fixture(request, facts):
- short_version, deployment_type, default_predicates = request.param
- facts['openshift']['common']['short_version'] = short_version
- return facts, deployment_type, default_predicates
-
-
-def test_short_version_deployment_type_kwargs(
- predicates_lookup, short_version_deployment_type_kwargs_fixture, regions_enabled):
- short_version, deployment_type, default_predicates = short_version_deployment_type_kwargs_fixture
- assert_ok(
- predicates_lookup, default_predicates, regions_enabled=regions_enabled,
- short_version=short_version, deployment_type=deployment_type)
-
-
-@pytest.fixture(params=TEST_VARS)
-def short_version_deployment_type_kwargs_fixture(request):
- return request.param
diff --git a/roles/openshift_master_facts/test/openshift_master_facts_default_priorities_tests.py b/roles/openshift_master_facts/test/openshift_master_facts_default_priorities_tests.py
deleted file mode 100644
index 527fc9ff4..000000000
--- a/roles/openshift_master_facts/test/openshift_master_facts_default_priorities_tests.py
+++ /dev/null
@@ -1,167 +0,0 @@
-import pytest
-
-
-DEFAULT_PRIORITIES_1_1 = [
- {'name': 'LeastRequestedPriority', 'weight': 1},
- {'name': 'BalancedResourceAllocation', 'weight': 1},
- {'name': 'SelectorSpreadPriority', 'weight': 1}
-]
-
-DEFAULT_PRIORITIES_1_2 = [
- {'name': 'LeastRequestedPriority', 'weight': 1},
- {'name': 'BalancedResourceAllocation', 'weight': 1},
- {'name': 'SelectorSpreadPriority', 'weight': 1},
- {'name': 'NodeAffinityPriority', 'weight': 1}
-]
-
-DEFAULT_PRIORITIES_1_3 = [
- {'name': 'LeastRequestedPriority', 'weight': 1},
- {'name': 'BalancedResourceAllocation', 'weight': 1},
- {'name': 'SelectorSpreadPriority', 'weight': 1},
- {'name': 'NodeAffinityPriority', 'weight': 1},
- {'name': 'TaintTolerationPriority', 'weight': 1}
-]
-
-DEFAULT_PRIORITIES_1_4 = [
- {'name': 'LeastRequestedPriority', 'weight': 1},
- {'name': 'BalancedResourceAllocation', 'weight': 1},
- {'name': 'SelectorSpreadPriority', 'weight': 1},
- {'name': 'NodePreferAvoidPodsPriority', 'weight': 10000},
- {'name': 'NodeAffinityPriority', 'weight': 1},
- {'name': 'TaintTolerationPriority', 'weight': 1},
- {'name': 'InterPodAffinityPriority', 'weight': 1}
-]
-
-DEFAULT_PRIORITIES_1_5 = [
- {'name': 'SelectorSpreadPriority', 'weight': 1},
- {'name': 'InterPodAffinityPriority', 'weight': 1},
- {'name': 'LeastRequestedPriority', 'weight': 1},
- {'name': 'BalancedResourceAllocation', 'weight': 1},
- {'name': 'NodePreferAvoidPodsPriority', 'weight': 10000},
- {'name': 'NodeAffinityPriority', 'weight': 1},
- {'name': 'TaintTolerationPriority', 'weight': 1}
-]
-
-DEFAULT_PRIORITIES_3_6 = DEFAULT_PRIORITIES_1_5
-
-DEFAULT_PRIORITIES_3_9 = DEFAULT_PRIORITIES_3_8 = DEFAULT_PRIORITIES_3_7 = DEFAULT_PRIORITIES_3_6
-
-ZONE_PRIORITY = {
- 'name': 'Zone',
- 'argument': {
- 'serviceAntiAffinity': {
- 'label': 'zone'
- }
- },
- 'weight': 2
-}
-
-TEST_VARS = [
- ('1.1', 'origin', DEFAULT_PRIORITIES_1_1),
- ('3.1', 'openshift-enterprise', DEFAULT_PRIORITIES_1_1),
- ('1.2', 'origin', DEFAULT_PRIORITIES_1_2),
- ('3.2', 'openshift-enterprise', DEFAULT_PRIORITIES_1_2),
- ('1.3', 'origin', DEFAULT_PRIORITIES_1_3),
- ('3.3', 'openshift-enterprise', DEFAULT_PRIORITIES_1_3),
- ('1.4', 'origin', DEFAULT_PRIORITIES_1_4),
- ('3.4', 'openshift-enterprise', DEFAULT_PRIORITIES_1_4),
- ('1.5', 'origin', DEFAULT_PRIORITIES_1_5),
- ('3.5', 'openshift-enterprise', DEFAULT_PRIORITIES_1_5),
- ('3.6', 'origin', DEFAULT_PRIORITIES_3_6),
- ('3.6', 'openshift-enterprise', DEFAULT_PRIORITIES_3_6),
- ('3.7', 'origin', DEFAULT_PRIORITIES_3_7),
- ('3.7', 'openshift-enterprise', DEFAULT_PRIORITIES_3_7),
- ('3.8', 'origin', DEFAULT_PRIORITIES_3_8),
- ('3.8', 'openshift-enterprise', DEFAULT_PRIORITIES_3_8),
- ('3.9', 'origin', DEFAULT_PRIORITIES_3_9),
- ('3.9', 'openshift-enterprise', DEFAULT_PRIORITIES_3_9),
-]
-
-
-def assert_ok(priorities_lookup, default_priorities, zones_enabled, **kwargs):
- results = priorities_lookup.run(None, zones_enabled=zones_enabled, **kwargs)
- if zones_enabled:
- assert results == default_priorities + [ZONE_PRIORITY]
- else:
- assert results == default_priorities
-
-
-def test_openshift_version(priorities_lookup, openshift_version_fixture, zones_enabled):
- facts, default_priorities = openshift_version_fixture
- assert_ok(priorities_lookup, default_priorities, variables=facts, zones_enabled=zones_enabled)
-
-
-@pytest.fixture(params=TEST_VARS)
-def openshift_version_fixture(request, facts):
- version, deployment_type, default_priorities = request.param
- version += '.1'
- facts['openshift_version'] = version
- facts['openshift']['common']['deployment_type'] = deployment_type
- return facts, default_priorities
-
-
-def test_openshift_release(priorities_lookup, openshift_release_fixture, zones_enabled):
- facts, default_priorities = openshift_release_fixture
- assert_ok(priorities_lookup, default_priorities, variables=facts, zones_enabled=zones_enabled)
-
-
-@pytest.fixture(params=TEST_VARS)
-def openshift_release_fixture(request, facts, release_mod):
- release, deployment_type, default_priorities = request.param
- facts['openshift_release'] = release_mod(release)
- facts['openshift']['common']['deployment_type'] = deployment_type
- return facts, default_priorities
-
-
-def test_short_version(priorities_lookup, short_version_fixture, zones_enabled):
- facts, default_priorities = short_version_fixture
- assert_ok(priorities_lookup, default_priorities, variables=facts, zones_enabled=zones_enabled)
-
-
-@pytest.fixture(params=TEST_VARS)
-def short_version_fixture(request, facts):
- short_version, deployment_type, default_priorities = request.param
- facts['openshift']['common']['short_version'] = short_version
- facts['openshift']['common']['deployment_type'] = deployment_type
- return facts, default_priorities
-
-
-def test_short_version_kwarg(priorities_lookup, short_version_kwarg_fixture, zones_enabled):
- facts, short_version, default_priorities = short_version_kwarg_fixture
- assert_ok(
- priorities_lookup, default_priorities, variables=facts,
- zones_enabled=zones_enabled, short_version=short_version)
-
-
-@pytest.fixture(params=TEST_VARS)
-def short_version_kwarg_fixture(request, facts):
- short_version, deployment_type, default_priorities = request.param
- facts['openshift']['common']['deployment_type'] = deployment_type
- return facts, short_version, default_priorities
-
-
-def test_deployment_type_kwarg(priorities_lookup, deployment_type_kwarg_fixture, zones_enabled):
- facts, deployment_type, default_priorities = deployment_type_kwarg_fixture
- assert_ok(
- priorities_lookup, default_priorities, variables=facts,
- zones_enabled=zones_enabled, deployment_type=deployment_type)
-
-
-@pytest.fixture(params=TEST_VARS)
-def deployment_type_kwarg_fixture(request, facts):
- short_version, deployment_type, default_priorities = request.param
- facts['openshift']['common']['short_version'] = short_version
- return facts, deployment_type, default_priorities
-
-
-def test_short_version_deployment_type_kwargs(
- priorities_lookup, short_version_deployment_type_kwargs_fixture, zones_enabled):
- short_version, deployment_type, default_priorities = short_version_deployment_type_kwargs_fixture
- assert_ok(
- priorities_lookup, default_priorities, zones_enabled=zones_enabled,
- short_version=short_version, deployment_type=deployment_type)
-
-
-@pytest.fixture(params=TEST_VARS)
-def short_version_deployment_type_kwargs_fixture(request):
- return request.param