From 93465218ae4db89ff61e63a3ab62bec65828c89a Mon Sep 17 00:00:00 2001 From: Marco Platania Date: Thu, 10 Aug 2017 13:29:12 -0400 Subject: [PATCH] Add vCPE use case heat/install scripts Change-Id: I5ec26dc5bdfa647c15b2db88829b75ed713caf42 Signed-off-by: Marco Platania --- heat/ONAP/onap_openstack.yaml | 4 + heat/ONAP/onap_openstack_float.yaml | 4 + heat/ONAP/onap_openstack_nofloat.yaml | 4 + heat/ONAP/onap_rackspace.yaml | 14 ++++ heat/vCPE/infra/base_vcpe_infra_rackspace.env | 1 + heat/vCPE/infra/base_vcpe_infra_rackspace.yaml | 85 +++++++++++++--------- heat/vCPE/vbng/base_vcpe_vbng_rackspace.env | 2 + heat/vCPE/vbng/base_vcpe_vbng_rackspace.yaml | 49 ++++++++----- heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.env | 5 +- heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.yaml | 24 ++++-- heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.env | 6 +- heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.yaml | 53 ++++++++++---- heat/vCPE/vgw/base_vcpe_vgw_rackspace.env | 6 +- heat/vCPE/vgw/base_vcpe_vgw_rackspace.yaml | 41 +++++++++-- pom.xml | 1 + scripts/deploy.sh | 5 ++ vnfs/vCPE/kea-sdnc-notify-mod/README.md | 4 +- vnfs/vCPE/kea-sdnc-notify-mod/pom.xml | 2 +- vnfs/vCPE/scripts/v_dhcp_install.sh | 49 ++++++------- 19 files changed, 240 insertions(+), 119 deletions(-) diff --git a/heat/ONAP/onap_openstack.yaml b/heat/ONAP/onap_openstack.yaml index 609fcaa1..48339997 100644 --- a/heat/ONAP/onap_openstack.yaml +++ b/heat/ONAP/onap_openstack.yaml @@ -758,6 +758,8 @@ resources: __sdnc_ip_addr__: { get_param: sdnc_ip_addr } __vid_ip_addr__: { get_param: vid_ip_addr } __external_dns__: { get_param: external_dns } + __vm_image_name__: { get_param: ubuntu_1404_image} + __vm_flavor__: { get_param: flavor_medium} template: | #!/bin/bash @@ -789,6 +791,8 @@ resources: echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt echo "__external_dns__" > /opt/config/external_dns.txt + echo "__vm_image_name__" > /opt/config/vm_image_name.txt + echo "__vm_flavor__" > /opt/config/vm_flavor.txt # Download and run install script curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh diff --git a/heat/ONAP/onap_openstack_float.yaml b/heat/ONAP/onap_openstack_float.yaml index 4187dd5a..af49a776 100644 --- a/heat/ONAP/onap_openstack_float.yaml +++ b/heat/ONAP/onap_openstack_float.yaml @@ -829,6 +829,8 @@ resources: __vid_ip_addr__: { get_param: vid_ip_addr } __cloud_env__: { get_param: cloud_env } __external_dns__: { get_param: external_dns } + __vm_image_name__: { get_param: ubuntu_1404_image} + __vm_flavor__: { get_param: flavor_medium} template: | #!/bin/bash @@ -860,6 +862,8 @@ resources: echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt echo "__external_dns__" > /opt/config/external_dns.txt + echo "__vm_image_name__" > /opt/config/vm_image_name.txt + echo "__vm_flavor__" > /opt/config/vm_flavor.txt # Download and run install script curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh diff --git a/heat/ONAP/onap_openstack_nofloat.yaml b/heat/ONAP/onap_openstack_nofloat.yaml index 2599f6a9..b505d725 100644 --- a/heat/ONAP/onap_openstack_nofloat.yaml +++ b/heat/ONAP/onap_openstack_nofloat.yaml @@ -710,6 +710,8 @@ resources: __vid_ip_addr__: { get_param: vid_ip_addr } __cloud_env__: { get_param: cloud_env } __external_dns__: { get_param: external_dns } + __vm_image_name__: { get_param: ubuntu_1404_image} + __vm_flavor__: { get_param: flavor_medium} template: | #!/bin/bash @@ -743,6 +745,8 @@ resources: echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt echo "__external_dns__" > /opt/config/external_dns.txt + echo "__vm_image_name__" > /opt/config/vm_image_name.txt + echo "__vm_flavor__" > /opt/config/vm_flavor.txt # Download and run install script curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh diff --git a/heat/ONAP/onap_rackspace.yaml b/heat/ONAP/onap_rackspace.yaml index 36089a80..f62043a2 100644 --- a/heat/ONAP/onap_rackspace.yaml +++ b/heat/ONAP/onap_rackspace.yaml @@ -554,6 +554,20 @@ resources: echo "__docker_version__" > /opt/config/docker_version.txt echo "10.0.0.1" > /opt/config/dns_ip_addr.txt echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "https://identity.api.rackspacecloud.com/v2.0" > /opt/config/keystone.txt + echo "10.0.1.1" > /opt/config/aai1_ip_addr.txt + echo "10.0.1.2" > /opt/config/aai2_ip_addr.txt + echo "10.0.2.1" > /opt/config/appc_ip_addr.txt + echo "10.0.4.1" > /opt/config/dcae_ip_addr.txt + echo "10.0.5.1" > /opt/config/mso_ip_addr.txt + echo "10.0.11.1" > /opt/config/mr_ip_addr.txt + echo "10.0.6.1" > /opt/config/policy_ip_addr.txt + echo "10.0.9.1" > /opt/config/portal_ip_addr.txt + echo "10.0.3.1" > /opt/config/sdc_ip_addr.txt + echo "10.0.7.1" > /opt/config/sdnc_ip_addr.txt + echo "10.0.8.1" > /opt/config/vid_ip_addr.txt + echo "Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)" > /opt/config/vm_image_name.txt + echo "4 GB General Purpose v1" > /opt/config/vm_flavor.txt echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script diff --git a/heat/vCPE/infra/base_vcpe_infra_rackspace.env b/heat/vCPE/infra/base_vcpe_infra_rackspace.env index 80e01437..c1a75d21 100644 --- a/heat/vCPE/infra/base_vcpe_infra_rackspace.env +++ b/heat/vCPE/infra/base_vcpe_infra_rackspace.env @@ -6,6 +6,7 @@ parameters: cpe_public_net_id: zdfw1cpe01_public onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE onap_private_subnet_id: PUT THE ONAP PRIVATE NETWORK NAME HERE + onap_cidr: 10.0.0.0/16 cpe_signal_net_cidr: 10.4.0.0/24 cpe_public_net_cidr: 10.2.0.0/24 vdhcp_private_ip_0: 10.4.0.1 diff --git a/heat/vCPE/infra/base_vcpe_infra_rackspace.yaml b/heat/vCPE/infra/base_vcpe_infra_rackspace.yaml index 4c039538..374669f6 100644 --- a/heat/vCPE/infra/base_vcpe_infra_rackspace.yaml +++ b/heat/vCPE/infra/base_vcpe_infra_rackspace.yaml @@ -45,30 +45,34 @@ parameters: type: string label: Public network name or ID description: Public network that enables remote connection to VNF - cpe_signal_net_id: - type: string - label: vAAA private network name or ID - description: Private network that connects vAAA with vDNSs onap_private_net_id: type: string label: ONAP management network name or ID description: Private network that connects ONAP components and the VNF - cpe_public_net_id: - type: string - label: vCPE Public network (emulates internet) name or ID - description: Private network that connects vGW to emulated internet onap_private_subnet_id: type: string label: ONAP management sub-network name or ID description: Private sub-network that connects ONAP components and the VNF + onap_private_net_cidr: + type: string + label: ONAP private network CIDR + description: The CIDR of the protected private network + cpe_signal_net_id: + type: string + label: vAAA private network name or ID + description: Private network that connects vAAA with vDNSs cpe_signal_net_cidr: type: string label: vAAA private network CIDR description: The CIDR of the vAAA private network + cpe_public_net_id: + type: string + label: vCPE Public network (emulates internet) name or ID + description: Private network that connects vGW to emulated internet cpe_public_net_cidr: type: string label: vCPE public network CIDR - description: The CIDR of the vCPE public + description: The CIDR of the vCPE public vaaa_private_ip_0: type: string label: vAAA private IP address towards the CPE_SIGNAL private network @@ -243,7 +247,10 @@ resources: params: __dcae_collector_ip__: { get_param: dcae_collector_ip } __dcae_collector_port__: { get_param: dcae_collector_port } - __local_private_ipaddr__: { get_param: vaaa_private_ip_0 } + __cpe_signal_net_ipaddr__: { get_param: vaaa_private_ip_0 } + __oam_ipaddr__: { get_param: vaaa_private_ip_1 } + __oam_cidr__: { get_param: onap_private_net_cidr } + __cpe_signal_net_cidr__: { get_param: cpe_signal_net_cidr } __repo_url_blob__ : { get_param: repo_url_blob } __repo_url_artifacts__ : { get_param: repo_url_artifacts } __demo_artifacts_version__ : { get_param: demo_artifacts_version } @@ -256,7 +263,10 @@ resources: mkdir /opt/config echo "__dcae_collector_ip__" > /opt/config/dcae_collector_ip.txt echo "__dcae_collector_port__" > /opt/config/dcae_collector_port.txt - echo "__local_private_ipaddr__" > /opt/config/local_private_ipaddr.txt + echo "__cpe_signal_net_ipaddr__" > /opt/config/cpe_signal_net_ipaddr.txt + echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt + echo "__oam_cidr__" > /opt/config/oam_cidr.txt + echo "__cpe_signal_net_cidr__" > /opt/config/cpe_signal_net_cidr.txt echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt @@ -264,7 +274,7 @@ resources: echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script - curl -k __repo_url_blob__/org.onap.demo/vnfs/vaaa/__install_script_version__/v_aaa_install.sh -o /opt/v_aaa_install.sh + curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_aaa_install.sh -o /opt/v_aaa_install.sh cd /opt chmod +x v_aaa_install.sh ./v_aaa_install.sh @@ -299,9 +309,10 @@ resources: user_data: str_replace: params: - __lb_oam_int__ : { get_param: vaaa_private_ip_1 } - __lb_private_ipaddr__: { get_param: vaaa_private_ip_0 } - __local_private_ipaddr__: { get_param: vdns_private_ip_0 } + __oam_ipaddr__ : { get_param: vdns_private_ip_1 } + __cpe_public_net_ipaddr__: { get_param: vdns_private_ip_0 } + __oam_cidr__: { get_param: onap_private_net_cidr } + __cpe_public_net_cidr__: { get_param: cpe_public_net_cidr } __repo_url_blob__ : { get_param: repo_url_blob } __repo_url_artifacts__ : { get_param: repo_url_artifacts } __demo_artifacts_version__ : { get_param: demo_artifacts_version } @@ -312,9 +323,10 @@ resources: # Create configuration files mkdir /opt/config - echo "__lb_oam_int__" > /opt/config/lb_oam_int.txt - echo "__lb_private_ipaddr__" > /opt/config/lb_private_ipaddr.txt - echo "__local_private_ipaddr__" > /opt/config/local_private_ipaddr.txt + echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt + echo "__cpe_public_net_ipaddr__" > /opt/config/cpe_public_net_ipaddr.txt + echo "__oam_cidr__" > /opt/config/oam_cidr.txt + echo "__cpe_public_net_cidr__" > /opt/config/cpe_public_net_cidr.txt echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt @@ -322,7 +334,7 @@ resources: echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script - curl -k __repo_url_blob__/org.onap.demo/vnfs/vdns/__install_script_version__/v_dns_install.sh -o /opt/v_dns_install.sh + curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_dns_install.sh -o /opt/v_dns_install.sh cd /opt chmod +x v_dns_install.sh ./v_dns_install.sh @@ -357,9 +369,10 @@ resources: user_data: str_replace: params: - __lb_oam_int__ : { get_param: vaaa_private_ip_1 } - __lb_private_ipaddr__: { get_param: vaaa_private_ip_0 } - __local_private_ipaddr__: { get_param: vdhcp_private_ip_0 } + __oam_ipaddr__ : { get_param: vdhcp_private_ip_1 } + __cpe_signal_ipaddr__: { get_param: vdhcp_private_ip_0 } + __oam_cidr__: { get_param: onap_private_net_cidr } + __cpe_signal_net_cidr__: { get_param: cpe_signal_net_cidr } __repo_url_blob__ : { get_param: repo_url_blob } __repo_url_artifacts__ : { get_param: repo_url_artifacts } __demo_artifacts_version__ : { get_param: demo_artifacts_version } @@ -370,9 +383,10 @@ resources: # Create configuration files mkdir /opt/config - echo "__lb_oam_int__" > /opt/config/lb_oam_int.txt - echo "__lb_private_ipaddr__" > /opt/config/lb_private_ipaddr.txt - echo "__local_private_ipaddr__" > /opt/config/local_private_ipaddr.txt + echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt + echo "__cpe_signal_ipaddr__" > /opt/config/cpe_signal_ipaddr.txt + echo "__oam_cidr__" > /opt/config/oam_cidr.txt + echo "__cpe_signal_net_cidr__" > /opt/config/cpe_signal_net_cidr.txt echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt @@ -380,7 +394,7 @@ resources: echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script - curl -k __repo_url_blob__/org.onap.demo/vnfs/vdhcp/__install_script_version__/v_dhcp_install.sh -o /opt/v_dhcp_install.sh + curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_dhcp_install.sh -o /opt/v_dhcp_install.sh cd /opt chmod +x v_dhcp_install.sh ./v_dhcp_install.sh @@ -415,9 +429,10 @@ resources: user_data: str_replace: params: - __web_oam_int__ : { get_param: vweb_private_ip_1 } - __web_private_ipaddr__: { get_param: vweb_private_ip_0 } - __local_private_ipaddr__: { get_param: vweb_private_ip_0 } + __oam_ipaddr__ : { get_param: vweb_private_ip_1 } + __cpe_public_ipaddr__: { get_param: vweb_private_ip_0 } + __oam_cidr__: { get_param: onap_private_net_cidr } + __cpe_public_net_cidr__: { get_param: cpe_public_net_cidr } __repo_url_blob__ : { get_param: repo_url_blob } __repo_url_artifacts__ : { get_param: repo_url_artifacts } __demo_artifacts_version__ : { get_param: demo_artifacts_version } @@ -428,9 +443,10 @@ resources: # Create configuration files mkdir /opt/config - echo "__web_oam_int__" > /opt/config/lb_oam_int.txt - echo "__lb_private_ipaddr__" > /opt/config/lb_private_ipaddr.txt - echo "__local_private_ipaddr__" > /opt/config/local_private_ipaddr.txt + echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt + echo "__cpe_public_ipaddr__" > /opt/config/cpe_public_ipaddr.txt + echo "__oam_cidr__" > /opt/config/oam_cidr.txt + echo "__cpe_public_net_cidr__" > /opt/config/cpe_public_net_cidr.txt echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt @@ -438,6 +454,7 @@ resources: echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script - curl -k __repo_url_blob__/org.onap.demo/vnfs/vdhcp/__install_script_version__/v_dhcp_install.sh -o /opt/v_dhcp_install.sh + curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_vweb_install.sh -o /opt/v_vweb_install.sh cd /opt - chmod +x v_dhcp_install.sh + chmod +x v_vweb_install.sh + ./v_vweb_install.sh diff --git a/heat/vCPE/vbng/base_vcpe_vbng_rackspace.env b/heat/vCPE/vbng/base_vcpe_vbng_rackspace.env index ffb2f320..6d73cc9d 100644 --- a/heat/vCPE/vbng/base_vcpe_vbng_rackspace.env +++ b/heat/vCPE/vbng/base_vcpe_vbng_rackspace.env @@ -6,9 +6,11 @@ bng_gmux_private_net_id: zdfw1bngmux01_private onap_private_net_id: onap_private_subnet_id: + onap_private_net_cidr: 10.0.0.0/16 cpe_signal_net_id: brgemu_bng_private_net_cidr: 10.3.0.0/24 bng_gmux_private_net_cidr: 10.1.0.0/24 + cpe_signal_private_net_cidr: 10.4.0.0/24 vbng_private_ip_0: 10.3.0.1 vbng_private_ip_1: 10.0.101.10 vbng_private_ip_2: 10.4.0.3 diff --git a/heat/vCPE/vbng/base_vcpe_vbng_rackspace.yaml b/heat/vCPE/vbng/base_vcpe_vbng_rackspace.yaml index 02351f9c..2d5f8909 100644 --- a/heat/vCPE/vbng/base_vcpe_vbng_rackspace.yaml +++ b/heat/vCPE/vbng/base_vcpe_vbng_rackspace.yaml @@ -69,10 +69,18 @@ parameters: type: string label: ONAP management sub-network name or ID description: Private sub-network that connects ONAP components and the VNF + onap_private_net_cidr: + type: string + label: ONAP private network CIDR + description: The CIDR of the protected private network cpe_signal_net_id: type: string label: vCPE private network name or ID description: Private network that connects vCPE elements with vCPE infrastructure elements + cpe_signal_private_net_cidr: + type: string + label: vAAA private network CIDR + description: The CIDR of the vAAA private network vbng_private_ip_0: type: string label: vBNG IN private IP address @@ -175,25 +183,12 @@ resources: network_id: { get_resource: brgemu_bng_private_network } cidr: { get_param: brgemu_bng_private_net_cidr } - bng_gmux_private_network: - type: OS::Neutron::Net - properties: - name: { get_param: bng_gmux_private_net_id } - - bng_gmux_private_subnet: - type: OS::Neutron::Subnet - properties: - name: { get_param: bng_gmux_private_net_id } - network_id: { get_resource: bng_gmux_private_network } - cidr: { get_param: bng_gmux_private_net_cidr } - - # Virtual BNG Instantiation vbng_private_0_port: type: OS::Neutron::Port properties: network: { get_resource: brgemu_bng_private_network } - fixed_ips: [{"subnet": { get_resource: brgemu_bng_private_subnet}, "ip_address": { get_param: vbng_private_ip_0 }}] + fixed_ips: [{"subnet": { get_resource: brgemu_bng_private_subnet }, "ip_address": { get_param: vbng_private_ip_0 }}] vbng_private_1_port: type: OS::Neutron::Port @@ -205,13 +200,13 @@ resources: type: OS::Neutron::Port properties: network: { get_param: cpe_signal_net_id } - fixed_ips: [{"subnet": { get_param: cpe_signal_net_id}, "ip_address": { get_param: vbng_private_ip_2 }}] + fixed_ips: [{"subnet": { get_param: cpe_signal_net_id }, "ip_address": { get_param: vbng_private_ip_2 }}] vbng_private_3_port: type: OS::Neutron::Port properties: - network: { get_resource: bng_gmux_private_network } - fixed_ips: [{"subnet": { get_resource: bng_gmux_private_subnet}, "ip_address": { get_param: vbng_private_ip_3 }}] + network: { get_param: bng_gmux_private_net_id } + fixed_ips: [{"subnet": { get_param: bng_gmux_private_net_id }, "ip_address": { get_param: vbng_private_ip_3 }}] vbng_0: type: OS::Nova::Server @@ -230,9 +225,16 @@ resources: user_data: str_replace: params: + __oam_ipaddr__: { get_param: vbng_private_ip_1 } + __brgemu_bng_net_ipaddr__: { get_param: vbng_private_ip_0 } + __cpe_signal_net_ipaddr__: { get_param: vbng_private_ip_2 } + __bng_gmux_net_ipaddr__: { get_param: vbng_private_ip_3 } + __oam_cidr__: { get_param: onap_private_net_cidr } + __brgemu_bng_cidr__: { get_param: brgemu_bng_private_net_cidr } + __cpe_signal_cidr__: { get_param: cpe_signal_private_net_cidr } + __bng_gmux_cidr__: { get_param: bng_gmux_private_net_cidr } __dcae_collector_ip__: { get_param: dcae_collector_ip } __dcae_collector_port__: { get_param: dcae_collector_port } - __local_private_ipaddr__: { get_param: vbng_private_ip_1 } __repo_url_blob__ : { get_param: repo_url_blob } __repo_url_artifacts__ : { get_param: repo_url_artifacts } __demo_artifacts_version__ : { get_param: demo_artifacts_version } @@ -243,9 +245,16 @@ resources: # Create configuration files mkdir /opt/config + echo "__brgemu_bng_net_ipaddr__" > /opt/config/brgemu_bng_net_ipaddr.txt + echo "__cpe_signal_net_ipaddr__" > /opt/config/cpe_signal_net_ipaddr.txt + echo "__bng_gmux_net_ipaddr__" > /opt/config/bng_gmux_net_ipaddr.txt + echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt + echo "__oam_cidr__" > /opt/config/oam_cidr.txt + echo "__bng_gmux_cidr__" > /opt/config/bng_gmux_net_cidr.txt + echo "__cpe_signal_cidr__" > /opt/config/cpe_signal_net_cidr.txt + echo "__brgemu_bng_cidr__" > /opt/config/brgemu_bng_net_cidr.txt echo "__dcae_collector_ip__" > /opt/config/dcae_collector_ip.txt echo "__dcae_collector_port__" > /opt/config/dcae_collector_port.txt - echo "__local_private_ipaddr__" > /opt/config/local_private_ipaddr.txt echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt @@ -253,7 +262,7 @@ resources: echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script - curl -k __repo_url_blob__/org.onap.demo/vnfs/vbng/__install_script_version__/v_bng_install.sh -o /opt/v_bng_install.sh + curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_bng_install.sh -o /opt/v_bng_install.sh cd /opt chmod +x v_bng_install.sh ./v_bng_install.sh diff --git a/heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.env b/heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.env index 20e66327..519a0780 100644 --- a/heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.env +++ b/heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.env @@ -2,10 +2,11 @@ vcpe_image_name: Ubuntu 16.04 LTS (Xenial Xerus) (PVHVM) vcpe_flavor_name: 4 GB General Purpose v1 public_net_id: 00000000-0000-0000-0000-000000000000 - brgemu_bng_private_net_id: zdfw1brgemubng01_private + vbrgemu_bng_private_net_id: zdfw1brgemubng01_private vbrgemu_private_net_id: zdfw1vbrgemu01_private + vbrgemu_bng_private_net_cidr: 10.3.0.0/24 vbrgemu_private_net_cidr: 192.168.1.0/24 - vbrgemu_private_ip_1: 192.168.1.2 + vbrgemu_private_ip_1: 192.168.1.1 vbrgemu_name_0: zdcpe11cpe01brgemu01 vnf_id: vCPE_Infrastructure_BGREMU_demo_app vf_module_id: vCPE_Customer_BRGEMU diff --git a/heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.yaml b/heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.yaml index 8d8f306f..f1e9c998 100644 --- a/heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.yaml +++ b/heat/vCPE/vbrgemu/base_vcpe_vbrgemu_rackspace.yaml @@ -24,7 +24,7 @@ heat_template_version: 2013-05-23 -description: Heat template to deploy vCPE vBRG Emulator (vBRGEMU ) for ONAP +description: Heat template to deploy vCPE vBRG Emulator (vBRGEMU) for ONAP ####################################################################### # # @@ -51,6 +51,10 @@ parameters: type: string label: vBNG private network name or ID description: Private network that connects vBRGEMU to vBNG + vbrgemu_bng_private_net_cidr: + type: string + label: vBNG IN private network CIDR + description: The CIDR of the input side of vBNG private network vbrgemu_private_net_id: type: string label: vBRGEMU Home private network name or ID @@ -62,7 +66,7 @@ parameters: vbrgemu_private_ip_1: type: string label: vGW IN private IP address - description: Private IP address that is assigned to the vBRGEMU (SHOULD NOT BE NEEDED) + description: Private IP address towards the BRGEMU-BNG network vbrgemu_name_0: type: string label: vGW name @@ -146,13 +150,13 @@ resources: vbrgemu_private_0_port: type: OS::Neutron::Port properties: - network: { get_param: vbrgemu_bng_private_net_id} + network: { get_param: vbrgemu_bng_private_net_id } - vbrgemu_private_0_port: + vbrgemu_private_1_port: type: OS::Neutron::Port properties: - network: { get_param: vbrgemu_private_net_id} - fixed_ips: [{"subnet": { get_resource: vbrgemu_private_subnet}, "ip_address": { get_param: vbrgemu_private_ip_1 }}] + network: { get_param: vbrgemu_private_net_id } + fixed_ips: [{"subnet": { get_resource: vbrgemu_private_subnet }, "ip_address": { get_param: vbrgemu_private_ip_1 }}] vbrgemu_0: type: OS::Nova::Server @@ -170,6 +174,9 @@ resources: user_data: str_replace: params: + __brgemu_net_ipaddr__: { get_param: vbrgemu_private_ip_1 } + __brgemu_cidr__: { get_param: vbrgemu_private_net_cidr } + __brgemu_bng_private_net_cidr__: { get_param: vbrgemu_bng_private_net_cidr } __repo_url_blob__ : { get_param: repo_url_blob } __repo_url_artifacts__ : { get_param: repo_url_artifacts } __demo_artifacts_version__ : { get_param: demo_artifacts_version } @@ -180,6 +187,9 @@ resources: # Create configuration files mkdir /opt/config + echo "__brgemu_net_ipaddr__" > /opt/config/brgemu_net_ipaddr.txt + echo "__brgemu_cidr__" > /opt/config/brgemu_net_cidr.txt + echo "__brgemu_bng_private_net_cidr__" > /opt/config/brgemu_bng_private_net_cidr.txt echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt @@ -187,7 +197,7 @@ resources: echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script - curl -k __repo_url_blob__/org.openecomp.demo/vnfs/vbrgemu/__install_script_version__/v_brgemu_install.sh -o /opt/v_brgemu_install.sh + curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_brgemu_install.sh -o /opt/v_brgemu_install.sh cd /opt chmod +x v_brgemu_install.sh ./v_brgemu_install.sh diff --git a/heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.env b/heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.env index 8db88f34..d4f37261 100644 --- a/heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.env +++ b/heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.env @@ -6,10 +6,12 @@ mux_gw_private_net_id: zdfw1muxgw01_private onap_private_net_id: onap_private_subnet_id: - mux_gw_private_net_cidr: 10.1.0.0/24 + onap_private_net_cidr: 10.0.0.0/16 + bng_mux_private_net_cidr: 10.1.0.0/24 + mux_gw_private_net_cidr: 10.5.0.0/24 vgmux_private_ip_0: 10.1.0.20 vgmux_private_ip_1: 10.0.101.20 - vgmux_private_ip_2: 192.168.0.0 + vgmux_private_ip_2: 10.5.0.20 vgmux_name_0: zdcpe11cpe01mux01 vnf_id: vCPE_Infrastructure_vGMUX_demo_app vf_module_id: vCPE_Intrastructure_Metro_vGMUX diff --git a/heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.yaml b/heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.yaml index 715b4a10..8b08e031 100644 --- a/heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.yaml +++ b/heat/vCPE/vgmux/base_vcpe_vgmux_rackspace.yaml @@ -49,6 +49,10 @@ parameters: type: string label: vBNG vGMUX private network name or ID description: Private network that connects vBNG to vGMUX + bng_mux_private_net_cidr: + type: string + label: vBNG vGMUX private network CIDR + description: The CIDR of the vBNG-vGMUX private network mux_gw_private_net_id: type: string label: vCPE Public network name or ID @@ -56,7 +60,7 @@ parameters: mux_gw_private_net_cidr: type: string label: vGMUX private network CIDR - description: The CIDR of the vGMUX private network (should not be needed) + description: The CIDR of the vGMUX private network onap_private_net_id: type: string label: ONAP management network name or ID @@ -71,12 +75,16 @@ parameters: description: The CIDR of the protected private network vgmux_private_ip_0: type: string - label: vGMUX private IP address towards the private network + label: vGMUX private IP address towards the vBNG-vGMUX private network description: Private IP address that is assigned to the vGMUX to communicate with the vBNG vgmux_private_ip_1: type: string label: vGMUX private IP address towards the ONAP management network description: Private IP address that is assigned to the vGMUX to communicate with ONAP components + vgmux_private_ip_2: + type: string + label: vGMUX private IP address towards the vGMUX-vGW private network + description: Private IP address that is assigned to the vGMUX to communicate with vGWs vgmux_name_0: type: string label: vGMUX name @@ -162,14 +170,25 @@ resources: name: { get_param: mux_gw_private_net_id } network_id: { get_resource: mux_gw_private_network } cidr: { get_param: mux_gw_private_net_cidr } + + bng_gmux_private_network: + type: OS::Neutron::Net + properties: + name: { get_param: bng_gmux_private_net_id } + bng_gmux_private_subnet: + type: OS::Neutron::Subnet + properties: + name: { get_param: bng_gmux_private_net_id } + network_id: { get_resource: bng_gmux_private_network } + cidr: { get_param: bng_gmux_private_net_cidr } # Virtual GMUX Instantiation vgmux_private_0_port: type: OS::Neutron::Port properties: - network: { get_param: bng_mux_private_network } - fixed_ips: [{"subnet": { get_param: bng_mux_private_net_id}, "ip_address": { get_param: vgmux_private_ip_0 }}] + network: { get_resource: bng_mux_private_network } + fixed_ips: [{"subnet": { get_resource: bng_gmux_private_subnet }, "ip_address": { get_param: vgmux_private_ip_0 }}] vgmux_private_1_port: type: OS::Neutron::Port @@ -181,7 +200,7 @@ resources: type: OS::Neutron::Port properties: network: { get_resource: mux_gw_private_network } - #fixed_ips: [{"subnet": { get_resource: mux_gw_private_subnet}, "ip_address": { get_param: mux_gw_private_ip_2 }}] + fixed_ips: [{"subnet": { get_resource: mux_gw_private_subnet }, "ip_address": { get_param: vgmux_private_ip_2 }}] vgmux_0: type: OS::Nova::Server @@ -200,9 +219,12 @@ resources: user_data: str_replace: params: - __gmux_oam_int__ : { get_param: vgmux_private_ip_1 } - #__gmux_private_ipaddr__: { get_param: vgmux_private_ip_2 } - __local_private_ipaddr__: { get_param: vgmux_private_ip_0 } + __bng_mux_net_ipaddr__ : { get_param: vgmux_private_ip_0 } + __oam_ipaddr__ : { get_param: vgmux_private_ip_1 } + __mux_gw_net_ipaddr__ : { get_param: vgmux_private_ip_2 } + __bng_mux_net_cidr__ : { get_param: bng_mux_private_net_cidr } + __oam_cidr__ : { get_param: onap_private_net_cidr } + __mux_gw_net_cidr__ : { get_param: mux_gw_private_net_cidr } __repo_url_blob__ : { get_param: repo_url_blob } __repo_url_artifacts__ : { get_param: repo_url_artifacts } __demo_artifacts_version__ : { get_param: demo_artifacts_version } @@ -213,9 +235,12 @@ resources: # Create configuration files mkdir /opt/config - echo "__gmux_oam_int__" > /opt/config/gmux_oam_int.txt - echo "__gmux_private_ipaddr__" > /opt/config/gmux_private_ipaddr.txt - echo "__local_private_ipaddr__" > /opt/config/local_private_ipaddr.txt + echo "__bng_mux_net_ipaddr__" > /opt/config/bng_mux_net_ipaddr.txt + echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt + echo "__mux_gw_net_ipaddr__" > /opt/config/mux_gw_net_ipaddr.txt + echo "__bng_mux_net_cidr__" > /opt/config/bng_mux_net_cidr.txt + echo "__oam_cidr__" > /opt/config/oam_cidr.txt + echo "__mux_gw_net_cidr__" > /opt/config/mux_gw_net_cidr.txt echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt @@ -223,8 +248,8 @@ resources: echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script - curl -k __repo_url_blob__/org.openecomp.demo/vnfs/vgmux/__install_script_version__/v_dns_install.sh -o /opt/v_dns_install.sh + curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_gmux_install.sh -o /opt/v_gmux_install.sh cd /opt - chmod +x v_dns_install.sh - ./v_dns_install.sh + chmod +x v_gmux_install.sh + ./v_gmux_install.sh diff --git a/heat/vCPE/vgw/base_vcpe_vgw_rackspace.env b/heat/vCPE/vgw/base_vcpe_vgw_rackspace.env index faddf083..3842fc0d 100644 --- a/heat/vCPE/vgw/base_vcpe_vgw_rackspace.env +++ b/heat/vCPE/vgw/base_vcpe_vgw_rackspace.env @@ -3,13 +3,13 @@ vcpe_flavor_name: 4 GB General Purpose v1 public_net_id: 00000000-0000-0000-0000-000000000000 mux_gw_private_net_id: zdfw1muxgw01_private - mux_gw_private_subnet_id: zdfw1muxgw01_private + mux_gw_private_net_cidr: 10.5.0.0/24 cpe_public_net_id: zdfw1cpe01_public - cpe_public_subnet_id: zdfw1cpe01_public + cpe_public_net_cidr: 10.2.0.0/24 onap_private_net_id: onap_private_subnet_id: onap_private_net_cidr: 10.0.0.0/16 - vgw_private_ip_0: 192.168.0.0 + vgw_private_ip_0: 10.5.0.21 vgw_private_ip_1: 10.0.101.30 vgw_name_0: zdcpe11cpe01gw01 vnf_id: vCPE_Infrastructure_GW_demo_app diff --git a/heat/vCPE/vgw/base_vcpe_vgw_rackspace.yaml b/heat/vCPE/vgw/base_vcpe_vgw_rackspace.yaml index d7b0af86..5438a24f 100644 --- a/heat/vCPE/vgw/base_vcpe_vgw_rackspace.yaml +++ b/heat/vCPE/vgw/base_vcpe_vgw_rackspace.yaml @@ -49,14 +49,34 @@ parameters: type: string label: vGMUX private network name or ID description: Private network that connects vGMUX to vGWs + mux_gw_private_net_cidr: + type: string + label: vGMUX private network CIDR + description: The CIDR of the vGMUX private network onap_private_net_id: type: string label: ONAP management network name or ID description: Private network that connects ONAP components and the VNF + onap_private_subnet_id: + type: string + label: ONAP management sub-network name or ID + description: Private sub-network that connects ONAP components and the VNF + onap_private_net_cidr: + type: string + label: ONAP private network CIDR + description: The CIDR of the protected private network cpe_public_net_id: type: string label: vCPE network that emulates internetmanagement name or ID - description: Private network that connects vGW to emulated internet + description: Private network that connects vGW to emulated internet + cpe_public_net_cidr: + type: string + label: vCPE public network CIDR + description: The CIDR of the vCPE public + vgw_private_ip_0: + type: string + label: vGW private IP address towards the vGMUX + description: Private IP address that is assigned to the vGW to communicate with vGMUX vgw_private_ip_1: type: string label: vGW private IP address towards the ONAP management network @@ -142,6 +162,7 @@ resources: type: OS::Neutron::Port properties: network: { get_param: mux_gw_private_net_id} + fixed_ips: [{"subnet": { get_param: mux_gw_private_net_id }, "ip_address": { get_param: vgw_private_ip_0 }}] vgw_private_1_port: type: OS::Neutron::Port @@ -171,9 +192,11 @@ resources: user_data: str_replace: params: - #__gmux_oam_int__ : { get_param: vgw_private_ip_1 } - #__gmux_private_ipaddr__: { get_param: vgw_private_ip_2 } - #__local_private_ipaddr__: { get_param: vgw_private_ip_1 } + __mux_gw_private_net_ipaddr__ : { get_param: vgw_private_ip_0 } + __oam_ipaddr__ : { get_param: vgw_private_ip_1 } + __oam_cidr__ : { get_param: onap_private_net_cidr } + __cpe_public_net_cidr__ : { get_param: cpe_public_net_cidr } + __mux_gw_private_net_cidr__ : { get_param: mux_gw_private_net_cidr } __repo_url_blob__ : { get_param: repo_url_blob } __repo_url_artifacts__ : { get_param: repo_url_artifacts } __demo_artifacts_version__ : { get_param: demo_artifacts_version } @@ -184,9 +207,11 @@ resources: # Create configuration files mkdir /opt/config - echo "__gmux_oam_int__" > /opt/config/gw_oam_int.txt - echo "__gmux_private_ipaddr__" > /opt/config/gw_private_ipaddr.txt - echo "__local_private_ipaddr__" > /opt/config/local_private_ipaddr.txt + echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt + echo "__oam_cidr__" > /opt/config/oam_cidr.txt + echo "__cpe_public_net_cidr__" > /opt/config/cpe_public_net_cidr.txt + echo "__mux_gw_private_net_ipaddr__" > /opt/config/mux_gw_private_net_ipaddr.txt + echo "__mux_gw_private_net_cidr__" > /opt/config/mux_gw_private_net_cidr.txt echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt @@ -194,7 +219,7 @@ resources: echo "__cloud_env__" > /opt/config/cloud_env.txt # Download and run install script - curl -k __repo_url_blob__/org.openecomp.demo/vnfs/vgw/__install_script_version__/v_gw_install.sh -o /opt/v_gw_install.sh + curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_gw_install.sh -o /opt/v_gw_install.sh cd /opt chmod +x v_gw_install.sh ./v_gw_install.sh diff --git a/pom.xml b/pom.xml index 91dca019..c2b2bba1 100755 --- a/pom.xml +++ b/pom.xml @@ -48,6 +48,7 @@ vnfs/VES vnfs/VESreporting_vLB vnfs/VESreporting_vFW + vnfs/vCPE/kea-sdnc-notify-mod diff --git a/scripts/deploy.sh b/scripts/deploy.sh index aac67f0f..f20f9845 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -23,6 +23,7 @@ PATH_TO_HEAT_VFW=${WORKSPACE}"/heat/vFW" PATH_TO_HEAT_VLB=${WORKSPACE}"/heat/vLB" PATH_TO_VFW=${WORKSPACE}"/vnfs/vFW/scripts" PATH_TO_VLB=${WORKSPACE}"/vnfs/vLB/scripts" +PATH_TO_VCPE=${WORKSPACE}"/vnfs/vCPE/scripts" PARENT_GROUP_ID="org.onap.demo" BOOT_GROUP_ID=$PARENT_GROUP_ID"/boot" @@ -31,6 +32,7 @@ HEAT_VFW_GROUP_ID=$PARENT_GROUP_ID"/heat/vFW" HEAT_VLB_GROUP_ID=$PARENT_GROUP_ID"/heat/vLB" VFW_GROUP_ID=$PARENT_GROUP_ID"/vnfs/vfw" VLB_GROUP_ID=$PARENT_GROUP_ID"/vnfs/vlb" +VCPE_GROUP_ID=$PARENT_GROUP_ID"/vnfs/vcpe" REPO_URL="https://nexus.onap.org/content/sites/raw" USER=$(xpath -q -e "//servers/server[id='ecomp-raw']/username/text()" "$SETTINGS_FILE") @@ -61,6 +63,9 @@ ls | xargs -I{} curl -vk --netrc-file "${NETRC}" --upload-file {} $REPO_URL/$VFW cd $PATH_TO_VLB ls | xargs -I{} curl -vk --netrc-file "${NETRC}" --upload-file {} $REPO_URL/$VLB_GROUP_ID/$VERSION/{} + +cd $PATH_TO_VCPE +ls | xargs -I{} curl -vk --netrc-file "${NETRC}" --upload-file {} $REPO_URL/$VCPE_GROUP_ID/$VERSION/{} #################################################### ########## Clean up ########## diff --git a/vnfs/vCPE/kea-sdnc-notify-mod/README.md b/vnfs/vCPE/kea-sdnc-notify-mod/README.md index cee91073..e596c26e 100644 --- a/vnfs/vCPE/kea-sdnc-notify-mod/README.md +++ b/vnfs/vCPE/kea-sdnc-notify-mod/README.md @@ -3,7 +3,7 @@ Kea module utilizing hooks api to notify SDNC of macaddr, yiaddr, dhcp-msg-name via HTTP POST request. -# ONAP installation of vDHCP will intall and configure on the vDHCP VM +# ONAP installation of vDHCP will install and configure on the vDHCP VM # # for local development/testing follow these steps. # @@ -47,7 +47,7 @@ apt-get install g++ libcurl4-gnutls-dev libboost-dev kea-dev ./build.sh -## Intallation in ONAP +## Installation in ONAP The vdhcp install scripts for ONAP will do the build on the vDHCP VM from these source files and copy the resulting library into /usr/local/lib and the configuration files into /etc/kea ## Testing locally diff --git a/vnfs/vCPE/kea-sdnc-notify-mod/pom.xml b/vnfs/vCPE/kea-sdnc-notify-mod/pom.xml index 737da797..f2f62792 100644 --- a/vnfs/vCPE/kea-sdnc-notify-mod/pom.xml +++ b/vnfs/vCPE/kea-sdnc-notify-mod/pom.xml @@ -33,7 +33,7 @@ 4.0.0 - org.onap.demo.vnf.vCPE + org.onap.demo.vnf.vcpe kea-sdnc-notify-mod diff --git a/vnfs/vCPE/scripts/v_dhcp_install.sh b/vnfs/vCPE/scripts/v_dhcp_install.sh index d3c73058..bf5b0981 100644 --- a/vnfs/vCPE/scripts/v_dhcp_install.sh +++ b/vnfs/vCPE/scripts/v_dhcp_install.sh @@ -25,8 +25,8 @@ then MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) - IP=$(cat /opt/config/local_private_ipaddr.txt) - BITS=$(cat /opt/config/vdhcp_private_net_cidr.txt | cut -d"/" -f2) + IP=$(cat /opt/config/cpe_signal_ipaddr.txt) + BITS=$(cat /opt/config/cpe_signal_net_cidr.txt | cut -d"/" -f2) NETMASK=$(cdr2mask $BITS) echo "auto eth1" >> /etc/network/interfaces echo "iface eth1 inet static" >> /etc/network/interfaces @@ -34,8 +34,8 @@ then echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - IP=$(cat /opt/config/oam_private_ipaddr.txt) - BITS=$(cat /opt/config/onap_private_net_cidr.txt | cut -d"/" -f2) + IP=$(cat /opt/config/oam_ipaddr.txt) + BITS=$(cat /opt/config/oam_cidr.txt | cut -d"/" -f2) NETMASK=$(cdr2mask $BITS) echo "auto eth2" >> /etc/network/interfaces echo "iface eth2 inet static" >> /etc/network/interfaces @@ -53,31 +53,21 @@ apt-get update apt-get install -y wget openjdk-8-jdk apt-transport-https ca-certificates kea-dhcp4-server g++ libcurl4-gnutls-dev libboost-dev kea-dev sleep 1 -# download the kea hook +# download the kea hook cd /opt -wget $REPO_URL_ARTIFACTS/org/onap/demo/vnf/vcpe/vdhcp/$DEMO_ARTIFACTS_VERSION/kea-sdnc-notify-mod.tar.gz -tar -zxvf kea-sdnc-notify-mod.tar.gz -mv kea-sdnc-notify-mod VDHCP +wget $REPO_URL_ARTIFACTS/org/onap/demo/vnf/vcpe/$DEMO_ARTIFACTS_VERSION/kea-sdnc-notify-mod.tar.gz +tar -zxvf kea-sdnc-notify-mod.tar.gz +mv kea-sdnc-notify-mod VDHCP rm *.tar.gz cd VDHCP # build.sh takes a minute or two to run ./build.sh mv kea-sdnc-notify.so /usr/local/lib - -# Download vDHCP demo code for DHCP Server -#cd /opt - -#wget $REPO_URL_BLOB/org.onap.demo/vnfs/vCPE/$INSTALL_SCRIPT_VERSION/v_dhcp_init.sh -#wget $REPO_URL_BLOB/org.onap.demo/vnfs/vCPE/$INSTALL_SCRIPT_VERSION/vdhcp.sh - -#chmod +x v_dhcp_init.sh -#chmod +x vdhcp.sh - # Download DHCP config files -cd /opt/config -wget $REPO_URL_BLOB/org.onap.demo/vnfs/vCPE/$INSTALL_SCRIPT_VERSION/kea-dhcp4.conf -wget $REPO_URL_BLOB/org.onap.demo/vnfs/vCPE/$INSTALL_SCRIPT_VERSION/kea-sdnc-notify.conf +cd /opt +wget $REPO_URL_BLOB/org.onap.demo/vnfs/vcpe/$INSTALL_SCRIPT_VERSION/kea-dhcp4.conf +wget $REPO_URL_BLOB/org.onap.demo/vnfs/vcpe/$INSTALL_SCRIPT_VERSION/kea-sdnc-notify.conf # Configure DHCP mv kea-dhcp4.conf /etc/kea/kea-dhcp4.conf @@ -94,8 +84,15 @@ sleep 1 #rc5.d/S03kea-dhcp4-server #rc6.d/K01kea-dhcp4-server ###################################################################################### -# Run instantiation script -#cd /opt -#mv vdhcp.sh /etc/init.d -#update-rc.d vdhcp.sh defaults -#./v_dhcp_init.sh + +# Rename network interface in openstack Ubuntu 16.04 images. Then, reboot the VM to pick up changes +if [[ $CLOUD_ENV != "rackspace" ]] +then + sed -i "s/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX=\"net.ifnames=0 biosdevname=0\"/g" /etc/default/grub + grub-mkconfig -o /boot/grub/grub.cfg + 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 -- 2.16.6