Skip to content

Commit 500e6d7

Browse files
authored
[minor] Add isClusterVersionInRange() function (#139)
1 parent 27eec46 commit 500e6d7

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

src/mas/devops/ocp.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,20 @@ def getClusterVersion(dynClient: DynamicClient) -> str:
7272
clusterVersion = clusterVersionAPI.get(name="version")
7373
for record in clusterVersion.status.history:
7474
if record.state == "Completed":
75-
return record.state.version
75+
return record.version
7676
except NotFoundError:
7777
logger.debug("Unable to retrieve ClusterVersion")
7878
return None
7979

8080

81+
def isClusterVersionInRange(version: str, releases: list[str]) -> bool:
82+
if releases is not None:
83+
for release in releases:
84+
if version.startswith(f"{release}."):
85+
return True
86+
return False
87+
88+
8189
def getNamespace(dynClient: DynamicClient, namespace: str) -> dict:
8290
"""
8391
Get a namespace

test/src/test_ocp.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@
1515
from mas.devops import ocp
1616

1717

18+
def test_is_cluster_in_range():
19+
assert ocp.isClusterVersionInRange("4.1.6", None) is False
20+
assert ocp.isClusterVersionInRange("4.1.6", []) is False
21+
assert ocp.isClusterVersionInRange("4.1.6", ["4.16", "4.17", "4.18"]) is False
22+
assert ocp.isClusterVersionInRange("4.12.6", ["4.16", "4.17", "4.18"]) is False
23+
assert ocp.isClusterVersionInRange("4.15.6", ["4.16", "4.17", "4.18"]) is False
24+
assert ocp.isClusterVersionInRange("4.16.0", ["4.16", "4.17", "4.18"]) is True
25+
assert ocp.isClusterVersionInRange("4.18.1", ["4.16", "4.17", "4.18"]) is True
26+
assert ocp.isClusterVersionInRange("5.0.0", ["4.16", "4.17", "4.18"]) is False
27+
28+
1829
def test_execInPod_success(mocker):
1930

2031
mock_CoreV1Api = mocker.patch('kubernetes.client.CoreV1Api')

0 commit comments

Comments
 (0)