4 set -o nounset #Do not allow for unset variables
5 #set -e #Exit script if a command fails
9 if sudo yum install -y "kernel-devel-uname-r == $(uname -r)"; then
10 echo "Kernel-devel installed correctly"
12 echo "Warning: Errors issued when installing kernel-devel"
15 APT="sudo yum install -y git kernel-debug-devel kernel-headers python-devel vim autoconf automake libtool systemd-units rpm-build openssl openssl-devel groff graphviz selinux-policy-devel python python-twisted-core python-zope-interface python-twisted-web PyQt4 python-six desktop-file-utils procps-ng wget"
17 echo "Pacakges installed correctly"
19 echo "Installation of packages failed"
24 [ -e configure-ovs.sh ] || \
25 wget https://raw.githubusercontent.com/socketplane/docker-ovs/master/configure-ovs.sh
26 chmod a+x configure-ovs.sh
27 [ -e supervisord.conf ] || \
28 wget https://raw.githubusercontent.com/socketplane/docker-ovs/master/supervisord.conf
30 [ -e supervisor-stdout/supervisor-stdout-0.1.1.tar.gz ] || \
31 wget https://pypi.python.org/packages/source/s/supervisor-stdout/supervisor-stdout-0.1.1.tar.gz --no-check-certificate
33 [ -e ovs_nsh_patches ] || \
34 git clone https://github.com/yyang13/ovs_nsh_patches.git
36 git clone https://github.com/openvswitch/ovs.git
39 git config user.email "yi.y.yang@intel.com"
40 git config user.name "Yi Yang"
41 git checkout -b v2.6.1 v2.6.1
42 git am ../ovs_nsh_patches/v2.6.1/*.patch
46 ./configure --with-linux=/lib/modules/`uname -r`/build --prefix=/usr/local
47 make rpm-fedora RPMBUILD_OPT="--without check --without libcapng"
48 make DESTDIR=$WORK_DIR/ovs_install/openvswitch_2.6.1 install
50 #copy rpms and installation
51 mkdir -p $WORK_DIR/ovs_package
52 find . -name "*.rpm"|xargs -I[] cp [] $WORK_DIR/ovs_package
53 tar cvzf $WORK_DIR/ovs_package/openvswitch_2.6.1.tgz -C $WORK_DIR/ovs_install .
56 cd $WORK_DIR/ovs_package
57 CMD='sudo yum list installed openvswitch'
59 echo "openvswitch already installed"
61 sudo yum --nogpgcheck -y install `find . -regex "\./openvswitch-[0-9,.,-].*"`
65 sudo /sbin/service openvswitch start
67 #prepare libraries for docker image in busybox
69 cp /usr/lib64/libcrypto.so.10 .
70 cp /usr/lib64/libssl.so.10 .
71 cp /usr/lib64/libgssapi_krb5.so.2 .
72 cp /usr/lib64/libkrb5.so.3 .
73 cp /usr/lib64/libcom_err.so.2 .
74 cp /usr/lib64/libk5crypto.so.3 .
75 cp /usr/lib64/libkrb5support.so.0 .
76 cp /usr/lib64/libkeyutils.so.1 .
77 cp /usr/lib64/libselinux.so.1 .
78 cp /usr/lib64/libpcre.so.1 .
79 cp /usr/lib64/liblzma.so.5 .
84 if [ -z `sudo docker images | awk '/^ovs-docker / {print $1}'` ];
86 sudo docker build -t ovs-docker .