Coverage for ocp_resources/sriov_network_node_policy.py: 0%

24 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-01-30 10:48 +0200

1from ocp_resources.utils.constants import TIMEOUT_4MINUTES 

2from ocp_resources.resource import NamespacedResource 

3 

4 

5class SriovNetworkNodePolicy(NamespacedResource): 

6 """ 

7 SriovNetworkNodePolicy object. 

8 """ 

9 

10 api_group = NamespacedResource.ApiGroup.SRIOVNETWORK_OPENSHIFT_IO 

11 

12 def __init__( 

13 self, 

14 name=None, 

15 namespace=None, 

16 pf_names=None, 

17 root_devices=None, 

18 num_vfs=None, 

19 resource_name=None, 

20 client=None, 

21 priority=None, 

22 mtu=None, 

23 node_selector=None, 

24 teardown=True, 

25 yaml_file=None, 

26 delete_timeout=TIMEOUT_4MINUTES, 

27 **kwargs, 

28 ): 

29 super().__init__( 

30 name=name, 

31 namespace=namespace, 

32 client=client, 

33 teardown=teardown, 

34 yaml_file=yaml_file, 

35 delete_timeout=delete_timeout, 

36 **kwargs, 

37 ) 

38 self.pf_names = pf_names 

39 self.root_devices = root_devices 

40 self.num_vfs = num_vfs 

41 self.priority = priority 

42 self.resource_name = resource_name 

43 self.mtu = mtu 

44 self.node_selector = node_selector 

45 

46 def to_dict(self) -> None: 

47 super().to_dict() 

48 if not self.kind_dict and not self.yaml_file: 

49 self.res["spec"] = { 

50 "deviceType": "vfio-pci", 

51 "nicSelector": { 

52 "pfNames": [self.pf_names], 

53 "rootDevices": [self.root_devices], 

54 }, 

55 "numVfs": self.num_vfs, 

56 "resourceName": self.resource_name, 

57 } 

58 if self.mtu: 

59 self.res["spec"]["mtu"] = self.mtu 

60 if self.priority: 

61 self.res["spec"]["priority"] = self.priority 

62 if self.node_selector: 

63 self.res["spec"]["nodeSelector"] = self.node_selector 

64 else: 

65 self.res["spec"]["nodeSelector"] = {"feature.node.kubernetes.io/network-sriov.capable": "true"}