Parametrize CIDR and Netmask in the demos 59/4659/1
authorMarco Platania <platania@research.att.com>
Mon, 5 Jun 2017 19:35:45 +0000 (15:35 -0400)
committerMarco Platania <platania@research.att.com>
Mon, 5 Jun 2017 19:35:45 +0000 (15:35 -0400)
Change-Id: I01f46fc1ee5cd1774e3db2e3381081dc9fc4c967
Signed-off-by: Marco Platania <platania@research.att.com>
13 files changed:
heat/vFW/base_vfw_openstack.yaml
heat/vLB/base_vlb_openstack.yaml
heat/vLB/dnsscaling_openstack.env
heat/vLB/dnsscaling_openstack.yaml
vnfs/vFW/scripts/v_firewall_init.sh
vnfs/vFW/scripts/v_firewall_install.sh
vnfs/vFW/scripts/v_packetgen_init.sh
vnfs/vFW/scripts/v_packetgen_install.sh
vnfs/vFW/scripts/v_sink_init.sh
vnfs/vFW/scripts/v_sink_install.sh
vnfs/vLB/scripts/v_dns_install.sh
vnfs/vLB/scripts/v_lb_init.sh
vnfs/vLB/scripts/v_lb_install.sh

index 9a18672..3ecc4dd 100644 (file)
@@ -253,6 +253,9 @@ resources:
             __vfw_private_ip_0__ : { get_param: vfw_private_ip_0 }\r
             __vfw_private_ip_1__ : { get_param: vfw_private_ip_1 }\r
             __vfw_private_ip_2__ : { get_param: vfw_private_ip_2 }\r
+            __unprotected_private_net_cidr__ : { get_param: unprotected_private_net_cidr }\r
+            __protected_private_net_cidr__ : { get_param: protected_private_net_cidr }\r
+            __onap_private_net_cidr__ : { get_param: onap_private_net_cidr }\r
             __cloud_env__ : { get_param: cloud_env }\r
           template: |\r
             #!/bin/bash\r
@@ -268,6 +271,9 @@ resources:
             echo "__vfw_private_ip_0__" > /opt/config/vfw_private_ip_0.txt\r
             echo "__vfw_private_ip_1__" > /opt/config/vfw_private_ip_1.txt\r
             echo "__vfw_private_ip_2__" > /opt/config/vfw_private_ip_2.txt\r
+            echo "__unprotected_private_net_cidr__" > /opt/config/unprotected_private_net_cidr.txt\r
+            echo "__protected_private_net_cidr__" > /opt/config/protected_private_net_cidr.txt\r
+            echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt\r
             echo "__cloud_env__" > /opt/config/cloud_env.txt\r
             \r
             # Download and run install script\r
@@ -315,6 +321,8 @@ resources:
             __install_script_version__ : { get_param: install_script_version }\r
             __vpg_private_ip_0__ : { get_param: vpg_private_ip_0 }\r
             __vpg_private_ip_1__ : { get_param: vpg_private_ip_1 }\r
+            __unprotected_private_net_cidr__ : { get_param: unprotected_private_net_cidr }\r
+            __onap_private_net_cidr__ : { get_param: onap_private_net_cidr }\r
             __cloud_env__ : { get_param: cloud_env }\r
           template: |\r
             #!/bin/bash\r
@@ -330,6 +338,8 @@ resources:
             echo "__install_script_version__" > /opt/config/install_script_version.txt\r
             echo "__vpg_private_ip_0__" > /opt/config/vpg_private_ip_0.txt\r
             echo "__vpg_private_ip_1__" > /opt/config/vpg_private_ip_1.txt\r
+            echo "__unprotected_private_net_cidr__" > /opt/config/unprotected_private_net_cidr.txt\r
+            echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt\r
             echo "__cloud_env__" > /opt/config/cloud_env.txt\r
             \r
             # Download and run install script\r
@@ -375,6 +385,8 @@ resources:
             __install_script_version__ : { get_param: install_script_version }\r
             __vsn_private_ip_0__ : { get_param: vsn_private_ip_0 }\r
             __vsn_private_ip_1__ : { get_param: vsn_private_ip_1 }\r
+            __protected_private_net_cidr__ : { get_param: protected_private_net_cidr }\r
+            __onap_private_net_cidr__ : { get_param: onap_private_net_cidr }\r
             __cloud_env__ : { get_param: cloud_env }\r
           template: |\r
             #!/bin/bash\r
@@ -387,6 +399,8 @@ resources:
             echo "__install_script_version__" > /opt/config/install_script_version.txt\r
             echo "__vsn_private_ip_0__" > /opt/config/vsn_private_ip_0.txt\r
             echo "__vsn_private_ip_1__" > /opt/config/vsn_private_ip_1.txt\r
+            echo "__protected_private_net_cidr__" > /opt/config/protected_private_net_cidr.txt\r
+            echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt\r
             echo "__cloud_env__" > /opt/config/cloud_env.txt\r
             \r
             # Download and run install script\r
index 3f09857..82687ca 100644 (file)
@@ -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
index dc9679e..3cc328f 100644 (file)
@@ -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
index 4313c7b..2e07ca8 100644 (file)
@@ -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
index d277af0..75a55be 100644 (file)
@@ -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
index 2116438..5ec634e 100644 (file)
@@ -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
index ca6571b..3b8f51f 100644 (file)
@@ -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
index c3a510d..dd75278 100644 (file)
@@ -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
index 77f4296..7975d43 100644 (file)
@@ -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
index 32c6167..71bab41 100644 (file)
@@ -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
index 279205c..5e51ee2 100644 (file)
@@ -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
index e41c4ef..8767a94 100755 (executable)
@@ -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
index 73fee3d..da1c5b4 100644 (file)
@@ -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