Files
test/keywords/k8s/node/object/kubernetes_node_capacity_object.py
croy 82d417b9e6 New StarlingX Automation Framework
Fresh start for the StarlingX automation framework.

Change-Id: Ie265e0791024f45f71faad6315c2b91b022934d1
2024-11-29 16:01:57 -05:00

233 lines
5.9 KiB
Python

from framework.exceptions.keyword_exception import KeywordException
class KubernetesNodeCapacityObject:
"""
Class to hold attributes of a Kubernetes Node's Capacity
"""
def __init__(self):
"""
Constructor
"""
self.cpu: int = -1
self.ephemeral_storage: str = None
self.hugepages_1gi: str = None
self.hugepages_2mi: str = None
self.memory: str = None
self.pods: int = -1
self.windriver_isolcpus: int = -1
self.intel_pci_sriov_net_group0_data0 = -1
self.intel_pci_sriov_net_group0_data1 = -1
self.intel_dummy = -1
self.intel_pci_sriov_net_sriov_test_datanetwork = -1
def set_cpu(self, cpu: int):
"""
Setter for the cpu
Args:
cpu:
"""
self.cpu = cpu
def get_cpu(self) -> int:
"""
Getter for the cpu
Returns: (int)
"""
return self.cpu
def set_ephemeral_storage(self, ephemeral_storage: str):
"""
Setter for the ephemeral_storage
Args:
ephemeral_storage:
"""
self.ephemeral_storage = ephemeral_storage
def get_ephemeral_storage(self) -> str:
"""
Getter for the ephemeral_storage
Returns: (str)
"""
return self.ephemeral_storage
def set_hugepages_1gi(self, hugepages_1gi: str):
"""
Setter for the hugepages_1gi
Args:
hugepages_1gi:
"""
self.hugepages_1gi = hugepages_1gi
def get_hugepages_1gi(self) -> str:
"""
Getter for the hugepages_1gi
Returns: (str)
"""
return self.hugepages_1gi
def set_hugepages_2mi(self, hugepages_2mi: str):
"""
Setter for the hugepages_2mi
Args:
hugepages_2mi:
"""
self.hugepages_2mi = hugepages_2mi
def get_hugepages_2mi(self) -> str:
"""
Getter for the hugepages_2mi
Returns: (str)
"""
return self.hugepages_2mi
def set_memory(self, memory: str):
"""
Setter for the memory
Args:
memory:
"""
self.memory = memory
def get_memory(self) -> str:
"""
Getter for the memory
Returns: (str)
"""
return self.memory
def set_pods(self, pods: int):
"""
Setter for the pods
Args:
pods:
"""
self.pods = pods
def get_pods(self) -> int:
"""
Getter for the pods
Returns: (int)
"""
return self.pods
def set_windriver_isolcpus(self, windriver_isolcpus: int):
"""
Setter for the windriver_isolcpus
Args:
isolcpus:
"""
self.windriver_isolcpus = windriver_isolcpus
def get_windriver_isolcpus(self) -> int:
"""
Getter for the windriver_isolcpus
Returns: (int)
"""
return self.windriver_isolcpus
def set_intel_pci_sriov_net_group0_data0(self, intel_pci_sriov_net_group0_data0: int):
"""
Setter for intel_pci_sriov_net_group0_data0
Args:
intel_pci_sriov_net_group0_data0 (): the intel_pci_sriov_net_group0_data0 vf value
Returns:
"""
self.intel_pci_sriov_net_group0_data0 = intel_pci_sriov_net_group0_data0
def get_intel_pci_sriov_net_group0_data0(self) -> int:
"""
Getter for intel_pci_sriov_net_group0_data0
Returns:
"""
return self.intel_pci_sriov_net_group0_data0
def set_intel_pci_sriov_net_group0_data1(self, intel_pci_sriov_net_group0_data1: int):
"""
Setter for intel_pci_sriov_net_group0_data1
Args:
intel_pci_sriov_net_group0_data1 (): the intel_pci_sriov_net_group0_data1 value
Returns:
"""
self.intel_pci_sriov_net_group0_data1 = intel_pci_sriov_net_group0_data1
def get_intel_pci_sriov_net_group0_data1(self) -> int:
"""
Getter for intel_pci_sriov_net_group0_data1
Returns:
"""
return self.intel_pci_sriov_net_group0_data1
def set_intel_dummy(self, intel_dummy):
"""
Setter for intel dummy
Args:
intel_dummy (): the intel dummy value
Returns:
"""
self.intel_dummy = intel_dummy
def get_intel_dummy(self) -> int:
"""
Getter for intel dummy
Returns:
"""
return self.intel_dummy
def set_intel_pci_sriov_net_sriov_test_datanetwork(self, intel_pci_sriov_net_sriov_test_datanetwork: int):
"""
Setter for intel_pci_sriov_net_sriov_test_datanetwork
Args:
intel_pci_sriov_net_sriov_test_datanetwork (): intel_pci_sriov_net_sriov_test_datanetwork value
Returns:
"""
self.intel_pci_sriov_net_sriov_test_datanetwork = intel_pci_sriov_net_sriov_test_datanetwork
def get_intel_pci_sriov_net_sriov_test_datanetwork(self) -> int:
"""
Getter for intel_pci_sriov_net_sriov_test_datanetwork
Returns:
"""
return self.intel_pci_sriov_net_sriov_test_datanetwork
def get_datanetwork_allocatable(self, datanetwork: str) -> int:
"""
Get the datanetwork allocatable based on the datanetwork name
Args:
datanetwork (): the datanetwork name
Returns:
"""
if datanetwork == 'group0-data0':
return self.get_intel_pci_sriov_net_group0_data0()
elif datanetwork in 'group0-data1':
return self.get_intel_pci_sriov_net_group0_data1()
elif datanetwork in 'sriov-test-datanetwork':
return self.get_intel_pci_sriov_net_sriov_test_datanetwork()
elif datanetwork in 'intel-dummy':
return self.get_intel_dummy()
else:
raise KeywordException(f"No datanetwork method implemented for datanetwork {datanetwork}")