Skip to content

Commit

Permalink
Removing .travis.yml file
Browse files Browse the repository at this point in the history
  • Loading branch information
Eoghan Russell committed Jul 26, 2021
2 parents 1f1822b + 830eabc commit 1fc468c
Show file tree
Hide file tree
Showing 9 changed files with 184 additions and 99 deletions.
71 changes: 70 additions & 1 deletion .github/workflows/image-push-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ on:
branches:
- master
jobs:
build-and-push-device-plugin:
build-and-push-amd64-device-plugin:
if: github.repository_owner == 'k8snetworkplumbingwg'
name: Image push AMD64
runs-on: ubuntu-20.04
env:
IMAGE_NAME: ghcr.io/${{ github.repository }}
Expand All @@ -29,5 +31,72 @@ jobs:
push: true
tags: |
${{ env.IMAGE_NAME }}:latest
${{ env.IMAGE_NAME }}:latest-amd64
${{ env.IMAGE_NAME }}:${{ github.sha }}
file: images/Dockerfile

build-and-push-arm64-device-plugin:
if: github.repository_owner == 'k8snetworkplumbingwg'
name: Image push ARM64
runs-on: ubuntu-20.04
env:
IMAGE_NAME: ghcr.io/${{ github.repository }}
steps:
- name: Check out the repo
uses: actions/checkout@v2

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to Docker
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push sriov-network-device-plugin
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/arm64
push: true
tags: |
${{ env.IMAGE_NAME }}:latest-arm64
file: images/Dockerfile.arm64

build-and-push-ppc64le-device-plugin:
if: github.repository_owner == 'k8snetworkplumbingwg'
name: Image push ppc64le
runs-on: ubuntu-20.04
env:
IMAGE_NAME: ghcr.io/${{ github.repository }}
steps:
- name: Check out the repo
uses: actions/checkout@v2

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to Docker
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push sriov-network-device-plugin
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/ppc64le
push: true
tags: |
${{ env.IMAGE_NAME }}:latest-ppc64le
file: images/Dockerfile.ppc64le
84 changes: 83 additions & 1 deletion .github/workflows/image-push-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ on:
tags:
- v*
jobs:
build-and-push-image-device-plugin:
build-and-push-amd64-device-plugin:
if: github.repository_owner == 'k8snetworkplumbingwg'
name: Image push AMD64
runs-on: ubuntu-20.04
env:
IMAGE_NAME: ghcr.io/${{ github.repository }}
Expand Down Expand Up @@ -37,3 +39,83 @@ jobs:
tags: |
${{ steps.docker_meta.outputs.tags }}
file: images/Dockerfile

build-and-push-arm64-device-plugin:
if: github.repository_owner == 'k8snetworkplumbingwg'
name: Image push ARM64
runs-on: ubuntu-20.04
env:
IMAGE_NAME: ghcr.io/${{ github.repository }}
steps:
- name: Check out the repo
uses: actions/checkout@v2

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to Docker
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Docker meta
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ${{ env.IMAGE_NAME }}
tag-latest: false

- name: Build and push sriov-network-device-plugin
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/arm64
push: true
tags: |
${{ steps.docker_meta.outputs.tags }}-arm64
file: images/Dockerfile.arm64

build-and-push-ppc64le-device-plugin:
if: github.repository_owner == 'k8snetworkplumbingwg'
name: Image push ppc64le
runs-on: ubuntu-20.04
env:
IMAGE_NAME: ghcr.io/${{ github.repository }}
steps:
- name: Check out the repo
uses: actions/checkout@v2

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to Docker
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Docker meta
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ${{ env.IMAGE_NAME }}
tag-latest: false

