From da51aabb3171afb8107f837fd0ccfe1add403c4d Mon Sep 17 00:00:00 2001 From: Guo Ruijing Date: Thu, 3 Aug 2017 17:54:29 -0700 Subject: Fix some issues in ovsdpdk, cni for ovsdpdk Change-Id: Ib919a14a74c6d33c74c7d4f9baa5fd81b9054cbd Signed-off-by: Guo Ruijing --- src/vagrant/k8s_kubeadm/ovsdpdk/install.sh | 3 +-- src/vagrant/k8s_kubeadm/ovsdpdk/kube_ovsdpdk.yml | 5 +++++ src/vagrant/k8s_kubeadm/ovsdpdk/start.sh | 24 +++++++++++++++++------- 3 files changed, 23 insertions(+), 9 deletions(-) (limited to 'src/vagrant/k8s_kubeadm/ovsdpdk') diff --git a/src/vagrant/k8s_kubeadm/ovsdpdk/install.sh b/src/vagrant/k8s_kubeadm/ovsdpdk/install.sh index 66fb71d..f565025 100644 --- a/src/vagrant/k8s_kubeadm/ovsdpdk/install.sh +++ b/src/vagrant/k8s_kubeadm/ovsdpdk/install.sh @@ -2,6 +2,5 @@ set -ex sudo apt-get update -sudo apt-get install -y openvswitch-switch-dpdk linux-image-extra-4.4.0-75-generic +sudo apt-get install -y openvswitch-switch-dpdk pciutils vim sudo update-alternatives --set ovs-vswitchd /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk -echo "DPDK_OPTS='--dpdk -c 0x1 -n 4 -m 1024'" | sudo tee -a /etc/default/openvswitch-switch diff --git a/src/vagrant/k8s_kubeadm/ovsdpdk/kube_ovsdpdk.yml b/src/vagrant/k8s_kubeadm/ovsdpdk/kube_ovsdpdk.yml index d79da15..ed04ccd 100644 --- a/src/vagrant/k8s_kubeadm/ovsdpdk/kube_ovsdpdk.yml +++ b/src/vagrant/k8s_kubeadm/ovsdpdk/kube_ovsdpdk.yml @@ -39,6 +39,8 @@ spec: mountPath: /usr/local/bin - name: var-run mountPath: /var/run/openvswitch + - name: lib-modules + mountPath: /lib/modules - name: dev-hugepage mountPath: /dev volumes: @@ -48,6 +50,9 @@ spec: - name: var-run hostPath: path: /var/run/openvswitch + - name: lib-modules + hostPath: + path: /lib/modules - name: dev-hugepage hostPath: path: /dev diff --git a/src/vagrant/k8s_kubeadm/ovsdpdk/start.sh b/src/vagrant/k8s_kubeadm/ovsdpdk/start.sh index 08d8143..d31a242 100644 --- a/src/vagrant/k8s_kubeadm/ovsdpdk/start.sh +++ b/src/vagrant/k8s_kubeadm/ovsdpdk/start.sh @@ -1,15 +1,25 @@ #!/bin/bash set -ex -sudo sysctl -w vm.nr_hugepages=2048 + +for i in {1..10} +do + sudo sysctl -w vm.nr_hugepages=2048; sleep 1 +done +sudo modprobe uio_pci_generic +sudo ip address flush enp0s9 +sudo /usr/share/dpdk/tools/dpdk_nic_bind.py --bind=uio_pci_generic enp0s9 +sudo sysctl -w vm.nr_hugepages=1024 sudo mount -t hugetlbfs -o pagesize=2M none /dev/hugepages -cp /usr/bin/ovs-vsctl /usr/local/bin +sudo cp /usr/bin/ovs-vsctl /usr/local/bin +memory=$(grep HugePages_Total /proc/meminfo | cut -f2 -d:) +echo "DPDK_OPTS='--dpdk -c 0x1 -n 2 -m $memory'" | sudo tee -a /etc/default/openvswitch-switch sudo service dpdk restart sudo service openvswitch-switch restart +sudo pkill ovs-vswitchd +sudo ovs-vswitchd --dpdk -c 0x1 -n 2 -m $memory -- unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor sudo ovs-vsctl add-br br-dpdk -- set bridge br-dpdk datapath_type=netdev -sudo modprobe uio_pci_generic -#sudo ip address flush enp0s9 -#sudo /usr/share/dpdk/tools/dpdk_nic_bind.py --bind=uio_pci_generic enp0s9 -#sudo ovs-vsctl add-port br-dpdk dpdk0 -- set Interface dpdk0 type=dpdk +sudo ovs-vsctl add-port br-dpdk dpdk0 -- set Interface dpdk0 type=dpdk while true; do sleep 3600; done -echo sudo docker run -ti --privileged -v /dev:/dev -v /usr/local/bin:/usr/local/bin -v /var/run/openvswitch/:/var/run/openvswitch/ dpdk /ovsdpdk/start.sh +echo sudo docker build -t openretriever/ubuntu1604-ovsdpdk . +echo sudo docker run -ti --privileged --net=host -v /dev:/dev -v /usr/local/bin:/usr/local/bin -v /var/run/openvswitch/:/var/run/openvswitch/ -v /lib/modules/:/lib/modules openretriever/ubuntu1604-ovsdpdk bash -- cgit 1.2.3-korg