From: Marco Platania Date: Mon, 5 Jun 2017 19:35:45 +0000 (-0400) Subject: Parametrize CIDR and Netmask in the demos X-Git-Tag: 1.0.0-Amsterdam~270 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=9f94d8c2fd838c1607f630dfdd5f936605d9873f;p=demo.git Parametrize CIDR and Netmask in the demos Change-Id: I01f46fc1ee5cd1774e3db2e3381081dc9fc4c967 Signed-off-by: Marco Platania --- diff --git a/heat/vFW/base_vfw_openstack.yaml b/heat/vFW/base_vfw_openstack.yaml index 9a186722..3ecc4dd3 100644 --- a/heat/vFW/base_vfw_openstack.yaml +++ b/heat/vFW/base_vfw_openstack.yaml @@ -253,6 +253,9 @@ resources: __vfw_private_ip_0__ : { get_param: vfw_private_ip_0 } __vfw_private_ip_1__ : { get_param: vfw_private_ip_1 } __vfw_private_ip_2__ : { get_param: vfw_private_ip_2 } + __unprotected_private_net_cidr__ : { get_param: unprotected_private_net_cidr } + __protected_private_net_cidr__ : { get_param: protected_private_net_cidr } + __onap_private_net_cidr__ : { get_param: onap_private_net_cidr } __cloud_env__ : { get_param: cloud_env } template: | #!/bin/bash @@ -268,6 +271,9 @@ resources: echo "__vfw_private_ip_0__" > /opt/config/vfw_private_ip_0.txt echo "__vfw_private_ip_1__" > /opt/config/vfw_private_ip_1.txt echo "__vfw_private_ip_2__" > /opt/config/vfw_private_ip_2.txt + echo "__unprotected_private_net_cidr__" > /opt/config/unprotected_private_net_cidr.txt + echo "__protected_private_net_cidr__" > /opt/config/protected_private_net_cidr.txt + echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script @@ -315,6 +321,8 @@ resources: __install_script_version__ : { get_param: install_script_version } __vpg_private_ip_0__ : { get_param: vpg_private_ip_0 } __vpg_private_ip_1__ : { get_param: vpg_private_ip_1 } + __unprotected_private_net_cidr__ : { get_param: unprotected_private_net_cidr } + __onap_private_net_cidr__ : { get_param: onap_private_net_cidr } __cloud_env__ : { get_param: cloud_env } template: | #!/bin/bash @@ -330,6 +338,8 @@ resources: echo "__install_script_version__" > /opt/config/install_script_version.txt echo "__vpg_private_ip_0__" > /opt/config/vpg_private_ip_0.txt echo "__vpg_private_ip_1__" > /opt/config/vpg_private_ip_1.txt + echo "__unprotected_private_net_cidr__" > /opt/config/unprotected_private_net_cidr.txt + echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script @@ -375,6 +385,8 @@ resources: __install_script_version__ : { get_param: install_script_version } __vsn_private_ip_0__ : { get_param: vsn_private_ip_0 } __vsn_private_ip_1__ : { get_param: vsn_private_ip_1 } + __protected_private_net_cidr__ : { get_param: protected_private_net_cidr } + __onap_private_net_cidr__ : { get_param: onap_private_net_cidr } __cloud_env__ : { get_param: cloud_env } template: | #!/bin/bash @@ -387,6 +399,8 @@ resources: echo "__install_script_version__" > /opt/config/install_script_version.txt echo "__vsn_private_ip_0__" > /opt/config/vsn_private_ip_0.txt echo "__vsn_private_ip_1__" > /opt/config/vsn_private_ip_1.txt + echo "__protected_private_net_cidr__" > /opt/config/protected_private_net_cidr.txt + echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script diff --git a/heat/vLB/base_vlb_openstack.yaml b/heat/vLB/base_vlb_openstack.yaml index 3f098576..82687cad 100644 --- a/heat/vLB/base_vlb_openstack.yaml +++ b/heat/vLB/base_vlb_openstack.yaml @@ -207,6 +207,8 @@ resources: __repo_url_artifacts__: { get_param: repo_url_artifacts } __demo_artifacts_version__: { get_param: demo_artifacts_version } __install_script_version__: { get_param: install_script_version } + __vlb_private_net_cidr__: { get_param: vlb_private_net_cidr } + __onap_private_net_cidr__: { get_param: onap_private_net_cidr } __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash @@ -221,6 +223,8 @@ resources: echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt echo "__install_script_version__" > /opt/config/install_script_version.txt + echo "__vlb_private_net_cidr__" > /opt/config/vlb_private_net_cidr.txt + echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script @@ -266,6 +270,8 @@ resources: __repo_url_artifacts__: { get_param: repo_url_artifacts } __demo_artifacts_version__: { get_param: demo_artifacts_version } __install_script_version__: { get_param: install_script_version } + __vlb_private_net_cidr__: { get_param: vlb_private_net_cidr } + __onap_private_net_cidr__: { get_param: onap_private_net_cidr } __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash @@ -280,6 +286,8 @@ resources: echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt echo "__install_script_version__" > /opt/config/install_script_version.txt + echo "__vlb_private_net_cidr__" > /opt/config/vlb_private_net_cidr.txt + echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script diff --git a/heat/vLB/dnsscaling_openstack.env b/heat/vLB/dnsscaling_openstack.env index dc9679ea..3cc328f4 100644 --- a/heat/vLB/dnsscaling_openstack.env +++ b/heat/vLB/dnsscaling_openstack.env @@ -5,6 +5,8 @@ parameters: vlb_private_net_id: zdfw1lb01_private onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE onap_private_subnet_id: PUT THE ONAP PRIVATE NETWORK NAME HERE + vlb_private_net_cidr: 192.168.10.0/24 + onap_private_net_cidr: PUT THE ONAP NETWORK CIDR HERE vlb_private_ip_0: 192.168.10.111 vlb_private_ip_1: PUT THE PRIVATE ADDRESS OF THE VLB IN THE ONAP NETWORK SPACE HERE vdns_private_ip_0: 192.168.10.212 diff --git a/heat/vLB/dnsscaling_openstack.yaml b/heat/vLB/dnsscaling_openstack.yaml index 4313c7bb..2e07ca85 100644 --- a/heat/vLB/dnsscaling_openstack.yaml +++ b/heat/vLB/dnsscaling_openstack.yaml @@ -57,6 +57,14 @@ parameters: type: string label: ONAP management sub-network name or ID description: Private sub-network that connects ONAP component and the VNF + vlb_private_net_cidr: + type: string + label: vLoadBalancer private network CIDR + description: The CIDR of the vLoadBalancer private network + onap_private_net_cidr: + type: string + label: ONAP private network CIDR + description: The CIDR of the protected private network vlb_private_ip_0: type: string label: vLoadBalancer private IP address towards the private network @@ -175,6 +183,8 @@ resources: __repo_url_artifacts__: { get_param: repo_url_artifacts } __demo_artifacts_version__: { get_param: demo_artifacts_version } __install_script_version__: { get_param: install_script_version } + __vlb_private_net_cidr__: { get_param: vlb_private_net_cidr } + __onap_private_net_cidr__: { get_param: onap_private_net_cidr } __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash @@ -189,6 +199,8 @@ resources: echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt echo "__install_script_version__" > /opt/config/install_script_version.txt + echo "__vlb_private_net_cidr__" > /opt/config/vlb_private_net_cidr.txt + echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script diff --git a/vnfs/vFW/scripts/v_firewall_init.sh b/vnfs/vFW/scripts/v_firewall_init.sh index d277af04..75a55bee 100644 --- a/vnfs/vFW/scripts/v_firewall_init.sh +++ b/vnfs/vFW/scripts/v_firewall_init.sh @@ -1,5 +1,26 @@ #!/bin/bash +# Convert Network CIDR to 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" +} + # Start VPP start vpp sleep 1 @@ -12,6 +33,11 @@ HWADDR2=$(ifconfig eth2 | 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"') FAKE_HWADDR2=$(echo -n 00; dd bs=1 count=5 if=/dev/urandom 2>/dev/null | hexdump -v -e '/1 ":%02X"') +IPADDR1_MASK=$(ifconfig eth1 | grep "Mask" | awk '{print $4}' | awk -F ":" '{print $2}') +IPADDR1_CIDR=$(mask2cidr $IPADDR1_MASK) +IPADDR2_MASK=$(ifconfig eth2 | grep "Mask" | awk '{print $4}' | awk -F ":" '{print $2}') +IPADDR2_CIDR=$(mask2cidr $IPADDR2_MASK) + ifconfig eth1 down ifconfig eth2 down ifconfig eth1 hw ether $FAKE_HWADDR1 @@ -22,8 +48,8 @@ ifconfig eth1 up ifconfig eth2 up vppctl tap connect tap111 hwaddr $HWADDR1 vppctl tap connect tap222 hwaddr $HWADDR2 -vppctl set int ip address tap-0 $IPADDR1"/24" -vppctl set int ip address tap-1 $IPADDR2"/24" +vppctl set int ip address tap-0 $IPADDR1"/"$IPADDR1_CIDR +vppctl set int ip address tap-1 $IPADDR2"/"$IPADDR2_CIDR vppctl set int state tap-0 up vppctl set int state tap-1 up brctl addbr br0 diff --git a/vnfs/vFW/scripts/v_firewall_install.sh b/vnfs/vFW/scripts/v_firewall_install.sh index 21164383..5ec634e4 100644 --- a/vnfs/vFW/scripts/v_firewall_install.sh +++ b/vnfs/vFW/scripts/v_firewall_install.sh @@ -6,6 +6,14 @@ DEMO_ARTIFACTS_VERSION=$(cat /opt/config/demo_artifacts_version.txt) INSTALL_SCRIPT_VERSION=$(cat /opt/config/install_script_version.txt) CLOUD_ENV=$(cat /opt/config/cloud_env.txt) +# Convert Network CIDR to Netmask +cdr2mask () { + # Number of args to shift, 255..255, first non-255 byte, zeroes + set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0 + [ $1 -gt 1 ] && shift $1 || shift + echo ${1-0}.${2-0}.${3-0}.${4-0} +} + # OpenStack network configuration if [[ $CLOUD_ENV == "openstack" ]] then @@ -17,25 +25,31 @@ then MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) - VFW_PRIVATE_IP_O=$(cat /opt/config/vfw_private_ip_0.txt) + IP=$(cat /opt/config/vfw_private_ip_0.txt) + BITS=$(cat /opt/config/unprotected_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth1" >> /etc/network/interfaces echo "iface eth1 inet static" >> /etc/network/interfaces - echo " address $VFW_PRIVATE_IP_O" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - VFW_PRIVATE_IP_1=$(cat /opt/config/vfw_private_ip_1.txt) + IP=$(cat /opt/config/vfw_private_ip_1.txt) + BITS=$(cat /opt/config/protected_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth2" >> /etc/network/interfaces echo "iface eth2 inet static" >> /etc/network/interfaces - echo " address $VFW_PRIVATE_IP_1" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - VFW_PRIVATE_IP_2=$(cat /opt/config/vfw_private_ip_2.txt) + IP=$(cat /opt/config/vfw_private_ip_2.txt) + BITS=$(cat /opt/config/onap_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth3" >> /etc/network/interfaces echo "iface eth3 inet static" >> /etc/network/interfaces - echo " address $VFW_PRIVATE_IP_2" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces ifup eth1 diff --git a/vnfs/vFW/scripts/v_packetgen_init.sh b/vnfs/vFW/scripts/v_packetgen_init.sh index ca6571b7..3b8f51ff 100644 --- a/vnfs/vFW/scripts/v_packetgen_init.sh +++ b/vnfs/vFW/scripts/v_packetgen_init.sh @@ -1,5 +1,26 @@ #!/bin/bash +# Convert Network CIDR to 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" +} + # Start VPP start vpp sleep 1 @@ -12,12 +33,15 @@ PROTECTED_NET_CIDR=$(cat /opt/config/protected_net_cidr.txt) FW_IPADDR=$(cat /opt/config/fw_ipaddr.txt) SINK_IPADDR=$(cat /opt/config/sink_ipaddr.txt) +IPADDR1_MASK=$(ifconfig eth1 | grep "Mask" | awk '{print $4}' | awk -F ":" '{print $2}') +IPADDR1_CIDR=$(mask2cidr $IPADDR1_MASK) + 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"/24" +vppctl set int ip address tap-0 $IPADDR1"/"$IPADDR1_CIDR vppctl set int state tap-0 up brctl addbr br0 brctl addif br0 tap111 diff --git a/vnfs/vFW/scripts/v_packetgen_install.sh b/vnfs/vFW/scripts/v_packetgen_install.sh index c3a510da..dd75278d 100644 --- a/vnfs/vFW/scripts/v_packetgen_install.sh +++ b/vnfs/vFW/scripts/v_packetgen_install.sh @@ -6,6 +6,14 @@ DEMO_ARTIFACTS_VERSION=$(cat /opt/config/demo_artifacts_version.txt) INSTALL_SCRIPT_VERSION=$(cat /opt/config/install_script_version.txt) CLOUD_ENV=$(cat /opt/config/cloud_env.txt) +# Convert Network CIDR to Netmask +cdr2mask () { + # Number of args to shift, 255..255, first non-255 byte, zeroes + set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0 + [ $1 -gt 1 ] && shift $1 || shift + echo ${1-0}.${2-0}.${3-0}.${4-0} +} + # OpenStack network configuration if [[ $CLOUD_ENV == "openstack" ]] then @@ -17,18 +25,22 @@ then MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) - VPG_PRIVATE_IP_O=$(cat /opt/config/vpg_private_ip_0.txt) + IP=$(cat /opt/config/vpg_private_ip_0.txt) + BITS=$(cat /opt/config/unprotected_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth1" >> /etc/network/interfaces echo "iface eth1 inet static" >> /etc/network/interfaces - echo " address $VPG_PRIVATE_IP_O" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - VPG_PRIVATE_IP_1=$(cat /opt/config/vpg_private_ip_1.txt) + IP=$(cat /opt/config/vpg_private_ip_1.txt) + BITS=$(cat /opt/config/onap_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth2" >> /etc/network/interfaces echo "iface eth2 inet static" >> /etc/network/interfaces - echo " address $VPG_PRIVATE_IP_1" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces ifup eth1 diff --git a/vnfs/vFW/scripts/v_sink_init.sh b/vnfs/vFW/scripts/v_sink_init.sh index 77f4296c..7975d435 100644 --- a/vnfs/vFW/scripts/v_sink_init.sh +++ b/vnfs/vFW/scripts/v_sink_init.sh @@ -1,7 +1,17 @@ #!/bin/bash +# Convert Network CIDR to Netmask +cdr2mask () { + # Number of args to shift, 255..255, first non-255 byte, zeroes + set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0 + [ $1 -gt 1 ] && shift $1 || shift + echo ${1-0}.${2-0}.${3-0}.${4-0} +} + # Set the IP address of the protected network interface of the vFirewall as a default gateway to the unprotected network PROTECTED_NET_GW=$(cat /opt/config/protected_net_gw.txt) UNPROTECTED_NET=$(cat /opt/config/unprotected_net.txt | cut -d'/' -f1) +BITS=$(cat /opt/config/unprotected_net.txt | cut -d"/" -f2) +NETMASK=$(cdr2mask $BITS) -route add -net $UNPROTECTED_NET netmask 255.255.255.0 gw $PROTECTED_NET_GW +route add -net $UNPROTECTED_NET netmask $NETMASK gw $PROTECTED_NET_GW diff --git a/vnfs/vFW/scripts/v_sink_install.sh b/vnfs/vFW/scripts/v_sink_install.sh index 32c6167f..71bab414 100644 --- a/vnfs/vFW/scripts/v_sink_install.sh +++ b/vnfs/vFW/scripts/v_sink_install.sh @@ -4,6 +4,14 @@ REPO_URL_BLOB=$(cat /opt/config/repo_url_blob.txt) INSTALL_SCRIPT_VERSION=$(cat /opt/config/install_script_version.txt) CLOUD_ENV=$(cat /opt/config/cloud_env.txt) +# Convert Network CIDR to Netmask +cdr2mask () { + # Number of args to shift, 255..255, first non-255 byte, zeroes + set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0 + [ $1 -gt 1 ] && shift $1 || shift + echo ${1-0}.${2-0}.${3-0}.${4-0} +} + # OpenStack network configuration if [[ $CLOUD_ENV == "openstack" ]] then @@ -15,18 +23,22 @@ then MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) - VSN_PRIVATE_IP_O=$(cat /opt/config/vsn_private_ip_0.txt) + IP=$(cat /opt/config/vsn_private_ip_0.txt) + BITS=$(cat /opt/config/protected_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth1" >> /etc/network/interfaces echo "iface eth1 inet static" >> /etc/network/interfaces - echo " address $VSN_PRIVATE_IP_O" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - VSN_PRIVATE_IP_1=$(cat /opt/config/vsn_private_ip_1.txt) + IP=$(cat /opt/config/vsn_private_ip_1.txt) + BITS=$(cat /opt/config/onap_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth2" >> /etc/network/interfaces echo "iface eth2 inet static" >> /etc/network/interfaces - echo " address $VSN_PRIVATE_IP_1" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces ifup eth1 diff --git a/vnfs/vLB/scripts/v_dns_install.sh b/vnfs/vLB/scripts/v_dns_install.sh index 279205c3..5e51ee2c 100644 --- a/vnfs/vLB/scripts/v_dns_install.sh +++ b/vnfs/vLB/scripts/v_dns_install.sh @@ -6,6 +6,14 @@ DEMO_ARTIFACTS_VERSION=$(cat /opt/config/demo_artifacts_version.txt) INSTALL_SCRIPT_VERSION=$(cat /opt/config/install_script_version.txt) CLOUD_ENV=$(cat /opt/config/cloud_env.txt) +# Convert Network CIDR to Netmask +cdr2mask () { + # Number of args to shift, 255..255, first non-255 byte, zeroes + set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0 + [ $1 -gt 1 ] && shift $1 || shift + echo ${1-0}.${2-0}.${3-0}.${4-0} +} + # OpenStack network configuration if [[ $CLOUD_ENV == "openstack" ]] then @@ -17,18 +25,22 @@ then MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) - VDNS_PRIVATE_IP_O=$(cat /opt/config/local_private_ipaddr.txt) + IP=$(cat /opt/config/local_private_ipaddr.txt) + BITS=$(cat /opt/config/vlb_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth1" >> /etc/network/interfaces echo "iface eth1 inet static" >> /etc/network/interfaces - echo " address $VDNS_PRIVATE_IP_O" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - VDNS_PRIVATE_IP_1=$(cat /opt/config/oam_private_ipaddr.txt) + IP=$(cat /opt/config/oam_private_ipaddr.txt) + BITS=$(cat /opt/config/onap_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth2" >> /etc/network/interfaces echo "iface eth2 inet static" >> /etc/network/interfaces - echo " address $VDNS_PRIVATE_IP_1" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces ifup eth1 diff --git a/vnfs/vLB/scripts/v_lb_init.sh b/vnfs/vLB/scripts/v_lb_init.sh index e41c4ef3..8767a943 100755 --- a/vnfs/vLB/scripts/v_lb_init.sh +++ b/vnfs/vLB/scripts/v_lb_init.sh @@ -27,6 +27,8 @@ mask2cidr() { IPADDR1_MASK=$(ifconfig eth0 | grep "Mask" | awk '{print $4}' | awk -F ":" '{print $2}') IPADDR1_CIDR=$(mask2cidr $IPADDR1_MASK) +IPADDR2_MASK=$(ifconfig eth1 | grep "Mask" | awk '{print $4}' | awk -F ":" '{print $2}') +IPADDR2_CIDR=$(mask2cidr $IPADDR2_MASK) # Configure VPP for vPacketGenerator IPADDR1=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) @@ -54,7 +56,7 @@ ifconfig eth1 hw ether $FAKE_HWADDR2 ip addr flush dev eth1 ifconfig eth1 up vppctl tap connect tap111 hwaddr $HWADDR2 -vppctl set int ip address tap-1 $IPADDR2"/24" +vppctl set int ip address tap-1 $IPADDR2"/"$IPADDR2_CIDR vppctl set int state tap-1 up brctl addbr br1 brctl addif br1 tap111 diff --git a/vnfs/vLB/scripts/v_lb_install.sh b/vnfs/vLB/scripts/v_lb_install.sh index 73fee3d7..da1c5b41 100644 --- a/vnfs/vLB/scripts/v_lb_install.sh +++ b/vnfs/vLB/scripts/v_lb_install.sh @@ -6,6 +6,14 @@ DEMO_ARTIFACTS_VERSION=$(cat /opt/config/demo_artifacts_version.txt) INSTALL_SCRIPT_VERSION=$(cat /opt/config/install_script_version.txt) CLOUD_ENV=$(cat /opt/config/cloud_env.txt) +# Convert Network CIDR to Netmask +cdr2mask () { + # Number of args to shift, 255..255, first non-255 byte, zeroes + set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0 + [ $1 -gt 1 ] && shift $1 || shift + echo ${1-0}.${2-0}.${3-0}.${4-0} +} + # OpenStack network configuration if [[ $CLOUD_ENV == "openstack" ]] then @@ -17,18 +25,22 @@ then MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) - VLB_PRIVATE_IP_O=$(cat /opt/config/local_private_ipaddr.txt) + IP=$(cat /opt/config/local_private_ipaddr.txt) + BITS=$(cat /opt/config/vlb_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth1" >> /etc/network/interfaces echo "iface eth1 inet static" >> /etc/network/interfaces - echo " address $VLB_PRIVATE_IP_O" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - VLB_PRIVATE_IP_1=$(cat /opt/config/oam_private_ipaddr.txt) + IP=$(cat /opt/config/oam_private_ipaddr.txt) + BITS=$(cat /opt/config/onap_private_net_cidr.txt | cut -d"/" -f2) + NETMASK=$(cdr2mask $BITS) echo "auto eth2" >> /etc/network/interfaces echo "iface eth2 inet static" >> /etc/network/interfaces - echo " address $VLB_PRIVATE_IP_1" >> /etc/network/interfaces - echo " netmask 255.255.255.0" >> /etc/network/interfaces + echo " address $IP" >> /etc/network/interfaces + echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces ifup eth1