Configure route to vBRG via vBNG on vGMUX
[demo.git] / vnfs / vCPE / scripts / v_gmux_install.sh
index 23372c4..5e98fe1 100644 (file)
@@ -14,8 +14,10 @@ LIBEVEL_PATCH_URL=$(cat /opt/config/libevel_patch_url.txt)
 CLOUD_ENV=$(cat /opt/config/cloud_env.txt)
 MUX_GW_IP=$(cat /opt/config/mux_gw_net_ipaddr.txt)
 MUX_GW_CIDR=$(cat /opt/config/mux_gw_net_cidr.txt)
-BNG_MUX_IP=$(cat /opt/config/bng_mux_net_ipaddr.txt)
+MUX_TO_BNG_IP=$(cat /opt/config/mux_to_bng_net_ipaddr.txt)
 BNG_MUX_CIDR=$(cat /opt/config/bng_mux_net_cidr.txt)
+BRG_BNG_CIDR=$(cat /opt/config/brg_bng_net_cidr.txt)
+BNG_TO_MUX_IP=$(cat /opt/config/bng_to_mux_net_ipaddr.txt)
 
 # Build states are:
 # 'build' - just build the code
@@ -217,14 +219,28 @@ cpu {
 
 EOF
 
-    cat > /etc/vpp/setup.gate << EOF
-set int state GigabitEthernet0/4/0 up
-set int ip address GigabitEthernet0/4/0 ${BNG_MUX_IP}/${BNG_MUX_CIDR#*/}
+    # Get list of network device PCI bus addresses
+    get_nic_pci_list() {
+        while read -r line ; do
+            if [ "$line" != "${line#*network device}" ]; then
+                echo -n "${line%% *} "
+            fi
+        done < <(lspci)
+    }
+
+    NICS=$(get_nic_pci_list)
+    NICS=`echo ${NICS} | sed 's/[0]\+\([0-9]\)/\1/g' | sed 's/[.:]/\//g'`
 
-set int state GigabitEthernet0/6/0 up
-set int ip address GigabitEthernet0/6/0 ${MUX_GW_IP}/${MUX_GW_CIDR#*/}
+    BNG_MUX_NIC=GigabitEthernet`echo ${NICS} | cut -d " " -f 2`  # second interface in list
+    MUX_GW_NIC=GigabitEthernet`echo ${NICS} | cut -d " " -f 4`   # fourth interface in list
 
-create vxlan tunnel src ${MUX_GW_IP} dst 10.5.0.21 vni 100
+    cat > /etc/vpp/setup.gate << EOF
+set int state ${BNG_MUX_NIC} up
+set int ip address ${BNG_MUX_NIC} ${MUX_TO_BNG_IP}/${BNG_MUX_CIDR#*/}
+
+set int state ${MUX_GW_NIC} up
+set int ip address ${MUX_GW_NIC} ${MUX_GW_IP}/${MUX_GW_CIDR#*/}
+ip route add ${BRG_BNG_CIDR} via ${BNG_TO_MUX_IP} ${BNG_MUX_NIC}
 EOF
 
 fi  # endif BUILD_STATE != "build"
@@ -360,6 +376,13 @@ EOF
     l_version=$(echo "${l_version#*>}")
     mv vpp-integration/minimal-distribution/target/vpp-integration-distribution-${l_version}-hc/vpp-integration-distribution-${l_version} /opt/honeycomb
     sed -i 's/127.0.0.1/0.0.0.0/g' /opt/honeycomb/config/honeycomb.json
+
+    # Disable automatic upgrades
+    if [[ $CLOUD_ENV != "rackspace" ]]
+    then
+        echo "APT::Periodic::Unattended-Upgrade \"0\";" >> /etc/apt/apt.conf.d/10periodic
+        sed -i 's/\(APT::Periodic::Unattended-Upgrade\) "1"/\1 "0"/' /etc/apt/apt.conf.d/20auto-upgrades
+    fi
 fi  # endif BUILD_STATE != "done"
 
 if [[ $BUILD_STATE != "build" ]]
@@ -569,7 +592,6 @@ EOF
         sed -i "s/ens[0-9]*/eth0/g" /etc/network/interfaces.d/*.cfg
         sed -i "s/ens[0-9]*/eth0/g" /etc/udev/rules.d/70-persistent-net.rules
         echo 'network: {config: disabled}' >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
-        echo "APT::Periodic::Unattended-Upgrade \"0\";" >> /etc/apt/apt.conf.d/10periodic
         reboot
     fi