summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuo Ruijing <ruijing.guo@intel.com>2017-11-22 13:06:39 -0500
committerGuo Ruijing <ruijing.guo@intel.com>2017-11-22 18:03:19 -0500
commitec94abf0ea9154af2f0dbce13e12df775b72bbac (patch)
treeb79ee46962ba50fe2cbad8efb5ef8f2cf709c3b1
parent57c01199d342c5051fef2bb94f463f21749089bb (diff)
build multus in ubuntu:16.04 docker during deployment
Change-Id: I557be21c59e28401c5ec20cd43d2baabc13bef3e Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
-rw-r--r--src/cni/multus/install_cni.sh12
-rw-r--r--src/cni/multus/kube_cni_multus.yml (renamed from src/vagrant/kubeadm_multus/multus/kube_cni_multus.yml)13
-rw-r--r--src/vagrant/kubeadm_multus/Vagrantfile1
-rwxr-xr-xsrc/vagrant/kubeadm_multus/examples/multus.sh15
-rw-r--r--src/vagrant/kubeadm_multus/master_setup.sh2
-rw-r--r--src/vagrant/kubeadm_multus/multus/Dockerfile.build5
-rw-r--r--src/vagrant/kubeadm_multus/multus/Dockerfile.multus4
-rw-r--r--src/vagrant/kubeadm_multus/multus/build.sh7
-rw-r--r--src/vagrant/kubeadm_multus/multus/install_cni.sh6
-rw-r--r--src/vagrant/kubeadm_multus/multus/setup.sh9
10 files changed, 30 insertions, 44 deletions
diff --git a/src/cni/multus/install_cni.sh b/src/cni/multus/install_cni.sh
new file mode 100644
index 0000000..0d1ee6b
--- /dev/null
+++ b/src/cni/multus/install_cni.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -ex
+
+export PATH=/usr/local/go/bin:$PATH
+apt-get update && apt-get install -y wget
+rm -rf multus-cni
+wget -qO- https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz | tar -C /usr/local/ -xz
+git clone https://github.com/Intel-Corp/multus-cni
+cd multus-cni; bash ./build
+cp bin/multus /opt/cni/bin
+cp /etc/kube-cnimultus/cni-conf.json /etc/cni/net.d/05-multus.conf
diff --git a/src/vagrant/kubeadm_multus/multus/kube_cni_multus.yml b/src/cni/multus/kube_cni_multus.yml
index 8290218..cd91737 100644
--- a/src/vagrant/kubeadm_multus/multus/kube_cni_multus.yml
+++ b/src/cni/multus/kube_cni_multus.yml
@@ -65,10 +65,13 @@ spec:
operator: Exists
effect: NoSchedule
serviceAccountName: cnimultus
- containers:
+ initContainers:
- name: install-cni
- image: openretriever/cnimultus
- command: [ "/bin/bash", "/cni/install_cni.sh" ]
+ image: ubuntu:16.04
+ command:
+ - bash
+ - "-c"
+ - "apt-get update && apt-get install -y git && git clone http://github.com/opnfv/container4nfv && cd container4nfv && git fetch https://gerrit.opnfv.org/gerrit/container4nfv refs/changes/81/47681/5 && git checkout FETCH_HEAD && bash ./src/cni/multus/install_cni.sh"
volumeMounts:
- name: cni-bin
mountPath: /opt/cni/bin
@@ -76,6 +79,10 @@ spec:
mountPath: /etc/cni/net.d
- name: cnimultus-cfg
mountPath: /etc/kube-cnimultus
+ containers:
+ - name: run-cni
+ image: busybox:1.27.2
+ command: ['sh', '-c', 'while true; do sleep 10000; done' ]
volumes:
- name: cni-bin
hostPath:
diff --git a/src/vagrant/kubeadm_multus/Vagrantfile b/src/vagrant/kubeadm_multus/Vagrantfile
index 1cc8e58..bda421f 100644
--- a/src/vagrant/kubeadm_multus/Vagrantfile
+++ b/src/vagrant/kubeadm_multus/Vagrantfile
@@ -5,6 +5,7 @@ Vagrant.configure("2") do |config|
config.vm.box = "opnfv/container4nfv"
config.vm.box_version = "0"
+ config.vm.synced_folder "../..", "/src"
config.vm.provision "shell", path: "host_setup.sh", privileged: false
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", 4096]
diff --git a/src/vagrant/kubeadm_multus/examples/multus.sh b/src/vagrant/kubeadm_multus/examples/multus.sh
index d4b9a88..92e95ab 100755
--- a/src/vagrant/kubeadm_multus/examples/multus.sh
+++ b/src/vagrant/kubeadm_multus/examples/multus.sh
@@ -17,23 +17,20 @@
set -ex
-#workaroud to fix dns pod issue
-times=0
-
-while [ $times -lt "3" ]
+while true
do
- kubectl get pods -n kube-system | grep kube-dns | grep -v Run | sed "s/ .*//" | \
- xargs -I {} kubectl delete pod -n kube-system {}
+ kubectl get pods -n kube-system | grep kube-cnimultus-ds | grep -v Run | wc -l | grep "^0$" && break
sleep 20
- times+=1
done
+kubectl delete rc --all
kubectl apply -f /vagrant/examples/busybox.yaml
r="0"
while [ $r -ne "2" ]
do
+ sleep 10
r=$(kubectl get pods | grep Running | wc -l)
- sleep 20
done
+
kubectl get pods --all-namespaces
-kubectl get pods | grep Run | sed "s/ .*//" | xargs -I {} kubectl exec -i {} ip a
+kubectl get pods | grep Run | sed "s/ .*//" | xargs -I {} kubectl exec -i {} ip a | grep mtu | wc -l | grep "^6$" || exit 1
diff --git a/src/vagrant/kubeadm_multus/master_setup.sh b/src/vagrant/kubeadm_multus/master_setup.sh
index c452ac8..ac85347 100644
--- a/src/vagrant/kubeadm_multus/master_setup.sh
+++ b/src/vagrant/kubeadm_multus/master_setup.sh
@@ -9,4 +9,4 @@ export KUBECONFIG=$HOME/admin.conf
echo "export KUBECONFIG=$HOME/admin.conf" >> $HOME/.bash_profile
kubectl apply -f http://git.io/weave-kube-1.6
-kubectl apply -f /vagrant/multus/kube_cni_multus.yml
+kubectl apply -f /src/cni/multus/kube_cni_multus.yml
diff --git a/src/vagrant/kubeadm_multus/multus/Dockerfile.build b/src/vagrant/kubeadm_multus/multus/Dockerfile.build
deleted file mode 100644
index 0b17fab..0000000
--- a/src/vagrant/kubeadm_multus/multus/Dockerfile.build
+++ /dev/null
@@ -1,5 +0,0 @@
-FROM ubuntu:16.04
-
-RUN apt-get update && apt-get install -y sudo git wget
-ADD ./build.sh .
-RUN bash ./build.sh
diff --git a/src/vagrant/kubeadm_multus/multus/Dockerfile.multus b/src/vagrant/kubeadm_multus/multus/Dockerfile.multus
deleted file mode 100644
index e1d8cb0..0000000
--- a/src/vagrant/kubeadm_multus/multus/Dockerfile.multus
+++ /dev/null
@@ -1,4 +0,0 @@
-FROM ubuntu:16.04
-
-ADD multus /cni/multus
-ADD install_cni.sh /cni/install_cni.sh
diff --git a/src/vagrant/kubeadm_multus/multus/build.sh b/src/vagrant/kubeadm_multus/multus/build.sh
deleted file mode 100644
index 526b0b7..0000000
--- a/src/vagrant/kubeadm_multus/multus/build.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-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/Intel-Corp/multus-cni
-cd multus-cni; bash ./build
diff --git a/src/vagrant/kubeadm_multus/multus/install_cni.sh b/src/vagrant/kubeadm_multus/multus/install_cni.sh
deleted file mode 100644
index a4c5059..0000000
--- a/src/vagrant/kubeadm_multus/multus/install_cni.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-set -ex
-cp /cni/multus /opt/cni/bin
-cp /etc/kube-cnimultus/cni-conf.json /etc/cni/net.d/05-multus.conf
-while true; do sleep 3600; done
diff --git a/src/vagrant/kubeadm_multus/multus/setup.sh b/src/vagrant/kubeadm_multus/multus/setup.sh
deleted file mode 100644
index 4729993..0000000
--- a/src/vagrant/kubeadm_multus/multus/setup.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-BUILD=`pwd`
-
-sudo docker build -t multus.build . -f Dockerfile.build
-sudo docker run -v $BUILD:/build -ti multus.build cp multus-cni/bin/multus /build
-sudo docker build -t openretriever/cnimultus . -f Dockerfile.multus
-sudo docker push openretriever/cnimultus
-rm -rf multus