From 8d74252fc15feb54fcacb6b0456fb29acdbd3faa Mon Sep 17 00:00:00 2001 From: Marco Platania Date: Thu, 17 Aug 2017 10:35:57 -0400 Subject: Rename vPacketGen install scritps - Use v_packetgen_install.sh, v_packetgen_init.sh and vpacketgen.sh Change-Id: Ic147b7257cfd735e6ba846e5a15c291786ec9407 Issue-ID: UCA-34 Signed-off-by: Marco Platania --- vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh | 107 ---------------------- vnfs/vLB/scripts/v_packetgen_init.sh | 107 ++++++++++++++++++++++ vnfs/vLB/scripts/v_packetgen_install.sh | 14 +-- vnfs/vLB/scripts/vpacketgen.sh | 99 ++++++++++++++++++++ vnfs/vLB/scripts/vpacketgenfordnsdemo.sh | 99 -------------------- 5 files changed, 213 insertions(+), 213 deletions(-) delete mode 100644 vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh create mode 100644 vnfs/vLB/scripts/v_packetgen_init.sh create mode 100644 vnfs/vLB/scripts/vpacketgen.sh delete mode 100644 vnfs/vLB/scripts/vpacketgenfordnsdemo.sh diff --git a/vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh b/vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh deleted file mode 100644 index c38d2baf..00000000 --- a/vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/bash - -# Start VPP -systemctl start vpp -sleep 1 - -# Compute the network CIDR from the Netmask -mask2cidr() { - nbits=0 - IFS=. - for dec in $1 ; do - case $dec in - 255) let nbits+=8;; - 254) let nbits+=7;; - 252) let nbits+=6;; - 248) let nbits+=5;; - 240) let nbits+=4;; - 224) let nbits+=3;; - 192) let nbits+=2;; - 128) let nbits+=1;; - 0);; - *) echo "Error: $dec is not recognized"; exit 1 - esac - done - echo "$nbits" -} - -IPADDR1_MASK=$(ifconfig eth1 | grep "Mask" | awk '{print $4}' | awk -F ":" '{print $2}') -IPADDR1_CIDR=$(mask2cidr $IPADDR1_MASK) - -# Configure VPP for vPacketGenerator -IPADDR1=$(ifconfig eth1 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) -HWADDR1=$(ifconfig eth1 | grep HWaddr | tr -s ' ' | cut -d' ' -f5) -FAKE_HWADDR1=$(echo -n 00; dd bs=1 count=5 if=/dev/urandom 2>/dev/null | hexdump -v -e '/1 ":%02X"') -VLB_IPADDR=$(cat /opt/config/vlb_ipaddr.txt) -VLB_MAC=$(cat /opt/config/vlb_mac.txt) -GW=$(route -n | grep "^0.0.0.0" | awk '{print $2}') - -ifconfig eth1 down -ifconfig eth1 hw ether $FAKE_HWADDR1 -ip addr flush dev eth1 -ifconfig eth1 up -vppctl tap connect tap111 hwaddr $HWADDR1 -vppctl set int ip address tap-0 $IPADDR1"/"$IPADDR1_CIDR -vppctl set int state tap-0 up -brctl addbr br0 -brctl addif br0 tap111 -brctl addif br0 eth1 -ifconfig br0 up -vppctl ip route add 0.0.0.0/0 via $GW -sleep 1 - -# Set br0 with public IP and valid MAC so that Linux will have public network access -ifconfig br0 hw ether $HWADDR1 -ifconfig br0 $IPADDR1 netmask $IPADDR1_MASK -route add default gw $GW -sleep 1 -vppctl set ip arp tap-0 $VLB_IPADDR $VLB_MAC - -# Install packet streams -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns1 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns2 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns3 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns4 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns5 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns6 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns7 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns8 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns9 -sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns10 - -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns1 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns2 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns3 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns4 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns5 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns6 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns7 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns8 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns9 -sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns10 - -vppctl exec /opt/dns_streams/stream_dns1 -vppctl exec /opt/dns_streams/stream_dns2 -vppctl exec /opt/dns_streams/stream_dns3 -vppctl exec /opt/dns_streams/stream_dns4 -vppctl exec /opt/dns_streams/stream_dns5 -vppctl exec /opt/dns_streams/stream_dns6 -vppctl exec /opt/dns_streams/stream_dns7 -vppctl exec /opt/dns_streams/stream_dns8 -vppctl exec /opt/dns_streams/stream_dns9 -vppctl exec /opt/dns_streams/stream_dns10 - -vppctl set int ip address pg0 $(cat /opt/config/pg_int.txt)"/"$IPADDR1_CIDR -sleep 1 - -# Start HoneyComb -VERSION=$(cat /opt/config/demo_artifacts_version.txt) -echo "" > /var/lib/honeycomb/persist/context/data.json -echo "" > /var/lib/honeycomb/persist/config/data.json -/opt/honeycomb/sample-distribution-$VERSION/honeycomb &>/dev/null &disown -sleep 20 - -# Enable traffic flows -cd /opt -chmod +x run_streams_dns.sh -./run_streams_dns.sh &>/dev/null &disown \ No newline at end of file diff --git a/vnfs/vLB/scripts/v_packetgen_init.sh b/vnfs/vLB/scripts/v_packetgen_init.sh new file mode 100644 index 00000000..c38d2baf --- /dev/null +++ b/vnfs/vLB/scripts/v_packetgen_init.sh @@ -0,0 +1,107 @@ +#!/bin/bash + +# Start VPP +systemctl start vpp +sleep 1 + +# Compute the network CIDR from the Netmask +mask2cidr() { + nbits=0 + IFS=. + for dec in $1 ; do + case $dec in + 255) let nbits+=8;; + 254) let nbits+=7;; + 252) let nbits+=6;; + 248) let nbits+=5;; + 240) let nbits+=4;; + 224) let nbits+=3;; + 192) let nbits+=2;; + 128) let nbits+=1;; + 0);; + *) echo "Error: $dec is not recognized"; exit 1 + esac + done + echo "$nbits" +} + +IPADDR1_MASK=$(ifconfig eth1 | grep "Mask" | awk '{print $4}' | awk -F ":" '{print $2}') +IPADDR1_CIDR=$(mask2cidr $IPADDR1_MASK) + +# Configure VPP for vPacketGenerator +IPADDR1=$(ifconfig eth1 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) +HWADDR1=$(ifconfig eth1 | grep HWaddr | tr -s ' ' | cut -d' ' -f5) +FAKE_HWADDR1=$(echo -n 00; dd bs=1 count=5 if=/dev/urandom 2>/dev/null | hexdump -v -e '/1 ":%02X"') +VLB_IPADDR=$(cat /opt/config/vlb_ipaddr.txt) +VLB_MAC=$(cat /opt/config/vlb_mac.txt) +GW=$(route -n | grep "^0.0.0.0" | awk '{print $2}') + +ifconfig eth1 down +ifconfig eth1 hw ether $FAKE_HWADDR1 +ip addr flush dev eth1 +ifconfig eth1 up +vppctl tap connect tap111 hwaddr $HWADDR1 +vppctl set int ip address tap-0 $IPADDR1"/"$IPADDR1_CIDR +vppctl set int state tap-0 up +brctl addbr br0 +brctl addif br0 tap111 +brctl addif br0 eth1 +ifconfig br0 up +vppctl ip route add 0.0.0.0/0 via $GW +sleep 1 + +# Set br0 with public IP and valid MAC so that Linux will have public network access +ifconfig br0 hw ether $HWADDR1 +ifconfig br0 $IPADDR1 netmask $IPADDR1_MASK +route add default gw $GW +sleep 1 +vppctl set ip arp tap-0 $VLB_IPADDR $VLB_MAC + +# Install packet streams +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns1 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns2 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns3 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns4 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns5 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns6 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns7 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns8 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns9 +sed -i -e "0,/UDP/ s/UDP:.*/UDP: "$IPADDR1" -> "$VLB_IPADDR"/" /opt/dns_streams/stream_dns10 + +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns1 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns2 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns3 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns4 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns5 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns6 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns7 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns8 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns9 +sed -i -e "s/.*-> 53.*/ UDP: $RANDOM -> 53/" /opt/dns_streams/stream_dns10 + +vppctl exec /opt/dns_streams/stream_dns1 +vppctl exec /opt/dns_streams/stream_dns2 +vppctl exec /opt/dns_streams/stream_dns3 +vppctl exec /opt/dns_streams/stream_dns4 +vppctl exec /opt/dns_streams/stream_dns5 +vppctl exec /opt/dns_streams/stream_dns6 +vppctl exec /opt/dns_streams/stream_dns7 +vppctl exec /opt/dns_streams/stream_dns8 +vppctl exec /opt/dns_streams/stream_dns9 +vppctl exec /opt/dns_streams/stream_dns10 + +vppctl set int ip address pg0 $(cat /opt/config/pg_int.txt)"/"$IPADDR1_CIDR +sleep 1 + +# Start HoneyComb +VERSION=$(cat /opt/config/demo_artifacts_version.txt) +echo "" > /var/lib/honeycomb/persist/context/data.json +echo "" > /var/lib/honeycomb/persist/config/data.json +/opt/honeycomb/sample-distribution-$VERSION/honeycomb &>/dev/null &disown +sleep 20 + +# Enable traffic flows +cd /opt +chmod +x run_streams_dns.sh +./run_streams_dns.sh &>/dev/null &disown \ No newline at end of file diff --git a/vnfs/vLB/scripts/v_packetgen_install.sh b/vnfs/vLB/scripts/v_packetgen_install.sh index 05edac6d..74b84854 100644 --- a/vnfs/vLB/scripts/v_packetgen_install.sh +++ b/vnfs/vLB/scripts/v_packetgen_install.sh @@ -53,8 +53,8 @@ pip install jsonschema # Download vFirewall demo code for packet generator mkdir /opt/honeycomb cd /opt -wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlb/$INSTALL_SCRIPT_VERSION/v_packetgen_for_dns_demo_init.sh -wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlb/$INSTALL_SCRIPT_VERSION/vpacketgenfordnsdemo.sh +wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlb/$INSTALL_SCRIPT_VERSION/v_packetgen_init.sh +wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlb/$INSTALL_SCRIPT_VERSION/vpacketgen.sh wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlb/$INSTALL_SCRIPT_VERSION/run_streams_dns.sh wget $REPO_URL_BLOB/org.onap.demo/vnfs/vlb/$INSTALL_SCRIPT_VERSION/vdnspacketgen_change_streams_ports.sh wget $REPO_URL_ARTIFACTS/org/onap/demo/vnf/sample-distribution/$DEMO_ARTIFACTS_VERSION/sample-distribution-$DEMO_ARTIFACTS_VERSION-hc.tar.gz @@ -67,8 +67,8 @@ sed -i 's/"restconf-binding-address": "127.0.0.1",/"restconf-binding-address": " tar -zxvf vlb_dns_streams-$DEMO_ARTIFACTS_VERSION-demo.tar.gz mv vlb_dns_streams-$DEMO_ARTIFACTS_VERSION dns_streams rm *.tar.gz -chmod +x v_packetgen_for_dns_demo_init.sh -chmod +x vpacketgenfordnsdemo.sh +chmod +x v_packetgen_init.sh +chmod +x vpacketgen.sh chmod +x run_streams_dns.sh chmod +x vdnspacketgen_change_streams_ports.sh @@ -83,8 +83,8 @@ sleep 1 # Run instantiation script cd /opt -mv vpacketgenfordnsdemo.sh /etc/init.d -update-rc.d vpacketgenfordnsdemo.sh defaults +mv vpacketgen.sh /etc/init.d +update-rc.d vpacketgen.sh defaults # Rename network interface in openstack Ubuntu 16.04 images. Then, reboot the VM to pick up changes if [[ $CLOUD_ENV != "rackspace" ]] @@ -98,4 +98,4 @@ then reboot fi -./v_packetgen_for_dns_demo_init.sh +./v_packetgen_init.sh diff --git a/vnfs/vLB/scripts/vpacketgen.sh b/vnfs/vLB/scripts/vpacketgen.sh new file mode 100644 index 00000000..1d00fd9c --- /dev/null +++ b/vnfs/vLB/scripts/vpacketgen.sh @@ -0,0 +1,99 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start daemon at boot time +# Description: Enable service provided by daemon. +### END INIT INFO + +dir="/opt" +cmd="./v_packetgen_init.sh" +user="root" + +name=`basename $0` +pid_file="/var/run/$name.pid" +stdout_log="/var/log/$name.log" +stderr_log="/var/log/$name.err" + +get_pid() { + cat "$pid_file" +} + +is_running() { + [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1 +} + +case "$1" in + start) + if is_running; then + echo "Already started" + else + echo "Starting $name" + cd "$dir" + if [ -z "$user" ]; then + sudo $cmd >> "$stdout_log" 2>> "$stderr_log" & + else + sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" & + fi + echo $! > "$pid_file" + if ! is_running; then + echo "Unable to start, see $stdout_log and $stderr_log" + exit 1 + fi + fi + ;; + stop) + if is_running; then + echo -n "Stopping $name.." + kill `get_pid` + for i in {1..10} + do + if ! is_running; then + break + fi + + echo -n "." + sleep 1 + done + echo + + if is_running; then + echo "Not stopped; may still be shutting down or shutdown may have failed" + exit 1 + else + echo "Stopped" + if [ -f "$pid_file" ]; then + rm "$pid_file" + fi + fi + else + echo "Not running" + fi + ;; + restart) + $0 stop + if is_running; then + echo "Unable to stop, will not attempt to start" + exit 1 + fi + $0 start + ;; + status) + if is_running; then + echo "Running" + else + echo "Stopped" + exit 1 + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac + +exit 0 + diff --git a/vnfs/vLB/scripts/vpacketgenfordnsdemo.sh b/vnfs/vLB/scripts/vpacketgenfordnsdemo.sh deleted file mode 100644 index 427e5337..00000000 --- a/vnfs/vLB/scripts/vpacketgenfordnsdemo.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start daemon at boot time -# Description: Enable service provided by daemon. -### END INIT INFO - -dir="/opt" -cmd="./v_packetgen_for_dns_demo_init.sh" -user="root" - -name=`basename $0` -pid_file="/var/run/$name.pid" -stdout_log="/var/log/$name.log" -stderr_log="/var/log/$name.err" - -get_pid() { - cat "$pid_file" -} - -is_running() { - [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1 -} - -case "$1" in - start) - if is_running; then - echo "Already started" - else - echo "Starting $name" - cd "$dir" - if [ -z "$user" ]; then - sudo $cmd >> "$stdout_log" 2>> "$stderr_log" & - else - sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" & - fi - echo $! > "$pid_file" - if ! is_running; then - echo "Unable to start, see $stdout_log and $stderr_log" - exit 1 - fi - fi - ;; - stop) - if is_running; then - echo -n "Stopping $name.." - kill `get_pid` - for i in {1..10} - do - if ! is_running; then - break - fi - - echo -n "." - sleep 1 - done - echo - - if is_running; then - echo "Not stopped; may still be shutting down or shutdown may have failed" - exit 1 - else - echo "Stopped" - if [ -f "$pid_file" ]; then - rm "$pid_file" - fi - fi - else - echo "Not running" - fi - ;; - restart) - $0 stop - if is_running; then - echo "Unable to stop, will not attempt to start" - exit 1 - fi - $0 start - ;; - status) - if is_running; then - echo "Running" - else - echo "Stopped" - exit 1 - fi - ;; - *) - echo "Usage: $0 {start|stop|restart|status}" - exit 1 - ;; -esac - -exit 0 - -- cgit 1.2.3-korg