Skip to content

Commit

Permalink
Enforce consistent project naming scheme
Browse files Browse the repository at this point in the history
Correct erroroneous project names and capitalise the project
name.

Signed-off-by: Kennelly, Martin <[email protected]>
  • Loading branch information
martinkennelly committed May 25, 2021
1 parent 2490f93 commit d58fdd4
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 29 deletions.
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@

# SR-IOV Network device plugin for Kubernetes
# SR-IOV Network Device Plugin for Kubernetes

[![Travis CI](https://travis-ci.org/k8snetworkplumbingwg/sriov-network-device-plugin.svg?branch=master)](https://travis-ci.org/k8snetworkplumbingwg/sriov-network-device-plugin/builds) [![Go Report Card](https://goreportcard.com/badge/github.com/k8snetworkplumbingwg/sriov-network-device-plugin)](https://goreportcard.com/report/github.com/k8snetworkplumbingwg/sriov-network-device-plugin) [![Weekly minutes](https://img.shields.io/badge/Weekly%20Meeting%20Minutes-Mon%203pm%20GMT-blue.svg?style=plastic)](https://docs.google.com/document/d/1sJQMHbxZdeYJPgAWK1aSt6yzZ4K_8es7woVIrwinVwI)

## Table of Contents

- [SR-IOV Network device plugin](#sr-iov-network-device-plugin)
- [SR-IOV Network Device Plugin](#sr-iov-network-device-plugin)
- [Features](#features)
- [Supported SR-IOV NICs](#supported-sr-iov-nics)
- [Quick Start](#quick-start)
- [Build SR-IOV CNI](#build-sr-iov-cni)
- [Build and run SR-IOV network device plugin](#build-and-run-sr-iov-network-device-plugin)
- [Build and run SR-IOV Network Device Plugin](#build-and-run-sr-iov-network-device-plugin)
- [Install one compatible CNI meta plugin](#install-one-compatible-cni-meta-plugin)
- [Option 1 - Multus](#option-1---multus)
- [Install Multus](#install-multus)
Expand Down Expand Up @@ -41,7 +41,7 @@

## SR-IOV Network Device Plugin

The SR-IOV network device plugin is Kubernetes device plugin for discovering and advertising SR-IOV virtual functions (VFs) available on a Kubernetes host.
The SR-IOV Network Device Plugin is Kubernetes device plugin for discovering and advertising SR-IOV virtual functions (VFs) available on a Kubernetes host.

## Features

Expand Down Expand Up @@ -86,7 +86,7 @@ The following NICs were tested with this implementation. However, other SR-IOV

### Creating SR-IOV Virtual Functions

Before starting the SR-IOV device plugin you will need to create SR-IOV Virtual Functions on your system. [The VF Setup doc will guide you through that process.](docs/vf-setup.md)
Before starting the SR-IOV Network Device Plugin you will need to create SR-IOV Virtual Functions on your system. [The VF Setup doc will guide you through that process.](docs/vf-setup.md)

### Build SR-IOV CNI

Expand All @@ -98,7 +98,7 @@ $ make
$ cp build/sriov /opt/cni/bin
```

### Build and run SR-IOV network device plugin
### Build and run SR-IOV Network Device Plugin

You can either build the docker image locally or pull it from [docker hub](https://hub.docker.com/r/nfvpe/sriov-device-plugin/).

Expand All @@ -122,15 +122,15 @@ $ make image
```
$ kubectl create -f deployments/configMap.yaml
```
4. Deploy SR-IOV network device plugin Daemonset
4. Deploy SR-IOV Network Device Plugin Daemonset
```
$ kubectl create -f deployments/k8s-v1.16/sriovdp-daemonset.yaml
```
> For K8s version v1.15 or older use `deployments/k8s-v1.10-v1.15/sriovdp-daemonset.yaml` instead.

### Install one compatible CNI meta plugin
A compatible CNI meta-plugin installation is required for SR-IOV CNI plugin to be able to get allocated VF's deviceID in order to configure it.
A compatible CNI meta-plugin installation is required for SR-IOV CNI plugin to be able to get allocated VF's deviceID in order to configure it.

#### Option 1 - Multus

Expand All @@ -146,7 +146,7 @@ $ kubectl create -f deployments/sriov-crd.yaml
```

#### Option 2 - DANM
This section explains an example deployment of SR-IOV Network device plugin in Kubernetes if you choose DANM as your meta plugin.
This section explains an example deployment of SR-IOV Network Device Plugin in Kubernetes if you choose DANM as your meta plugin.

##### Install DANM
Refer to [DANM deployment documentation](https://github.com/nokia/danm/blob/master/deployment-guide.md) for detailed instructions.
Expand All @@ -156,13 +156,13 @@ DANM supports the Device Plugin based SR-IOV provisioning with the dynamic level
Refer to the [DAMN User Guide documentation](https://github.com/nokia/danm/blob/master/user-guide.md) for detailed instructions.
For example manifest objects refer to [SR-IOV demo](https://github.com/nokia/danm/tree/master/example/device_plugin_demo)

> See following sections on how to configure and run SR-IOV device plugin.
> See following sections on how to configure and run SR-IOV Network Device Plugin.
## Configurations

### Config parameters

This plugin creates device plugin endpoints based on the configurations given in the config map associated with the SR-IOV device plugin. In json format this file appears as shown below:
This plugin creates device plugin endpoints based on the configurations given in the config map associated with the SR-IOV Network Device Plugin. In json format this file appears as shown below:

```json
{
Expand Down Expand Up @@ -345,7 +345,7 @@ If only PF network interface or PF PCI address is specified in the selector, the
- Create required Virtual functions
- Bind all VF with right drivers
- Create a resource config map
- Run SR-IOV device plugin (as daemonset)
- Run SR-IOV Network Device Plugin (as daemonset)

On successful run, the allocatable resource list for the node should be updated with resource discovered by the plugin as shown below. Note that the resource name is appended with the `-resource-prefix` i.e. `"intel.com/sriov_net_A"`.

Expand All @@ -369,7 +369,7 @@ $ kubectl get node node1 -o json | jq '.status.allocatable'
We assume that you have working K8s cluster configured with one of the supported meta plugins for multi-network support. Please see [Features](#features) and [Quick Start](#quick-start) sections for more information on required CNI plugins.

### Deploy the Device Plugin
The [images](./images) directory contains example Dockerfile, sample specs along with build scripts to deploy the SR-IOV device plugin as daemonset. Please see [README.md](./images/README.md) for more information about the Docker images.
The [images](./images) directory contains example Dockerfile, sample specs along with build scripts to deploy the SR-IOV Network Device Plugin as daemonset. Please see [README.md](./images/README.md) for more information about the Docker images.

````
# Create ConfigMap
Expand All @@ -390,7 +390,7 @@ kube-system kube-sriov-device-plugin-amd64-46wpv 1/1 Running 0
### Deploy SR-IOV workloads when Multus is used
There are some example Pod specs and related network CRD yaml files in [deployments](./deployments) directory for a sample deployment with Multus.

Leave the SR-IOV device plugin running and open a new terminal session for following steps.
Leave the SR-IOV Network Device Plugin running and open a new terminal session for following steps.

#### Deploy test Pod connecting to pre-created SR-IOV network

Expand Down Expand Up @@ -523,7 +523,7 @@ For example, if 2 devices are allocated from `intel.com/sriov` extended resource

### Configure Device Plugin extended selectors in virtual environments

SR-IOV network device plugin supports running in a virtualized environment. However, not all device selectors are
SR-IOV Network Device Plugin supports running in a virtualized environment. However, not all device selectors are
applicable as the VFs are passthrough to the VM without any association to their respective PF, hence any device
selector that relies on the association between a VF and its PF will not work and therefore the _pfNames_ and
_rootDevices_ extended selectors will not work in a virtual deployment. The common selector _pciAddress_ can be
Expand All @@ -536,7 +536,7 @@ which usually doesn't exist in VM. The recommended CNI plugin to use in a virtua

### Virtual environments with no iommu

SR-IOV network device plugin supports allocating VFIO devices in a virtualized environment without a virtualized iommu.
SR-IOV Network Device Plugin supports allocating VFIO devices in a virtualized environment without a virtualized iommu.
For more information refer to [this](./docs/dpdk/README-virt.md).

## Multi Architecture Support
Expand All @@ -547,7 +547,7 @@ The supported architectures:

Buiding image for AMD64:
```
$ DOCKERFILE=Dockerfile make image
$ DOCKERFILE=Dockerfile make image
```

Buiding image for PPC64LE:
Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Additional documentation
This page contains supplimentary documention that users may find useful for various use-cases with SR-IOV network device plugin.
This page contains supplimentary documention that users may find useful for various use-cases with SR-IOV Network Device Plugin.

* [Running DPDK application in Kubernetes](dpdk/)
* [Providing Failover with a bonded interface in Kubernetes](bond/)
* [Using UDEV Rules for changing NIC's network device name](udev/)
* [Running RDMA application in Kubernetes](rdma/)
* [SR-IOV network device plugin with DDP](ddp/)
* [SR-IOV Network Device Plugin with DDP](ddp/)
* [Using node specific config file for running device plugin DaemonSet](config-file)
2 changes: 1 addition & 1 deletion docs/bond/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The below shows a method to create a pod with 2 SR-IOV interfaces bonded into a
This style of configuration can be used to create workloads with high availability - i.e. with two VFs from different PFs connected to the pod. Note that Bond CNI will only work with interfaces utilising the kernel driver. Workloads that leverage userspace drivers on VFs - such as DPDK workloads - are not covered by this guide or by the Bond CNI.

## Prerequisites
This guide assumes the quick set up of the repo has been followed. That is that Multus, SRIOV CNI and SRIOV Device Plugin have been installed.
This guide assumes the quick set up of the repo has been followed. That is that Multus, SRIOV CNI and SRIOV Network Device Plugin have been installed.

Additionally at least two SRIOV Virtual Functions of the type 'intel_sriov_netdevice' should be available on a target node.

Expand Down
2 changes: 1 addition & 1 deletion docs/config-file/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Using node specific config file for running device plugin DaemonSet

To allow granular and accurate control over which SR-IOV devices can be exposed as kubernetes extended resource, it is sometimes required to define a per-node config file when launching SR-IOV device plugin DaemonSet in a heterogeneous cluster. Since SR-IOV device plugin provides a command line option `--config-file`, the node specific config file can be achieved by running the following steps:
To allow granular and accurate control over which SR-IOV devices can be exposed as kubernetes extended resource, it is sometimes required to define a per-node config file when launching SR-IOV Device Plugin DaemonSet in a heterogeneous cluster. Since SR-IOV Device Plugin provides a command line option `--config-file`, the node specific config file can be achieved by running the following steps:

1. Generate configMap with node specific sections:
```
Expand Down
14 changes: 7 additions & 7 deletions docs/ddp/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# SR-IOV Network Device plugin with DDP
# SR-IOV Network Device Plugin with DDP
Dynamic Device Personalizationi aka DDP allows dynamic reconfiguration of the packet processing pipeline of Intel® Ethernet 800/700 series to meet specific use-case needs for on-demand, adding new packet processing pipeline configuration *packages* to a network adapter at run time, without resetting or rebooting the server.

The SR-IOV Network Device plugin can be used to identify currently running DDP *packages*, allowing it to filter Virtual Functions (VFs) by their DDP package name.
The SR-IOV Network Device Plugin can be used to identify currently running DDP *packages*, allowing it to filter Virtual Functions (VFs) by their DDP package name.

In this documentation we will cover the kernel driver use-case only. DPDK configuration of DDP is out of scope.

## Dynamic Device Personalization for Intel® Ethernet Controller E810
For Intel® Ethernet Controller E810, a DDP package can be loaded into the NIC using the ice kernel driver. Current device DDP state can be determined with DDPTool or devlink.

### Recommended pre-requisites for SR-IOV Network Device plugin
### Recommended pre-requisites for SR-IOV Network Device Plugin
* Firmware: v2.22 or newer
* Driver: ice v1.2.1 or newer

Expand All @@ -18,7 +18,7 @@ For Intel® Ethernet Controller E810, a DDP package can be loaded into the NIC u
## Dynamic Device Personalization for Intel® Ethernet Controller X710
For Intel® Ethernet Controller X710, a DDP package can be loaded into the NIC using i40e kernel driver and ethtool. Current device DDP state can be determined with DDPTool.

### Recommended pre-requisites for SR-IOV Network Device plugin
### Recommended pre-requisites for SR-IOV Network Device Plugin
* Firmware: v8.30 or newer
* Driver: i40e v2.7.26 or newer

Expand Down Expand Up @@ -72,7 +72,7 @@ You can use Linux utility for Intel® 700 Series called `ddptool` to query curre

### Create resource config with DDP package selector

Create ConfigMap for device plugin:
Create ConfigMap for SR-IOV Network Device Plugin:

```
apiVersion: v1
Expand Down Expand Up @@ -125,8 +125,8 @@ data:
$ kubectl create -f configMap.yaml
```

### Deploy SR-IOV network device plugin
Once the ConfigMap for the device plugin is created/updated you can deploy the SR-IOV network device plugin as [usual](https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin#example-deployments). When everything is good, we should see that device plugin is able to discover VFs with DDP package names given in the resource pool selector.
### Deploy SR-IOV Network Device Plugin
Once the ConfigMap for the device plugin is created/updated you can deploy the SR-IOV Network Device Plugin as [usual](https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin#example-deployments). When everything is good, we should see that device plugin is able to discover VFs with DDP package names given in the resource pool selector.

```
[root@localhost ~]# kubectl get node node1 -o json | jq ".status.allocatable"
Expand Down
2 changes: 1 addition & 1 deletion docs/vf-setup.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Setting up Virtual Functions

The SR-IOV Network Device Plugin requires SR-IOV virtual functions (VFs) to be created on the host ahead of startup. The device plugin does not manage the creation of virtual functions, and it does not automatically update when there is a change in the virtual functions. Each time the number of VFs or the driver used by the VF change the SR-IOV Network device plugin needs to be restarted.
The SR-IOV Network Device Plugin requires SR-IOV virtual functions (VFs) to be created on the host ahead of startup. The device plugin does not manage the creation of virtual functions, and it does not automatically update when there is a change in the virtual functions. Each time the number of VFs or the driver used by the VF change the SR-IOV Network Device Plugin needs to be restarted.
This guide gives an overview for setting up SR-IOV virtual functions on a linux host for various NICs.

* [Intel](#intel)
Expand Down

0 comments on commit d58fdd4

Please sign in to comment.