fuel plugin: Initial version
[ovsnfv.git] / fuel-plugin-ovsnfv / deployment_scripts / puppet / modules / ovsdpdk / files / build_ovs_dpdk.erb
1 #!/usr/bin/env  bash
2
3 set -o xtrace
4
5 if [  -e <%= @ovs_dir %>/BUILD_COMPLETE ]; then
6    echo "Build already done."
7    cd <%= @ovs_dir %>
8    sudo make install
9 else
10    cd <%= @ovs_dpdk_dir %>
11    make config T=<%= @rte_target %>
12
13    if [ -e <%= @ovs_dpdk_dir %>/<%= @rte_target %> ]; then
14       rm <%= @rte_target %>
15    fi
16
17    # block of code with more strict error handling
18    set -o errexit
19    ln -s -f build <%= @rte_target %>
20    sed "s/CONFIG_RTE_BUILD_COMBINE_LIBS=n/CONFIG_RTE_BUILD_COMBINE_LIBS=y/" -i <%= @ovs_dpdk_dir %>/build/.config
21    sed "s/CONFIG_RTE_MAX_MEMSEG=.*$/CONFIG_RTE_MAX_MEMSEG=<%= @ovs_dpdk_mem_segments %>/" -i <%= @ovs_dpdk_dir %>/build/.config
22    sed "s/CONFIG_RTE_LIBRTE_VHOST=.*$/CONFIG_RTE_LIBRTE_VHOST=<%= @ovs_dpdk_rte_librte_vhost %>/" -i <%= @ovs_dpdk_dir %>/build/.config
23    sed "s/CONFIG_RTE_LIBRTE_VHOST_DEBUG=.*$/CONFIG_RTE_LIBRTE_VHOST_DEBUG=<%= @ovs_dpdk_vhost_user_debug %>/" -i <%= @ovs_dpdk_dir %>/build/.config
24    make -j `nproc`
25    sudo cp <%= @ovs_dpdk_dir %>/build/lib/*dpdk.* /lib
26    cd <%= @ovs_dir %>
27    ./boot.sh
28    ./configure --with-dpdk=<%= @ovs_dpdk_dir %>/<%= @rte_target %> --prefix=/usr --with-dbdir=<%= @ovs_db_conf_dir %> --with-rundir=<%= @ovs_db_socket_dir %>
29    make -j `nproc` CFLAGS='-O3 -march=native'
30    touch <%= @ovs_dir %>/BUILD_COMPLETE
31    sudo make install
32    set +o errexit
33 fi
34
35
36 set +o xtrace