From f9957f277f5a976e867a8225cbd0fa68e45440c6 Mon Sep 17 00:00:00 2001 From: Guo Ruijing Date: Mon, 23 Oct 2017 00:49:35 +0000 Subject: build ovsdpdk cni by docker Change-Id: I1b1ed822dbfca0c1a94129ee8c0464bfec2e054b Signed-off-by: Guo Ruijing Signed-off-by: vagrant Signed-off-by: Guo Ruijing --- src/cni/ovsdpdk/Dockerfile | 7 ------- src/cni/ovsdpdk/Dockerfile.build | 6 ++++++ src/cni/ovsdpdk/Dockerfile.cniovsdpdk | 3 +++ src/cni/ovsdpdk/Vagrantfile | 16 ---------------- src/cni/ovsdpdk/build.sh | 18 ++++++++++++++++++ src/cni/ovsdpdk/build_cni.sh | 13 +++++++++++++ src/cni/ovsdpdk/build_cni_ovsdpdk.sh | 19 ------------------- src/cni/ovsdpdk/cni/install_cni.sh | 8 ++++++++ src/cni/ovsdpdk/cni/setup_ovsdpdk.sh | 16 ++++++++++++++++ src/cni/ovsdpdk/cni/teardown_ovsdpdk.sh | 9 +++++++++ src/cni/ovsdpdk/install_cni.sh | 8 -------- src/cni/ovsdpdk/setup_ovsdpdk.sh | 16 ---------------- src/cni/ovsdpdk/teardown_ovsdpdk.sh | 9 --------- 13 files changed, 73 insertions(+), 75 deletions(-) delete mode 100644 src/cni/ovsdpdk/Dockerfile create mode 100644 src/cni/ovsdpdk/Dockerfile.build create mode 100644 src/cni/ovsdpdk/Dockerfile.cniovsdpdk delete mode 100644 src/cni/ovsdpdk/Vagrantfile create mode 100644 src/cni/ovsdpdk/build.sh create mode 100644 src/cni/ovsdpdk/build_cni.sh delete mode 100755 src/cni/ovsdpdk/build_cni_ovsdpdk.sh create mode 100644 src/cni/ovsdpdk/cni/install_cni.sh create mode 100755 src/cni/ovsdpdk/cni/setup_ovsdpdk.sh create mode 100755 src/cni/ovsdpdk/cni/teardown_ovsdpdk.sh delete mode 100644 src/cni/ovsdpdk/install_cni.sh delete mode 100755 src/cni/ovsdpdk/setup_ovsdpdk.sh delete mode 100755 src/cni/ovsdpdk/teardown_ovsdpdk.sh (limited to 'src') diff --git a/src/cni/ovsdpdk/Dockerfile b/src/cni/ovsdpdk/Dockerfile deleted file mode 100644 index 2a7208c..0000000 --- a/src/cni/ovsdpdk/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM ubuntu:16.04 - -WORKDIR /cni -ADD setup_ovsdpdk.sh . -ADD teardown_ovsdpdk.sh . -ADD ovsdpdk . -ADD install_cni.sh . diff --git a/src/cni/ovsdpdk/Dockerfile.build b/src/cni/ovsdpdk/Dockerfile.build new file mode 100644 index 0000000..ed5731e --- /dev/null +++ b/src/cni/ovsdpdk/Dockerfile.build @@ -0,0 +1,6 @@ +FROM ubuntu:16.04 + +RUN apt-get update && apt-get install -y sudo git wget +ADD ovsdpdk.patch / +ADD build_cni.sh / +RUN bash /build_cni.sh diff --git a/src/cni/ovsdpdk/Dockerfile.cniovsdpdk b/src/cni/ovsdpdk/Dockerfile.cniovsdpdk new file mode 100644 index 0000000..2dd4f3c --- /dev/null +++ b/src/cni/ovsdpdk/Dockerfile.cniovsdpdk @@ -0,0 +1,3 @@ +FROM ubuntu:16.04 + +ADD cni /cni diff --git a/src/cni/ovsdpdk/Vagrantfile b/src/cni/ovsdpdk/Vagrantfile deleted file mode 100644 index f170c69..0000000 --- a/src/cni/ovsdpdk/Vagrantfile +++ /dev/null @@ -1,16 +0,0 @@ -Vagrant.require_version ">= 1.8.6" -Vagrant.configure("2") do |config| - - config.vm.box = "bento/ubuntu-16.04" - config.vm.provider :virtualbox do |vb| - vb.customize ["modifyvm", :id, "--memory", 4096] - vb.customize ["modifyvm", :id, "--cpus", 4] - vb.customize "post-boot",["controlvm", :id, "setlinkstate1", "on"] - end - - config.vm.define "cni-ovsdpdk" do |config| - config.vm.hostname = "cni-ovsdpdk" - config.vm.provision "shell", path: "build_cni_ovsdpdk.sh", privileged: false - end - -end diff --git a/src/cni/ovsdpdk/build.sh b/src/cni/ovsdpdk/build.sh new file mode 100644 index 0000000..fad1abc --- /dev/null +++ b/src/cni/ovsdpdk/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash +set -ex + +HOME="$(dirname `readlink -f $0`)" +PWD="$(pwd)" + +cd $HOME +sudo apt-get install -y docker.io +sudo docker rmi -f cniovsdpdk.build || true +sudo docker build -t cniovsdpdk.build . -f Dockerfile.build +sudo docker run -v $HOME/cni:/build -t cniovsdpdk.build cp /plugins/bin/ovsdpdk /build +sudo docker build -t openretriever/cnicniovsdpdk . -f Dockerfile.cniovsdpdk +sudo rm -rf $HOME/cni/ovsdpdk +echo git clone https://github.com/containernetworking/cni +echo sudo CNI_PATH=$CNI_PATH ./priv-net-run.sh ifconfig +echo sudo docker login openretriever/cnicniovsdpdk -u user -p password +echo sudo docker push openretriever/cnicniovsdpdk +cd $PWD diff --git a/src/cni/ovsdpdk/build_cni.sh b/src/cni/ovsdpdk/build_cni.sh new file mode 100644 index 0000000..dbb3dd5 --- /dev/null +++ b/src/cni/ovsdpdk/build_cni.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -ex + +sudo apt-get update +sudo apt-get install -y docker.io devscripts git jq +wget -qO- https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz | sudo tar -C /usr/local -xz +echo 'export GOPATH=/go; export PATH=/usr/local/go/bin:$GOPATH/bin:$PATH' >> ~/.bashrc +export GOPATH=/go; export PATH=/usr/local/go/bin:$GOPATH/bin:$PATH +git clone https://github.com/containernetworking/plugins +cd plugins +git checkout 5544d9ced0d6e908fe26e9dbe529c7feb87d21f5 +patch -p1 < ../ovsdpdk.patch +bash ./build.sh diff --git a/src/cni/ovsdpdk/build_cni_ovsdpdk.sh b/src/cni/ovsdpdk/build_cni_ovsdpdk.sh deleted file mode 100755 index 71318d8..0000000 --- a/src/cni/ovsdpdk/build_cni_ovsdpdk.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -set -ex - -sudo apt-get update -sudo apt-get install -y docker.io devscripts git -wget -qO- https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz | sudo tar -C /usr/local -xz -echo 'export GOPATH=/go; export PATH=/usr/local/go/bin:$GOPATH/bin:$PATH' >> ~/.bashrc -export GOPATH=/go; export PATH=/usr/local/go/bin:$GOPATH/bin:$PATH -git clone https://github.com/containernetworking/cni -echo sudo CNI_PATH=$CNI_PATH ./priv-net-run.sh ifconfig -git clone https://github.com/containernetworking/plugins -cd plugins -git checkout 5544d9ced0d6e908fe26e9dbe529c7feb87d21f5 -patch -p1 < /vagrant/ovsdpdk.patch -./build.sh -cd bin -cp /vagrant/* . -sudo docker build -t openretriever/cni-ovsdpdk . diff --git a/src/cni/ovsdpdk/cni/install_cni.sh b/src/cni/ovsdpdk/cni/install_cni.sh new file mode 100644 index 0000000..1996700 --- /dev/null +++ b/src/cni/ovsdpdk/cni/install_cni.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -ex +cp /cni/ovsdpdk /opt/cni/bin +cp /cni/setup_ovsdpdk.sh /opt/cni/bin +cp /cni/teardown_ovsdpdk.sh /opt/cni/bin +cp /etc/kube-cniovsdpdk/cni-conf.json /etc/cni/net.d/10-ovsdpdk.conf +while true; do sleep 3600; done diff --git a/src/cni/ovsdpdk/cni/setup_ovsdpdk.sh b/src/cni/ovsdpdk/cni/setup_ovsdpdk.sh new file mode 100755 index 0000000..6009b7a --- /dev/null +++ b/src/cni/ovsdpdk/cni/setup_ovsdpdk.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +netns=$1 +containerid=$2 +ip=$3 +pid=$(echo $netns | cut -f3 -d"/") + +sudo ovs-vsctl --may-exist add-br br-dpdk -- set bridge br-dpdk datapath_type=netdev +sudo ovs-vsctl --may-exist add-port br-dpdk vhost-user-$pid -- set Interface vhost-user-$pid type=dpdkvhostuser + +sudo ln -sf $netns /var/run/netns/$pid +sudo ip link add dummy-$pid type dummy +sudo ip link set dummy-$pid netns $pid + +sudo mkdir -p /var/run/cni +echo $ip | sudo tee /var/run/cni/netconf-$pid diff --git a/src/cni/ovsdpdk/cni/teardown_ovsdpdk.sh b/src/cni/ovsdpdk/cni/teardown_ovsdpdk.sh new file mode 100755 index 0000000..857738e --- /dev/null +++ b/src/cni/ovsdpdk/cni/teardown_ovsdpdk.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +netns=$1 +containerid=$2 +pid=$(echo $netns | cut -f3 -d"/") + +sudo ovs-vsctl del-port br-dpdk vhost-user-$pid +sudo ip netns exec $pid link delete dummy-$pid +sudo rm -rf /var/run/cni/netconf-$pid diff --git a/src/cni/ovsdpdk/install_cni.sh b/src/cni/ovsdpdk/install_cni.sh deleted file mode 100644 index 1996700..0000000 --- a/src/cni/ovsdpdk/install_cni.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -set -ex -cp /cni/ovsdpdk /opt/cni/bin -cp /cni/setup_ovsdpdk.sh /opt/cni/bin -cp /cni/teardown_ovsdpdk.sh /opt/cni/bin -cp /etc/kube-cniovsdpdk/cni-conf.json /etc/cni/net.d/10-ovsdpdk.conf -while true; do sleep 3600; done diff --git a/src/cni/ovsdpdk/setup_ovsdpdk.sh b/src/cni/ovsdpdk/setup_ovsdpdk.sh deleted file mode 100755 index 6009b7a..0000000 --- a/src/cni/ovsdpdk/setup_ovsdpdk.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -netns=$1 -containerid=$2 -ip=$3 -pid=$(echo $netns | cut -f3 -d"/") - -sudo ovs-vsctl --may-exist add-br br-dpdk -- set bridge br-dpdk datapath_type=netdev -sudo ovs-vsctl --may-exist add-port br-dpdk vhost-user-$pid -- set Interface vhost-user-$pid type=dpdkvhostuser - -sudo ln -sf $netns /var/run/netns/$pid -sudo ip link add dummy-$pid type dummy -sudo ip link set dummy-$pid netns $pid - -sudo mkdir -p /var/run/cni -echo $ip | sudo tee /var/run/cni/netconf-$pid diff --git a/src/cni/ovsdpdk/teardown_ovsdpdk.sh b/src/cni/ovsdpdk/teardown_ovsdpdk.sh deleted file mode 100755 index 857738e..0000000 --- a/src/cni/ovsdpdk/teardown_ovsdpdk.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -netns=$1 -containerid=$2 -pid=$(echo $netns | cut -f3 -d"/") - -sudo ovs-vsctl del-port br-dpdk vhost-user-$pid -sudo ip netns exec $pid link delete dummy-$pid -sudo rm -rf /var/run/cni/netconf-$pid -- cgit 1.2.3-korg