Skip to content

Commit

Permalink
node status list
Browse files Browse the repository at this point in the history
  • Loading branch information
paigerube14 committed Jan 15, 2025
1 parent 067d6d0 commit a5bf919
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 15 deletions.
11 changes: 7 additions & 4 deletions src/krkn_lib/models/k8s/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -298,16 +298,16 @@ def set_affected_node_status(self, status: str, total_time: float):
print("affected node status" + str(status))
if status == "Unknown":
self.set_not_ready_time(total_time)
elif status is True:
self.set_ready_time(total_time)
elif status is False:
self.set_not_ready_time(total_time)
elif status.lower() == "running":
self.set_cloud_running_time(total_time)
elif status.lower() == "stopped":
self.set_cloud_stopping_time(total_time)
elif status.lower() == "terminated":
self.set_terminating_time(total_time)
elif status:
self.set_ready_time(total_time)
elif not status:
self.set_not_ready_time(total_time)

def set_not_ready_time(self, not_ready_time):
self.not_ready_time += float(not_ready_time)
Expand Down Expand Up @@ -339,6 +339,9 @@ class AffectedNodeStatus:

affected_nodes: list[AffectedNode]

def __init__(self):
self.affected_nodes = []

def merge_affected_nodes(self):
counter = 0
match_found = []
Expand Down
29 changes: 18 additions & 11 deletions src/krkn_lib/tests/test_krkn_kubernetes_models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
from krkn_lib.models.k8s import AffectedPod, PodsStatus, AffectedNodeStatus, AffectedNode
from krkn_lib.models.k8s import (
AffectedNode,
AffectedNodeStatus,
AffectedPod,
PodsStatus,
)
from krkn_lib.tests import BaseTest


Expand Down Expand Up @@ -49,24 +54,26 @@ def test_pods_status(self):
in [p.pod_name for p in pods_status_merge.unrecovered]
)

def notest_nodes_status(self):
def test_nodes_status(self):
nodes_status_1 = AffectedNodeStatus()

affected_node = AffectedNode(node_name="test_1")
affected_node.set_affected_node_status(False, .737)
affected_node.set_affected_node_status(True,.12)
affected_node.set_affected_node_status(False, 0.737)
affected_node.set_affected_node_status(True, 0.12)
nodes_status_1.affected_nodes.append(affected_node)

affected_node2 = AffectedNode(node_name="test_1")
affected_node2.set_affected_node_status(True,.12)
affected_node2.set_affected_node_status(True, 0.12)

nodes_status_1.affected_nodes.append(affected_node2)
self.assertEqual(len(nodes_status_1.affected_nodes),2)
self.assertEqual(len(nodes_status_1.affected_nodes), 2)
nodes_status_1.merge_affected_nodes()

self.assertEqual(len(nodes_status_1.affected_nodes),1)
self.assertEqual(len(nodes_status_1.affected_nodes), 1)
self.assertEqual(nodes_status_1.affected_nodes[0].node_name, "test_1")
self.assertEqual(nodes_status_1.affected_nodes[0].node_ready_time, .24)
self.assertEqual(nodes_status_1.affected_nodes[0].node_not_ready_time, .737)


self.assertEqual(
nodes_status_1.affected_nodes[0].ready_time, 0.24
)
self.assertEqual(
nodes_status_1.affected_nodes[0].not_ready_time, 0.737
)

0 comments on commit a5bf919

Please sign in to comment.