Implement: Fuel install OVS with NSH/DPDK
Update docker build Change-Id: I4fa8384947534f8b2bd27e3efde3a364d224578e Closes-Bug:#1507877 Signed-off-by: lingyu1 <ling.y.yu@intel.com>
This commit is contained in:
parent
7590019023
commit
7ca2f9cf52
|
@ -1,38 +1,46 @@
|
||||||
$fuel_settings = parseyaml(file('/etc/compute.yaml'))
|
$fuel_settings = parseyaml(file('/etc/compute.yaml'))
|
||||||
if $operatingsystem == 'Ubuntu' {
|
if $operatingsystem == 'Ubuntu' {
|
||||||
if $fuel_settings['fuel-plugin-ovs']['use_dpdk'] {
|
if $fuel_settings['fuel-plugin-ovs']['use_dpdk'] {
|
||||||
exec { "wget dpdk package":
|
exec { "wget dpdk":
|
||||||
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dpdk-install.tar.gz",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dpdk-install/dpdk-install.sh",
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
exec { "unzip dpdk package":
|
exec { "install dpdk":
|
||||||
command => "tar -xvzf /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install.tar.gz",
|
command => "bash /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install.sh",
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
|
||||||
}
|
|
||||||
exec { "install dpdk package":
|
|
||||||
command => "/etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install/dpdk-install.sh",
|
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-datapath-dkms':
|
package { 'openvswitch-datapath-dkms':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-common':
|
package { 'openvswitch-common':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-switch':
|
package { 'openvswitch-switch':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
package { 'openvswitch-datapath-dkms':
|
exec { "install openvswitch-datapath-dkms package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-datapath-dkms_2.4.90-1_all.deb;sudo dpkg -i openvswitch-datapath-dkms_2.4.90-1_all.deb",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-common':
|
exec { "install openvswitch-common package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-common_2.4.90-1_amd64.deb;sudo dpkg -i openvswitch-common_2.4.90-1_amd64.deb",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-switch':
|
exec { "install openvswitch-switch package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-switch_2.4.90-1_amd64.deb;sudo dpkg -i openvswitch-switch_2.4.90-1_amd64.deb",
|
||||||
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if $fuel_settings['fuel-plugin-ovs']['use_dppd'] {
|
||||||
|
exec { "wget dppd":
|
||||||
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dppd-install/dppd-install.sh",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
|
}
|
||||||
|
exec { "install dppd":
|
||||||
|
command => "bash /etc/fuel/plugins/fuel-plugin-ovs-0.5/dppd-install.sh",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elsif $operatingsystem == 'CentOS' {
|
} elsif $operatingsystem == 'CentOS' {
|
||||||
|
|
|
@ -1,38 +1,46 @@
|
||||||
$fuel_settings = parseyaml(file('/etc/controller.yaml'))
|
$fuel_settings = parseyaml(file('/etc/controller.yaml'))
|
||||||
if $operatingsystem == 'Ubuntu' {
|
if $operatingsystem == 'Ubuntu' {
|
||||||
if $fuel_settings['fuel-plugin-ovs']['use_dpdk'] {
|
if $fuel_settings['fuel-plugin-ovs']['use_dpdk'] {
|
||||||
exec { "wget dpdk package":
|
exec { "wget dpdk":
|
||||||
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dpdk-install.tar.gz",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dpdk-install/dpdk-install.sh",
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
exec { "unzip dpdk package":
|
exec { "install dpdk":
|
||||||
command => "tar -xvzf /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install.tar.gz",
|
command => "bash /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install.sh",
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
|
||||||
}
|
|
||||||
exec { "install dpdk package":
|
|
||||||
command => "/etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install/dpdk-install.sh",
|
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-datapath-dkms':
|
package { 'openvswitch-datapath-dkms':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-common':
|
package { 'openvswitch-common':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-switch':
|
package { 'openvswitch-switch':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
package { 'openvswitch-datapath-dkms':
|
exec { "install openvswitch-datapath-dkms package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-datapath-dkms_2.4.90-1_all.deb;sudo dpkg -i openvswitch-datapath-dkms_2.4.90-1_all.deb",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-common':
|
exec { "install openvswitch-common package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-common_2.4.90-1_amd64.deb;sudo dpkg -i openvswitch-common_2.4.90-1_amd64.deb",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-switch':
|
exec { "install openvswitch-switch package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-switch_2.4.90-1_amd64.deb;sudo dpkg -i openvswitch-switch_2.4.90-1_amd64.deb",
|
||||||
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if $fuel_settings['fuel-plugin-ovs']['use_dppd'] {
|
||||||
|
exec { "wget dppd":
|
||||||
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dppd-install/dppd-install.sh",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
|
}
|
||||||
|
exec { "install dppd":
|
||||||
|
command => "bash /etc/fuel/plugins/fuel-plugin-ovs-0.5/dppd-install.sh",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elsif $operatingsystem == 'CentOS' {
|
} elsif $operatingsystem == 'CentOS' {
|
||||||
|
|
|
@ -1,38 +1,46 @@
|
||||||
$fuel_settings = parseyaml(file('/etc/primary-controller.yaml'))
|
$fuel_settings = parseyaml(file('/etc/primary-controller.yaml'))
|
||||||
if $operatingsystem == 'Ubuntu' {
|
if $operatingsystem == 'Ubuntu' {
|
||||||
if $fuel_settings['fuel-plugin-ovs']['use_dpdk'] {
|
if $fuel_settings['fuel-plugin-ovs']['use_dpdk'] {
|
||||||
exec { "wget dpdk package":
|
exec { "wget dpdk":
|
||||||
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dpdk-install.tar.gz",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dpdk-install/dpdk-install.sh",
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
exec { "unzip dpdk package":
|
exec { "install dpdk":
|
||||||
command => "tar -xvzf /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install.tar.gz",
|
command => "bash /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install.sh",
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
|
||||||
}
|
|
||||||
exec { "install dpdk package":
|
|
||||||
command => "/etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install/dpdk-install.sh",
|
|
||||||
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-datapath-dkms':
|
package { 'openvswitch-datapath-dkms':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-common':
|
package { 'openvswitch-common':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-switch':
|
package { 'openvswitch-switch':
|
||||||
ensure => "2.4.90-1",
|
ensure => "2.4.91-1",
|
||||||
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
package { 'openvswitch-datapath-dkms':
|
exec { "install openvswitch-datapath-dkms package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-datapath-dkms_2.4.90-1_all.deb;sudo dpkg -i openvswitch-datapath-dkms_2.4.90-1_all.deb",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-common':
|
exec { "install openvswitch-common package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-common_2.4.90-1_amd64.deb;sudo dpkg -i openvswitch-common_2.4.90-1_amd64.deb",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
package { 'openvswitch-switch':
|
exec { "install openvswitch-switch package":
|
||||||
ensure => "2.4.90-1",
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/openvswitch-switch_2.4.90-1_amd64.deb;sudo dpkg -i openvswitch-switch_2.4.90-1_amd64.deb",
|
||||||
require => Package['openvswitch-common','openvswitch-datapath-dkms'],
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if $fuel_settings['fuel-plugin-ovs']['use_dppd'] {
|
||||||
|
exec { "wget dppd":
|
||||||
|
command => "wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dppd-install/dppd-install.sh",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
|
}
|
||||||
|
exec { "install dppd":
|
||||||
|
command => "bash /etc/fuel/plugins/fuel-plugin-ovs-0.5/dppd-install.sh",
|
||||||
|
path => "/usr/bin:/usr/sbin:/bin:/sbin",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elsif $operatingsystem == 'CentOS' {
|
} elsif $operatingsystem == 'CentOS' {
|
||||||
|
|
|
@ -4,3 +4,8 @@ attributes:
|
||||||
weight: 20
|
weight: 20
|
||||||
value: false
|
value: false
|
||||||
label: "Use dpdk"
|
label: "Use dpdk"
|
||||||
|
use_dppd:
|
||||||
|
type: "checkbox"
|
||||||
|
weight: 20
|
||||||
|
value: false
|
||||||
|
label: "Use dppd"
|
||||||
|
|
|
@ -5,17 +5,17 @@ RUN apt-get update
|
||||||
RUN apt-get install -y software-properties-common python-software-properties \
|
RUN apt-get install -y software-properties-common python-software-properties \
|
||||||
make python-setuptools python-all dpkg-dev debhelper \
|
make python-setuptools python-all dpkg-dev debhelper \
|
||||||
fuseiso git genisoimage bind9-host wget curl lintian tmux lxc iptables \
|
fuseiso git genisoimage bind9-host wget curl lintian tmux lxc iptables \
|
||||||
ca-certificates sudo apt-utils lsb-release libtool autoconf automake build-essential fakeroot libssl-dev graphviz dh-autoreconf python-qt4 python-twisted-conch python-zopeinterface
|
ca-certificates sudo apt-utils lsb-release libtool autoconf automake build-essential fakeroot libssl-dev graphviz dh-autoreconf python-qt4 python-twisted-conch python-zopeinterface linux-headers-`uname -r`
|
||||||
|
|
||||||
RUN echo "ALL ALL=NOPASSWD: ALL" > /etc/sudoers.d/open-sudo
|
RUN echo "ALL ALL=NOPASSWD: ALL" > /etc/sudoers.d/open-sudo
|
||||||
RUN chmod 0440 /etc/sudoers.d/open-sudo
|
RUN chmod 0440 /etc/sudoers.d/open-sudo
|
||||||
|
|
||||||
ADD ./patches /patches
|
ADD ./patches /patches
|
||||||
|
|
||||||
ADD ./download-ovs-nsh.sh /root/download-ovs-nsh.sh
|
ADD ./build-ovs-nsh.sh /build-ovs-nsh.sh
|
||||||
RUN chmod +x /root/download-ovs-nsh.sh
|
RUN chmod +x /build-ovs-nsh.sh
|
||||||
RUN /root/download-ovs-nsh.sh
|
RUN /build-ovs-nsh.sh
|
||||||
|
|
||||||
ADD ./build-ovs-nsh.sh /root/build-ovs-nsh.sh
|
ADD ./build-ovs-nsh-dpdk.sh /build-ovs-nsh-dpdk.sh
|
||||||
RUN chmod +x /root/build-ovs-nsh.sh
|
RUN chmod +x /build-ovs-nsh-dpdk.sh
|
||||||
RUN /root/build-ovs-nsh.sh
|
RUN /build-ovs-nsh-dpdk.sh
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DPDK_VER=2.1.0
|
||||||
|
|
||||||
|
OVS_COMMIT=121daded51b9798fe3722824b27a05c16806cbd1
|
||||||
|
RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||||
|
PATCHES="060679 060680 060681 060682 060683 060684 060685"
|
||||||
|
URL_OVS=https://github.com/openvswitch/ovs.git
|
||||||
|
URL_DPDK=http://dpdk.org/browse/dpdk/snapshot/dpdk-${DPDK_VER}.tar.gz
|
||||||
|
|
||||||
|
wget ${URL_DPDK}
|
||||||
|
tar -xzvf dpdk-${DPDK_VER}.tar.gz
|
||||||
|
cd dpdk-${DPDK_VER}
|
||||||
|
sed -i -e 's/CONFIG_RTE_LIBRTE_VHOST=n/CONFIG_RTE_LIBRTE_VHOST=y/' \
|
||||||
|
-e 's/CONFIG_RTE_BUILD_COMBINE_LIBS=n/CONFIG_RTE_BUILD_COMBINE_LIBS=y/' \
|
||||||
|
-e 's/CONFIG_RTE_PKTMBUF_HEADROOM=128/CONFIG_RTE_PKTMBUF_HEADROOM=256/' \
|
||||||
|
config/common_linuxapp
|
||||||
|
cd /
|
||||||
|
tar -czvf dpdk-${DPDK_VER}.tar.gz dpdk-${DPDK_VER}
|
||||||
|
cd dpdk-${DPDK_VER}
|
||||||
|
make install T=${RTE_TARGET}
|
||||||
|
cd /
|
||||||
|
|
||||||
|
git clone ${URL_OVS} openvswitch-dpdk
|
||||||
|
cd openvswitch-dpdk
|
||||||
|
git checkout ${OVS_COMMIT} -b development
|
||||||
|
for patch in ${PATCHES}
|
||||||
|
do
|
||||||
|
patch -p1 < /patches/${patch}.patch
|
||||||
|
done
|
||||||
|
export RTE_SDK=/dpdk-${DPDK_VER}
|
||||||
|
export DPDK_BUILD=${RTE_SDK}/${RTE_TARGET}
|
||||||
|
./boot.sh
|
||||||
|
./configure --with-dpdk=$DPDK_BUILD
|
||||||
|
sed -i "s/2.4.90-1/2.4.91-1/" debian/changelog;sed -i "s?configure --with-linux?configure --with-dpdk=/dpdk-2.1.0/x86_64-native-linuxapp-gcc --with-linux?" debian/dkms.conf.in;sed -i "s?configure --with-linux?configure --with-dpdk=/dpdk-2.1.0/x86_64-native-linuxapp-gcc --with-linux?" debian/rules.modules;sed -i "s?configure --?configure -- --with-dpdk=/dpdk-2.1.0/x86_64-native-linuxapp-gcc?" debian/rules;make dist;tar -xzf openvswitch-2.4.90.tar.gz;
|
||||||
|
cd openvswitch-2.4.90;DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary
|
|
@ -1,4 +1,16 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cd /openvswitch;./boot.sh;./configure;make dist;tar -xzf openvswitch-2.4.90.tar.gz
|
OVS_COMMIT=121daded51b9798fe3722824b27a05c16806cbd1
|
||||||
cd /openvswitch/openvswitch-2.4.90;dpkg-checkbuilddeps;DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary
|
PATCHES="060679 060680 060681 060682 060683 060684 060685"
|
||||||
|
URL_OVS=https://github.com/openvswitch/ovs.git
|
||||||
|
|
||||||
|
git clone ${URL_OVS} openvswitch
|
||||||
|
cd openvswitch
|
||||||
|
git checkout ${OVS_COMMIT} -b development
|
||||||
|
for patch in ${PATCHES}
|
||||||
|
do
|
||||||
|
patch -p1 < /patches/${patch}.patch
|
||||||
|
done
|
||||||
|
|
||||||
|
./boot.sh;./configure;make dist;tar -xzf openvswitch-2.4.90.tar.gz
|
||||||
|
cd openvswitch-2.4.90;dpkg-checkbuilddeps;DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Author: Johnson Li <johnson.li@intel.com>
|
|
||||||
# Change Log:
|
|
||||||
# 10-28-2015: Initial version
|
|
||||||
#
|
|
||||||
# This script helps to setup the NSH test environment.
|
|
||||||
# Since the NSH patches are not merged into OVS's mainline,
|
|
||||||
# users cannot test the feature easily.
|
|
||||||
# In order to get OVS installed for tests, this script helps
|
|
||||||
# to get patch files from the mail archivements and apply
|
|
||||||
# the patches to a special commit of OVS.
|
|
||||||
#
|
|
||||||
# This script is for free use, feel free to modify the script
|
|
||||||
# for your own use. Any questions about the installation script,
|
|
||||||
# please send an email to the author.
|
|
||||||
|
|
||||||
|
|
||||||
######################## Global Variables #####################
|
|
||||||
WORK_DIR=`pwd`
|
|
||||||
PATCHES="060679 060680 060681 060682 060683 060684 060685"
|
|
||||||
URL_OVS=https://github.com/openvswitch/ovs.git
|
|
||||||
OVS_COMMIT=121daded51b9798fe3722824b27a05c16806cbd1
|
|
||||||
|
|
||||||
######################## Functions ############################
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Function Name: get_ovs_codes_from_github()
|
|
||||||
# Desription: Clone sources for OVS from github.
|
|
||||||
################################################################
|
|
||||||
function get_ovs_codes_from_github()
|
|
||||||
{
|
|
||||||
git clone ${URL_OVS} openvswitch 2>&1 | tee -a ${WORK_DIR}/install.log
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
################################################################
|
|
||||||
# Function Name: apply_patches_to_ovs()
|
|
||||||
# Desription: Apply patches to a specific commit of OVS.
|
|
||||||
################################################################
|
|
||||||
function apply_patches_to_ovs()
|
|
||||||
{
|
|
||||||
if [ ! -d openvswitch ] ;then
|
|
||||||
echo "No source found for Openvswitch, exit!" | tee -a ${WORK_DIR}/install.log
|
|
||||||
return -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d patches ] ;then
|
|
||||||
echo "No source found for Openvswitch, exit!" | tee -a ${WORK_DIR}/install.log
|
|
||||||
return -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd openvswitch
|
|
||||||
git checkout ${OVS_COMMIT} -b development 2>&1 | tee -a ${WORK_DIR}/install.log
|
|
||||||
for patch in ${PATCHES}
|
|
||||||
do
|
|
||||||
patch -p1 < ${WORK_DIR}/patches/${patch}.patch 2>&1 | tee -a ${WORK_DIR}/install.log
|
|
||||||
done
|
|
||||||
|
|
||||||
cd ${WORK_DIR}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
################### MAIN ############################
|
|
||||||
get_ovs_codes_from_github
|
|
||||||
if [ $? -ne 0 ] ;then
|
|
||||||
echo "Error occured when cloning OVS, exit." | tee -a ${WORK_DIR}/install.log
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
apply_patches_to_ovs
|
|
||||||
if [ $? -ne 0 ] ;then
|
|
||||||
echo "Error occured when applying patches, exit." | tee -a ${WORK_DIR}/install.log
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/r/readline6/libreadline6-dev_6.3-4ubuntu2_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/r/readline6/libreadline-dev_6.3-4ubuntu2_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/l/lua5.2/liblua5.2-dev_5.2.3-1_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/libp/libpcap/libpcap0.8-dev_1.5.3-2_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/libp/libpcap/libpcap-dev_1.5.3-2_all.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/libb/libbsd/libbsd-dev_0.6.0-2ubuntu1_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/libe/libedit/libedit-dev_3.1-20130712-2_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libtinfo-dev_5.9+20140118-1ubuntu1_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libncurses5-dev_5.9+20140118-1ubuntu1_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libncursesw5-dev_5.9+20140118-1ubuntu1_amd64.deb
|
||||||
|
http://archive.ubuntu.com/ubuntu/pool/main/p/pkg-config/pkg-config_0.26-1ubuntu4_amd64.deb
|
|
@ -1,22 +1,37 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Add here any the actions which are required before plugin build
|
|
||||||
# like packages building, packages downloading from mirrors and so on.
|
|
||||||
# The script should return 0 if there were no errors.
|
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
BUILD_FOR=${BUILD_FOR:-ubuntu}
|
BUILD_FOR=${BUILD_FOR:-ubuntu}
|
||||||
DIR="$(dirname `readlink -f $0`)"
|
DIR="$(dirname `readlink -f $0`)"
|
||||||
|
|
||||||
|
INCLUDE_DEPENDENCIES=${INCLUDE_DEPENDENCIES:-true}
|
||||||
|
|
||||||
|
function download_dependencies {
|
||||||
|
if [ "$INCLUDE_DEPENDENCIES" = true ]
|
||||||
|
then
|
||||||
|
wget --content-disposition -N -i "${DIR}/ovs_package/${1}/dependencies.txt"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
function build_pkg {
|
function build_pkg {
|
||||||
case $1 in
|
case $1 in
|
||||||
ubuntu)
|
ubuntu)
|
||||||
|
pushd "${DIR}/repositories/${1}/"
|
||||||
|
download_dependencies ${1}
|
||||||
|
popd
|
||||||
cd ${DIR}/ovs-nsh
|
cd ${DIR}/ovs-nsh
|
||||||
sudo docker build -t ovs-nsh .
|
sudo docker build -t ovs-nsh .
|
||||||
container_id=`sudo docker run -d ovs-nsh`
|
container_id=`sudo docker run -d ovs-nsh`
|
||||||
sudo docker cp $container_id:/openvswitch/openvswitch-common_2.4.90-1_amd64.deb ${DIR}/repositories/ubuntu/
|
sudo docker cp $container_id:/openvswitch/openvswitch-common_2.4.90-1_amd64.deb ${DIR}/repositories/ubuntu/
|
||||||
sudo docker cp $container_id:/openvswitch/openvswitch-datapath-dkms_2.4.90-1_all.deb ${DIR}/repositories/ubuntu/
|
sudo docker cp $container_id:/openvswitch/openvswitch-datapath-dkms_2.4.90-1_all.deb ${DIR}/repositories/ubuntu/
|
||||||
sudo docker cp $container_id:/openvswitch/openvswitch-switch_2.4.90-1_amd64.deb ${DIR}/repositories/ubuntu/
|
sudo docker cp $container_id:/openvswitch/openvswitch-switch_2.4.90-1_amd64.deb ${DIR}/repositories/ubuntu/
|
||||||
|
sudo docker cp $container_id:/dpdk-2.1.0.tar.gz ${DIR}/repositories/ubuntu/dpdk-install/
|
||||||
|
sudo docker cp $container_id:/openvswitch-dpdk/openvswitch-common_2.4.91-1_amd64.deb ${DIR}/repositories/ubuntu/
|
||||||
|
sudo docker cp $container_id:/openvswitch-dpdk/openvswitch-datapath-dkms_2.4.91-1_all.deb ${DIR}/repositories/ubuntu/
|
||||||
|
sudo docker cp $container_id:/openvswitch-dpdk/openvswitch-switch_2.4.91-1_amd64.deb ${DIR}/repositories/ubuntu/
|
||||||
|
wget https://01.org/sites/default/files/downloads/intel-data-plane-performance-demonstrators/dppd-prox-v021.zip
|
||||||
|
mv dppd-prox-v021.zip ${DIR}/repositories/ubuntu/dppd-install/
|
||||||
;;
|
;;
|
||||||
*) echo "Not supported system"; exit 1;;
|
*) echo "Not supported system"; exit 1;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
rm -rf /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install/
|
||||||
|
mkdir /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install/
|
||||||
|
cd /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install/;wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dpdk-install/dpdk-2.1.0.tar.gz;tar -xvzf dpdk-2.1.0.tar.gz
|
||||||
|
cd /etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install/dpdk-2.1.0; make install T=x86_64-native-linuxapp-gcc
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
sudo apt-get install -y pkg-config unzip liblua5.2-dev libpcap-dev libedit-dev libncurses5-dev libncursesw5-dev
|
||||||
|
rm -rf /etc/fuel/plugins/fuel-plugin-ovs-0.5/dppd-install/
|
||||||
|
mkdir /etc/fuel/plugins/fuel-plugin-ovs-0.5/dppd-install/
|
||||||
|
cd /etc/fuel/plugins/fuel-plugin-ovs-0.5/dppd-install/;wget http://10.20.0.2:8080/plugins/fuel-plugin-ovs-0.5/repositories/ubuntu/dppd-install/dppd-prox-v021.zip;unzip dppd-prox-v021.zip
|
||||||
|
export RTE_SDK=/etc/fuel/plugins/fuel-plugin-ovs-0.5/dpdk-install/dpdk-2.1.0
|
||||||
|
export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||||
|
cd /etc/fuel/plugins/fuel-plugin-ovs-0.5/dppd-install/dppd-PROX-v021
|
||||||
|
export DPPD_DIR=`pwd`
|
||||||
|
make
|
Loading…
Reference in New Issue