Source code for ocp_resources.sriov_network_node_policy

from ocp_resources.constants import TIMEOUT_4MINUTES
from ocp_resources.resource import NamespacedResource


[docs]class SriovNetworkNodePolicy(NamespacedResource): """ SriovNetworkNodePolicy object. """ api_group = NamespacedResource.ApiGroup.SRIOVNETWORK_OPENSHIFT_IO def __init__( self, name=None, namespace=None, pf_names=None, root_devices=None, num_vfs=None, resource_name=None, client=None, priority=None, mtu=None, node_selector=None, teardown=True, yaml_file=None, delete_timeout=TIMEOUT_4MINUTES, **kwargs, ): super().__init__( name=name, namespace=namespace, client=client, teardown=teardown, yaml_file=yaml_file, delete_timeout=delete_timeout, **kwargs, ) self.pf_names = pf_names self.root_devices = root_devices self.num_vfs = num_vfs self.priority = priority self.resource_name = resource_name self.mtu = mtu self.node_selector = node_selector
[docs] def to_dict(self): super().to_dict() if not self.yaml_file: self.res["spec"] = { "deviceType": "vfio-pci", "nicSelector": { "pfNames": [self.pf_names], "rootDevices": [self.root_devices], }, "numVfs": self.num_vfs, "resourceName": self.resource_name, } if self.mtu: self.res["spec"]["mtu"] = self.mtu if self.priority: self.res["spec"]["priority"] = self.priority if self.node_selector: self.res["spec"]["nodeSelector"] = self.node_selector else: self.res["spec"]["nodeSelector"] = { "feature.node.kubernetes.io/network-sriov.capable": "true" }