- name: Build and push sriov-network-device-plugin
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/ppc64le
push: true
tags: |
${{ steps.docker_meta.outputs.tags }}-ppc64le
file: images/Dockerfile.ppc64le
55 changes: 0 additions & 55 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ COVERAGE_XML = $(COVERAGE_DIR)/coverage.xml
COVERAGE_HTML = $(COVERAGE_DIR)/index.html
# Docker image
DOCKERFILE?=$(CURDIR)/images/Dockerfile
TAG=docker.io/nfvpe/sriov-device-plugin
TAG?=ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin
# Docker arguments - To pass proxy for Docker invoke it as 'make image HTTP_POXY=http://192.168.0.1:8080'
DOCKERARGS=
ifdef HTTP_PROXY
Expand Down
53 changes: 22 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
- [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)
- [Install SR-IOV CNI](#install-sr-iov-cni)
- [Get SR-IOV Network Device Plugin container image](#get-sr-iov-network-device-plugin-container-image)
- [Install SR-IOV Network Device Plugin](#install-sr-iov-network-device-plugin)
- [Install one compatible CNI meta plugin](#install-one-compatible-cni-meta-plugin)
- [Configurations](#configurations)
- [Config parameters](#config-parameters)
Expand Down Expand Up @@ -75,45 +76,36 @@ The following NICs were tested with this implementation. However, other SR-IOV

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
### Install SR-IOV CNI

1. Compile SR-IOV-CNI (supported from release 2.0+):
See the [SR-IOV CNI](https://github.com/k8snetworkplumbingwg/sriov-cni) repository for build and installation instructions. Supported from SR-IOV CNI release 2.0+.

### Get SR-IOV Network Device Plugin container image
#### GitHub
```
$ git clone https://github.com/k8snetworkplumbingwg/sriov-cni.git
$ cd sriov-cni
$ make
$ cp build/sriov /opt/cni/bin
$ docker pull ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:latest
```

### 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/).

If you want to build the docker image locally then follow the following steps:

1. Clone the sriov-network-device-plugin
```
$ git clone https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin.git
$ cd sriov-network-device-plugin
```
2. Build docker image binary using `make`
```
#### Build image locally
```
$ make image
```
> On a successful build, a docker image with tag `nfvpe/sriov-device-plugin:latest` will be created. You will need to build this image on each node. Alternatively, you could use a local docker registry to host this image.
> On a successful build, a docker image with tag `ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:latest` will be created. You will need to build this image on each node. Alternatively, you could use a local docker registry to host this image.
### Install SR-IOV Network Device Plugin
#### Deploy config map
Create a ConfigMap that defines SR-IOV resource pool configuration

3. Create a ConfigMap that defines SR-IOV resource pool configuration

> Make sure to update the 'config.json' entry in the configMap data to reflect your resource configuration for the device plugin. See [Configurations](#configurations) section for supported configuration parameters.
> Make sure to update the 'config.json' entry in the configMap data to reflect your resource configuration for the device plugin. See [Configurations](#configurations) section for supported configuration parameters.
```
```
$ kubectl create -f deployments/configMap.yaml
```
4. Deploy SR-IOV Network Device Plugin Daemonset
#### Deploy 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.
> For K8s version v1.15 or earlier use `deployments/k8s-v1.10-v1.15/sriovdp-daemonset.yaml` instead.

### Install one compatible CNI meta plugin
Expand Down Expand Up @@ -530,6 +522,7 @@ For more information refer to [this](./docs/dpdk/README-virt.md).

The supported architectures:
* AMD64
* ARM64
* PPC64LE

Buiding image for AMD64:
Expand All @@ -539,11 +532,9 @@ $ DOCKERFILE=Dockerfile make image

Buiding image for PPC64LE:
```
$ DOCKERFILE=images/Dockerfile.ppc64le TAG=nfvpe/sriov-device-plugin:ppc64le make image
$ DOCKERFILE=images/Dockerfile.ppc64le TAG=ghcr.io/k8snetworkplumbingwg/sriov-device-plugin:latest-ppc64le make image
```

## Issues and Contributing

We welcome your feedback and contributions to this project. Please see the [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.

Copyright 2018 © Intel Corporation.
4 changes: 2 additions & 2 deletions deployments/k8s-v1.10-v1.15/sriovdp-daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ spec:
serviceAccountName: sriov-device-plugin
containers:
- name: kube-sriovdp
image: docker.io/nfvpe/sriov-device-plugin:v3.3
image: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:v3.3.2
imagePullPolicy: IfNotPresent
args:
- --log-dir=sriovdp
Expand Down Expand Up @@ -93,7 +93,7 @@ spec:
serviceAccountName: sriov-device-plugin
containers:
- name: kube-sriovdp
image: docker.io/nfvpe/sriov-device-plugin:ppc64le
image: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:latest-ppc64le
imagePullPolicy: IfNotPresent
args:
- --log-dir=sriovdp
Expand Down
8 changes: 3 additions & 5 deletions deployments/k8s-v1.16/sriovdp-daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ spec:
serviceAccountName: sriov-device-plugin
containers:
- name: kube-sriovdp
image: docker.io/nfvpe/sriov-device-plugin:v3.3
image: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:v3.3.2
imagePullPolicy: IfNotPresent
args:
- --log-dir=sriovdp
Expand Down Expand Up @@ -107,7 +107,7 @@ spec:
serviceAccountName: sriov-device-plugin
containers:
- name: kube-sriovdp
image: docker.io/nfvpe/sriov-device-plugin:ppc64le
image: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:latest-ppc64le
imagePullPolicy: IfNotPresent
args:
- --log-dir=sriovdp
Expand Down Expand Up @@ -178,9 +178,7 @@ spec:
serviceAccountName: sriov-device-plugin
containers:
- name: kube-sriovdp
# this is a temporary image repository for arm64 architecture, util CI/CD of the
# sriov-device-plugin will not allow to recreate multiple images
image: alexeyperevalov/arm64-sriov-device-plugin
image: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:latest-arm64
imagePullPolicy: IfNotPresent
args:
- --log-dir=sriovdp
Expand Down
2 changes: 1 addition & 1 deletion docs/config-file/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ spec:
serviceAccountName: sriov-device-plugin
containers:
- name: kube-sriovdp
image: docker.io/nfvpe/sriov-device-plugin
image: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:latest
imagePullPolicy: IfNotPresent
args:
- --log-dir=sriovdp
Expand Down
Loading

0 comments on commit 1fc468c

Please sign in to comment.