Skip to content

Commit

Permalink
add openshift/sriov-network-operator
Browse files Browse the repository at this point in the history
Signed-off-by: Sebastian Hoß <seb@xn--ho-hia.de>
  • Loading branch information
sebhoss committed Sep 15, 2024
1 parent 4e31690 commit 80c5e3e
Show file tree
Hide file tree
Showing 20 changed files with 1,860 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -1011,6 +1011,10 @@ Files: crd-catalog/openshift/ptp-operator/*
Copyright: The openshift/ptp-operator Authors
License: Apache-2.0

Files: crd-catalog/openshift/sriov-network-operator/*
Copyright: The openshift/sriov-network-operator Authors
License: Apache-2.0

Files: crd-catalog/otterize/helm-charts/*
Copyright: The otterize/helm-charts Authors
License: Apache-2.0
Expand Down
13 changes: 13 additions & 0 deletions code-generator/src/catalog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2564,6 +2564,19 @@ pub const CRD_V1_SOURCES: &'static [UpstreamSource] = &[
"https://github.com/openshift/ptp-operator/blob/master/config/crd/bases/ptp.openshift.io_ptpoperatorconfigs.yaml",
],
},
UpstreamSource {
project_name: "openshift/sriov-network-operator",
license: APACHE_V2,
urls: &[
"https://github.com/openshift/sriov-network-operator/blob/master/config/crd/bases/sriovnetwork.openshift.io_ovsnetworks.yaml",
"https://github.com/openshift/sriov-network-operator/blob/master/config/crd/bases/sriovnetwork.openshift.io_sriovibnetworks.yaml",
"https://github.com/openshift/sriov-network-operator/blob/master/config/crd/bases/sriovnetwork.openshift.io_sriovnetworknodepolicies.yaml",
"https://github.com/openshift/sriov-network-operator/blob/master/config/crd/bases/sriovnetwork.openshift.io_sriovnetworknodestates.yaml",
"https://github.com/openshift/sriov-network-operator/blob/master/config/crd/bases/sriovnetwork.openshift.io_sriovnetworkpoolconfigs.yaml",
"https://github.com/openshift/sriov-network-operator/blob/master/config/crd/bases/sriovnetwork.openshift.io_sriovnetworks.yaml",
"https://github.com/openshift/sriov-network-operator/blob/master/config/crd/bases/sriovnetwork.openshift.io_sriovoperatorconfigs.yaml",
],
},
UpstreamSource {
project_name: "otterize/helm-charts",
license: APACHE_V2,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
apiVersion: "apiextensions.k8s.io/v1"
kind: "CustomResourceDefinition"
metadata:
annotations:
controller-gen.kubebuilder.io/version: "v0.14.0"
name: "ovsnetworks.sriovnetwork.openshift.io"
spec:
group: "sriovnetwork.openshift.io"
names:
kind: "OVSNetwork"
listKind: "OVSNetworkList"
plural: "ovsnetworks"
singular: "ovsnetwork"
scope: "Namespaced"
versions:
- name: "v1"
schema:
openAPIV3Schema:
description: "OVSNetwork is the Schema for the ovsnetworks API"
properties:
apiVersion:
description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: "string"
metadata:
type: "object"
spec:
description: "OVSNetworkSpec defines the desired state of OVSNetwork"
properties:
bridge:
description: "name of the OVS bridge, if not set OVS will automatically select bridge\nbased on VF PCI address"
type: "string"
capabilities:
description: "Capabilities to be configured for this network.\nCapabilities supported: (mac|ips), e.g. '{\"mac\": true}'"
type: "string"
interfaceType:
description: "The type of interface on ovs."
type: "string"
ipam:
description: "IPAM configuration to be used for this network."
type: "string"
metaPlugins:
description: "MetaPluginsConfig configuration to be used in order to chain metaplugins"
type: "string"
mtu:
description: "Mtu for the OVS port"
type: "integer"
networkNamespace:
description: "Namespace of the NetworkAttachmentDefinition custom resource"
type: "string"
resourceName:
description: "OVS Network device plugin endpoint resource name"
type: "string"
trunk:
description: "Trunk configuration for the OVS port"
items:
description: "TrunkConfig contains configuration for bridge trunk"
properties:
id:
maximum: 4095.0
minimum: 0.0
type: "integer"
maxID:
maximum: 4095.0
minimum: 0.0
type: "integer"
minID:
maximum: 4095.0
minimum: 0.0
type: "integer"
type: "object"
type: "array"
vlan:
description: "Vlan to assign for the OVS port"
maximum: 4095.0
minimum: 0.0
type: "integer"
required:
- "resourceName"
type: "object"
status:
description: "OVSNetworkStatus defines the observed state of OVSNetwork"
type: "object"
type: "object"
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
apiVersion: "apiextensions.k8s.io/v1"
kind: "CustomResourceDefinition"
metadata:
annotations:
controller-gen.kubebuilder.io/version: "v0.14.0"
name: "sriovibnetworks.sriovnetwork.openshift.io"
spec:
group: "sriovnetwork.openshift.io"
names:
kind: "SriovIBNetwork"
listKind: "SriovIBNetworkList"
plural: "sriovibnetworks"
singular: "sriovibnetwork"
scope: "Namespaced"
versions:
- name: "v1"
schema:
openAPIV3Schema:
description: "SriovIBNetwork is the Schema for the sriovibnetworks API"
properties:
apiVersion:
description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: "string"
metadata:
type: "object"
spec:
description: "SriovIBNetworkSpec defines the desired state of SriovIBNetwork"
properties:
capabilities:
description: "Capabilities to be configured for this network.\nCapabilities supported: (infinibandGUID), e.g. '{\"infinibandGUID\": true}'"
type: "string"
ipam:
description: "IPAM configuration to be used for this network."
type: "string"
linkState:
description: "VF link state (enable|disable|auto)"
enum:
- "auto"
- "enable"
- "disable"
type: "string"
metaPlugins:
description: "MetaPluginsConfig configuration to be used in order to chain metaplugins to the sriov interface returned\nby the operator."
type: "string"
networkNamespace:
description: "Namespace of the NetworkAttachmentDefinition custom resource"
type: "string"
resourceName:
description: "SRIOV Network device plugin endpoint resource name"
type: "string"
required:
- "resourceName"
type: "object"
status:
description: "SriovIBNetworkStatus defines the observed state of SriovIBNetwork"
type: "object"
type: "object"
served: true
storage: true
subresources:
status: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
apiVersion: "apiextensions.k8s.io/v1"
kind: "CustomResourceDefinition"
metadata:
annotations:
controller-gen.kubebuilder.io/version: "v0.14.0"
name: "sriovnetworknodepolicies.sriovnetwork.openshift.io"
spec:
group: "sriovnetwork.openshift.io"
names:
kind: "SriovNetworkNodePolicy"
listKind: "SriovNetworkNodePolicyList"
plural: "sriovnetworknodepolicies"
singular: "sriovnetworknodepolicy"
scope: "Namespaced"
versions:
- name: "v1"
schema:
openAPIV3Schema:
description: "SriovNetworkNodePolicy is the Schema for the sriovnetworknodepolicies API"
properties:
apiVersion:
description: "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
type: "string"
metadata:
type: "object"
spec:
description: "SriovNetworkNodePolicySpec defines the desired state of SriovNetworkNodePolicy"
properties:
bridge:
description: "contains bridge configuration for matching PFs,\nvalid only for eSwitchMode==switchdev"
properties:
ovs:
description: "contains configuration for the OVS bridge,"
properties:
bridge:
description: "contains bridge level settings"
properties:
datapathType:
description: "configure datapath_type field in the Bridge table in OVSDB"
type: "string"
externalIDs:
additionalProperties:
type: "string"
description: "IDs to inject to external_ids field in the Bridge table in OVSDB"
type: "object"
otherConfig:
additionalProperties:
type: "string"
description: "additional options to inject to other_config field in the bridge table in OVSDB"
type: "object"
type: "object"
uplink:
description: "contains settings for uplink (PF)"
properties:
interface:
description: "contains settings for PF interface in the OVS bridge"
properties:
externalIDs:
additionalProperties:
type: "string"
description: "external_ids field in the Interface table in OVSDB"
type: "object"
options:
additionalProperties:
type: "string"
description: "options field in the Interface table in OVSDB"
type: "object"
otherConfig:
additionalProperties:
type: "string"
description: "other_config field in the Interface table in OVSDB"
type: "object"
type:
description: "type field in the Interface table in OVSDB"
type: "string"
type: "object"
type: "object"
type: "object"
type: "object"
deviceType:
default: "netdevice"
description: "The driver type for configured VFs. Allowed value \"netdevice\", \"vfio-pci\". Defaults to netdevice."
enum:
- "netdevice"
- "vfio-pci"
type: "string"
eSwitchMode:
description: "NIC Device Mode. Allowed value \"legacy\",\"switchdev\"."
enum:
- "legacy"
- "switchdev"
type: "string"
excludeTopology:
description: "Exclude device's NUMA node when advertising this resource by SRIOV network device plugin. Default to false."
type: "boolean"
externallyManaged:
description: "don't create the virtual function only allocated them to the device plugin. Defaults to false."
type: "boolean"
isRdma:
description: "RDMA mode. Defaults to false."
type: "boolean"
linkType:
description: "NIC Link Type. Allowed value \"eth\", \"ETH\", \"ib\", and \"IB\"."
enum:
- "eth"
- "ETH"
- "ib"
- "IB"
type: "string"
mtu:
description: "MTU of VF"
minimum: 1.0
type: "integer"
needVhostNet:
description: "mount vhost-net device. Defaults to false."
type: "boolean"
nicSelector:
description: "NicSelector selects the NICs to be configured"
properties:
deviceID:
description: "The device hex code of SR-IoV device. Allowed value \"0d58\", \"1572\", \"158b\", \"1013\", \"1015\", \"1017\", \"101b\"."
type: "string"
netFilter:
description: "Infrastructure Networking selection filter. Allowed value \"openstack/NetworkID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\""
type: "string"
pfNames:
description: "Name of SR-IoV PF."
items:
type: "string"
type: "array"
rootDevices:
description: "PCI address of SR-IoV PF."
items:
type: "string"
type: "array"
vendor:
description: "The vendor hex code of SR-IoV device. Allowed value \"8086\", \"15b3\"."
type: "string"
type: "object"
nodeSelector:
additionalProperties:
type: "string"
description: "NodeSelector selects the nodes to be configured"
type: "object"
numVfs:
description: "Number of VFs for each PF"
minimum: 0.0
type: "integer"
priority:
description: "Priority of the policy, higher priority policies can override lower ones."
maximum: 99.0
minimum: 0.0
type: "integer"
resourceName:
description: "SRIOV Network device plugin endpoint resource name"
type: "string"
vdpaType:
description: "VDPA device type. Allowed value \"virtio\", \"vhost\""
enum:
- "virtio"
- "vhost"
type: "string"
required:
- "nicSelector"
- "nodeSelector"
- "numVfs"
- "resourceName"
type: "object"
status:
description: "SriovNetworkNodePolicyStatus defines the observed state of SriovNetworkNodePolicy"
type: "object"
type: "object"
served: true
storage: true
subresources:
status: {}
Loading

0 comments on commit 80c5e3e

Please sign in to comment.