diff --git a/deployment_scripts/install.sh b/deployment_scripts/install.sh index 891e229..4a22685 100644 --- a/deployment_scripts/install.sh +++ b/deployment_scripts/install.sh @@ -11,7 +11,7 @@ dpdk=$3 dpdk_socket_mem=${4:-''} pmd_cpu_mask=${5:-'2'} -apt-get install -y dkms +apt-get install -y --allow-unauthenticated dkms if [ $nsh = 'true' ] then @@ -22,9 +22,7 @@ then dpkg -i python-openvswitch_2.6.1-1.nsh_all.deb if [ $dpdk = 'true' ] then - dpkg -i libxenstore3.0*.deb - dpkg -i libdpdk0_16.07-1_amd64.deb - dpkg -i dpdk_16.07-1_amd64.deb + apt-get install -y --allow-unauthenticated dpdk dpdk-dev dpdk-dkms dpkg -i openvswitch-switch-dpdk_2.6.1-1.nsh_amd64.deb fi else @@ -33,21 +31,23 @@ else dpkg -i openvswitch-common_2.6.90-1_amd64.deb dpkg -i openvswitch-switch_2.6.90-1_amd64.deb dpkg -i python-openvswitch_2.6.90-1_all.deb - if [[ $dpdk = 'true' && -n $dpdk_socket_mem ]] + if [ $dpdk = 'true' ] then - dpkg -i libxenstore3.0*.deb - dpkg -i libdpdk0_16.07-1_amd64.deb - dpkg -i dpdk_16.07-1_amd64.deb + apt-get install -y --allow-unauthenticated dpdk dpdk-dev dpdk-dkms dpkg -i openvswitch-switch-dpdk_2.6.90-1_amd64.deb - #Set to 0, dpdk init script mount hugepages but don't change current allocation - sed -i "s/[# ]*\(NR_2M_PAGES=\).*/\10/" /etc/dpdk/dpdk.conf - service dpdk start - - ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true - ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="$dpdk_socket_mem" - ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask="$pmd_cpu_mask" - - service openvswitch-switch restart fi fi + +if [[ $dpdk = 'true' && -n $dpdk_socket_mem ]] +then + #Set to 0, dpdk init script mount hugepages but don't change current allocation + sed -i "s/[# ]*\(NR_2M_PAGES=\).*/\10/" /etc/dpdk/dpdk.conf + service dpdk start + + ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true + ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="$dpdk_socket_mem" + ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask="$pmd_cpu_mask" + + service openvswitch-switch restart +fi diff --git a/ovs_build/build-ovs-dpdk.sh b/ovs_build/build-ovs-dpdk.sh index 3c05a83..ed1b984 100755 --- a/ovs_build/build-ovs-dpdk.sh +++ b/ovs_build/build-ovs-dpdk.sh @@ -10,15 +10,23 @@ BUILD_HOME=${BUILD_HOME:-/tmp/ovs-dpdk} export DEB_BUILD_OPTIONS='parallel=8 nocheck' -sudo apt-get -y install devscripts dpkg-dev git wget +sudo apt-get -y install devscripts dpkg-dev git wget dkms -rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME} +rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}/deb cd ${BUILD_HOME} wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar cd dpdk-16.07 -cp -r ${BUILD_SRC}/dpdk_16.07/debian . +cp -r ${BUILD_SRC}/dpdk_16.07.fuel/debian . +cat << EOF > debian/changelog +dpdk (16.07-0ubuntu5~u1604+fuel10) xenial; urgency=low + + * Rebuild debian package + * update librte-eal2.symbols + + -- Ruijing Guo $(date --rfc-2822) +EOF # copy from debian/control sudo apt-get install -y debhelper \ @@ -38,8 +46,9 @@ sudo apt-get install -y debhelper \ debian/rules build; fakeroot debian/rules binary cd ${BUILD_HOME} +sudo apt-get install -y hwdata sudo dpkg -i *.deb -apt-get download libxenstore3.0 +mv *.deb ${BUILD_DEST} # copy from debian/control sudo apt-get install -y autoconf \ @@ -80,5 +89,6 @@ debian/rules build; fakeroot debian/rules binary cd ${BUILD_HOME}/ovs debian/rules build; fakeroot debian/rules binary -cp -r ${BUILD_HOME}/*.deb ${BUILD_DEST} -rm -rf ${BUILD_HOME} +cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb +cd ${BUILD_HOME}/deb +tar czvf ${BUILD_DEST}/ovs-dpdk.tar.gz .; diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh index e2d52e4..00fbafa 100755 --- a/ovs_build/build-ovs-nsh-dpdk.sh +++ b/ovs_build/build-ovs-nsh-dpdk.sh @@ -10,15 +10,23 @@ BUILD_HOME=${BUILD_HOME:-/tmp/ovs-dpdk} export DEB_BUILD_OPTIONS='parallel=8 nocheck' -sudo apt-get -y install devscripts dpkg-dev git wget +sudo apt-get -y install devscripts dpkg-dev git wget dkms -rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME} +rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}/deb cd ${BUILD_HOME} wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar cd dpdk-16.07 -cp -r ${BUILD_SRC}/dpdk_16.07/debian . +cp -r ${BUILD_SRC}/dpdk_16.07.fuel/debian . +cat << EOF > debian/changelog +dpdk (16.07-0ubuntu5~u1604+fuel10) xenial; urgency=low + + * Rebuild debian package + * update librte-eal2.symbols + + -- Ruijing Guo $(date --rfc-2822) +EOF # copy from debian/control sudo apt-get install -y debhelper \ @@ -38,8 +46,9 @@ sudo apt-get install -y debhelper \ debian/rules build; fakeroot debian/rules binary cd ${BUILD_HOME} +sudo apt-get install -y hwdata sudo dpkg -i *.deb -apt-get download libxenstore3.0 +mv *.deb ${BUILD_DEST} # copy from debian/control sudo apt-get install -y autoconf \ @@ -92,5 +101,6 @@ openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low EOF debian/rules build; fakeroot debian/rules binary -cp -r ${BUILD_HOME}/*.deb ${BUILD_DEST} -rm -rf ${BUILD_HOME} +cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb +cd ${BUILD_HOME}/deb +tar czvf ${BUILD_DEST}/ovs-nsh-dpdk.tar.gz .; diff --git a/ovs_build/dpdk_16.07.fuel/debian/librte-eal2.symbols b/ovs_build/dpdk_16.07.fuel/debian/librte-eal2.symbols index cafe244..cec59ec 100644 --- a/ovs_build/dpdk_16.07.fuel/debian/librte-eal2.symbols +++ b/ovs_build/dpdk_16.07.fuel/debian/librte-eal2.symbols @@ -62,7 +62,6 @@ librte_eal.so.2 librte-eal2 #MINVER# rte_eal_primary_proc_alive@DPDK_16.04 16.04 rte_eal_process_type@DPDK_2.0 16.04 rte_eal_remote_launch@DPDK_2.0 16.04 - rte_eal_set_socket_permissions@DPDK_2.2 16.04 rte_eal_tailq_lookup@DPDK_2.0 16.04 rte_eal_tailq_register@DPDK_2.0 16.04 rte_eal_vdev_init@DPDK_2.0 16.04 diff --git a/pre_build_hook b/pre_build_hook index 63cf7b4..43b5936 100755 --- a/pre_build_hook +++ b/pre_build_hook @@ -16,14 +16,12 @@ function build_pkg { DEB_DIR=${DIR}/deb-ovs-dpdk rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR}; sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-dpdk.sh - cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-dpdk.tar.gz .; - cd ..; rm -rf ${DEB_DIR} + cp -r ${DEB_DIR}/* ${DIR}/repositories/ubuntu/ - DEB_DIR=${DIR}/deb-ovs-nsh-dpdk rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR}; sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-nsh-dpdk.sh - cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-nsh-dpdk.tar.gz .; - cd ..; rm -rf ${DEB_DIR} + cp -r ${DEB_DIR}/* ${DIR}/repositories/ubuntu/ + rm -rf ${DEB_DIR} ;; *) echo "Not supported system"; exit 1;;