--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.14.0 name: nicconfigurationtemplates.configuration.net.nvidia.com spec: group: configuration.net.nvidia.com names: kind: NicConfigurationTemplate listKind: NicConfigurationTemplateList plural: nicconfigurationtemplates singular: nicconfigurationtemplate scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: description: NicConfigurationTemplate is the Schema for the nicconfigurationtemplates API properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: description: Defines the desired state of NICs properties: nicSelector: description: NIC selector configuration properties: nicType: description: Type of the NIC to be selected, e.g. 101d,1015,a2d6 etc. type: string pciAddresses: description: Array of PCI addresses to be selected, e.g. "0000:03:00.0" items: type: string type: array serialNumbers: description: Serial numbers of the NICs to be selected, e.g. MT2116X09299 items: type: string type: array required: - nicType type: object nodeSelector: additionalProperties: type: string description: NodeSelector contains labels required on the node type: object resetToDefault: default: false description: |- ResetToDefault specifies whether node agent needs to perform a reset flow The following operations will be performed: * Nvconfig reset of all non-volatile configurations - Mstconfig -d reset for each PF - Mstconfig -d set ADVANCED_PCI_SETTINGS=1 * Node reboot - Applies new NIC NV config - Will undo any runtime configuration previously performed for the device/driver type: boolean template: description: Configuration template to be applied to matching devices properties: gpuDirectOptimized: description: GPU Direct optimization settings properties: enabled: description: Optimize GPU Direct type: boolean env: description: GPU direct environment, e.g. Baremetal type: string required: - enabled - env type: object linkType: description: LinkType to be configured, Ethernet|Infiniband enum: - Ethernet - Infiniband type: string numVfs: description: Number of VFs to be configured type: integer pciPerformanceOptimized: description: PCI performance optimization settings properties: enabled: description: Specifies whether to enable PCI performance optimization type: boolean maxAccOutRead: description: Specifies the PCIe Max Accumulative Outstanding read bytes type: integer maxReadRequest: description: Specifies the size of a single PCI read request in bytes enum: - 128 - 256 - 512 - 1024 - 2048 - 4096 type: integer required: - enabled type: object roceOptimized: description: RoCE optimization settings properties: enabled: description: Optimize RoCE type: boolean qos: description: Quality of Service settings properties: pfc: description: Priority-based Flow Control configuration, e.g. "0,0,0,1,0,0,0,0" pattern: ^([01],){7}[01]$ type: string trust: description: Trust mode for QoS settings, e.g. trust-dscp type: string required: - pfc - trust type: object required: - enabled type: object required: - linkType - numVfs type: object required: - nicSelector - template type: object status: description: Defines the observed state of NicConfigurationTemplate properties: nicDevices: description: NicDevice CRs matching this configuration template items: type: string type: array type: object type: object served: true storage: true subresources: status: {}