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
« 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
5class SriovNetworkNodePolicy(NamespacedResource):
6 """
7 SriovNetworkNodePolicy object.
8 """
10 api_group = NamespacedResource.ApiGroup.SRIOVNETWORK_OPENSHIFT_IO
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
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"}