diff options
Diffstat (limited to 'heat')
26 files changed, 976 insertions, 296 deletions
diff --git a/heat/ONAP/onap_openstack_float.env b/heat/ONAP/deprecated/onap_openstack_float.env index e970b7f4..25517f8d 100644 --- a/heat/ONAP/onap_openstack_float.env +++ b/heat/ONAP/deprecated/onap_openstack_float.env @@ -158,7 +158,7 @@ parameters: mr_branch: master dcae_branch: master policy_branch: master - portal_branch: master + portal_branch: release-1.3.0 robot_branch: master sdc_branch: master sdnc_branch: master @@ -172,7 +172,7 @@ parameters: mr_docker: 1.1-STAGING-latest dcae_docker: 1.1-latest policy_docker: 1.1-STAGING-latest - portal_docker: 1.3-STAGING-latest + portal_docker: v1.3.0 robot_docker: 1.1-STAGING-latest sdc_docker: 1.1-STAGING-latest sdnc_docker: 1.2-STAGING-latest @@ -184,7 +184,7 @@ parameters: uui_docker: latest esr_docker: latest dgbuilder_docker: 0.1-STAGING-latest - cli_docker: 1.1-STAGING-latest + cli_docker: v1.1.0 ##################### # # diff --git a/heat/ONAP/onap_openstack_float.yaml b/heat/ONAP/deprecated/onap_openstack_float.yaml index 01f160ab..01f160ab 100644 --- a/heat/ONAP/onap_openstack_float.yaml +++ b/heat/ONAP/deprecated/onap_openstack_float.yaml diff --git a/heat/ONAP/onap_openstack_nofloat.env b/heat/ONAP/deprecated/onap_openstack_nofloat.env index 1b9cbd91..49abd664 100644 --- a/heat/ONAP/onap_openstack_nofloat.env +++ b/heat/ONAP/deprecated/onap_openstack_nofloat.env @@ -130,7 +130,7 @@ parameters: mr_branch: master dcae_branch: master policy_branch: master - portal_branch: master + portal_branch: release-1.3.0 robot_branch: master sdc_branch: master sdnc_branch: master @@ -144,7 +144,7 @@ parameters: mr_docker: 1.1-STAGING-latest dcae_docker: 1.1-latest policy_docker: 1.1-STAGING-latest - portal_docker: 1.3-STAGING-latest + portal_docker: v1.3.0 robot_docker: 1.1-STAGING-latest sdc_docker: 1.1-STAGING-latest sdnc_docker: 1.2-STAGING-latest @@ -156,7 +156,7 @@ parameters: uui_docker: latest esr_docker: latest dgbuilder_docker: 0.1-STAGING-latest - cli_docker: 1.1-STAGING-latest + cli_docker: v1.1.0 ##################### # # diff --git a/heat/ONAP/onap_openstack_nofloat.yaml b/heat/ONAP/deprecated/onap_openstack_nofloat.yaml index 136b1606..136b1606 100644 --- a/heat/ONAP/onap_openstack_nofloat.yaml +++ b/heat/ONAP/deprecated/onap_openstack_nofloat.yaml diff --git a/heat/ONAP/onap_rackspace.env b/heat/ONAP/deprecated/onap_rackspace.env index 82e31eff..d08c24e8 100644 --- a/heat/ONAP/onap_rackspace.env +++ b/heat/ONAP/deprecated/onap_rackspace.env @@ -83,7 +83,7 @@ parameters: mr_branch: master dcae_branch: master policy_branch: master - portal_branch: master + portal_branch: release-1.3.0 robot_branch: master sdc_branch: master sdnc_branch: master @@ -96,11 +96,11 @@ parameters: mr_docker: 1.1-STAGING-latest dcae_docker: 1.1-STAGING-latest policy_docker: 1.1-STAGING-latest - portal_docker: 1.3-STAGING-latest + portal_docker: v1.3.0 robot_docker: 1.1-STAGING-latest sdc_docker: 1.1-STAGING-latest sdnc_docker: 1.2-STAGING-latest vid_docker: 1.1-STAGING-latest clamp_docker: 1.1-STAGING-latest dgbuilder_docker: 0.1-STAGING-latest - cli_docker: 1.1-STAGING-latest + cli_docker: v1.1.0 diff --git a/heat/ONAP/onap_rackspace.yaml b/heat/ONAP/deprecated/onap_rackspace.yaml index a73053f2..a73053f2 100644 --- a/heat/ONAP/onap_rackspace.yaml +++ b/heat/ONAP/deprecated/onap_rackspace.yaml diff --git a/heat/ONAP/onap_openstack.env b/heat/ONAP/onap_openstack.env index aad2d1e1..2b95c4a7 100644 --- a/heat/ONAP/onap_openstack.env +++ b/heat/ONAP/onap_openstack.env @@ -6,7 +6,9 @@ parameters: # # ############################################## - public_net_id: PUT YOUR NETWORK ID/NAME HERE + public_net_id: PUT YOUR NETWORK ID HERE + + public_net_name: PUT YOUR NETWORK NAME HERE ubuntu_1404_image: PUT THE UBUNTU 14.04 IMAGE NAME HERE @@ -42,6 +44,8 @@ parameters: openstack_tenant_id: PUT YOUR OPENSTACK PROJECT ID HERE + openstack_tenant_name: PUT YOUR OPENSTACK PROJECT NAME HERE + openstack_username: PUT YOUR OPENSTACK USERNAME HERE openstack_api_key: PUT YOUR OPENSTACK PASSWORD HERE @@ -65,6 +69,7 @@ parameters: dns_list: PUT THE ADDRESS OF THE EXTERNAL DNS HERE (e.g. a comma-separated list of IP addresses in your /etc/resolv.conf in UNIX-based Operating Systems) external_dns: PUT THE FIRST ADDRESS OF THE EXTERNAL DNS LIST HERE + dns_forwarder: PUT THE IP OF DNS FORWARDER FOR ONAP DEPLOYMENT'S OWN DNS SERVER oam_network_cidr: 10.0.0.0/16 ### Private IP addresses ### @@ -73,11 +78,6 @@ parameters: aai2_ip_addr: 10.0.1.2 appc_ip_addr: 10.0.2.1 dcae_ip_addr: 10.0.4.1 - dcae_coll_ip_addr: 10.0.4.102 - dcae_db_ip_addr: 10.0.4.101 - dcae_hdp1_ip_addr: 10.0.4.103 - dcae_hdp2_ip_addr: 10.0.4.104 - dcae_hdp3_ip_addr: 10.0.4.105 dns_ip_addr: 10.0.100.1 so_ip_addr: 10.0.5.1 mr_ip_addr: 10.0.11.1 @@ -90,42 +90,21 @@ parameters: clamp_ip_addr: 10.0.12.1 openo_ip_addr: 10.0.14.1 -# dcae_coll_float_ip: PUT DCAE COLLECTOR FLOATING IP HERE -# dcae_db_float_ip: PUT DCAE DATABASE FLOATING IP HERE -# dcae_hdp1_float_ip: PUT DCAE HADOOP VM1 FLOATING IP HERE -# dcae_hdp2_float_ip: PUT DCAE HADOOP VM2 FLOATING IP HERE -# dcae_hdp3_float_ip: PUT DCAE HADOOP VM3 FLOATING IP HERE - ########################### # # # Parameters used by DCAE # # # ########################### -# dcae_base_environment: 1-NIC-FLOATING-IPS - -# dcae_zone: ZONE - -# dcae_state: STATE - -# nexus_repo_root: https://nexus.onap.org - -# nexus_url_snapshot: https://nexus.onap.org/content/repositories/snapshots - -# gitlab_branch: master - -# dcae_code_version: 1.1.0 - dnsaas_config_enabled: PUT WHETHER TO USE PROXYED DESIGNATE dnsaas_region: PUT THE DESIGNATE PROVIDING OPENSTACK'S REGION HERE - dnsaas_tenant_id: PUT THE DESIGNATE PROVIDING OPENSTACK'S DEFAULT TENANT HERE dnsaas_keystone_url: PUT THE DESIGNATE PROVIDING OPENSTACK'S KEYSTONE URL HERE + dnsaas_tenant_name: PUT THE TENANT NAME IN THE DESIGNATE PROVIDING OPENSTACK HERE (FOR R1 USE THE SAME AS openstack_tenant_name) dnsaas_username: PUT THE DESIGNATE PROVIDING OPENSTACK'S USERNAME HERE dnsaas_password: PUT THE DESIGNATE PROVIDING OPENSTACK'S PASSWORD HERE dcae_keystone_url: PUT THE MULTIVIM PROVIDED KEYSTONE API URL HERE dcae_centos_7_image: PUT THE CENTOS7 VM IMAGE NAME HERE FOR DCAE LAUNCHED CENTOS7 VM - dcae_security_group: PUT THE SECURITY GROUP NAME HERE FOR DCAE LAUNCHED VMS - dcae_key_name: PUT THE ON BOARDED KEY-PAIR NAME HERE FOR DCAE LAUNCHED VMS + dcae_domain: PUT THE NAME OF DOMAIN THAT DCAE VMS REGISTER UNDER dcae_public_key: PUT THE PUBLIC KEY OF A KEYPAIR HERE TO BE USED BETWEEN DCAE LAUNCHED VMS dcae_private_key: PUT THE SECRET KEY OF A KEYPAIR HERE TO BE USED BETWEEN DCAE LAUNCHED VMS @@ -139,35 +118,49 @@ parameters: appc_branch: master so_branch: master mr_branch: master - dcae_branch: master policy_branch: master portal_branch: release-1.3.0 robot_branch: master - sdc_branch: master - sdnc_branch: master + sdc_branch: release-1.1.0 + sdnc_branch: release-1.1.0 vid_branch: master clamp_branch: master vnfsdk_branch: master - aai_docker: 1.1-STAGING-latest + aai_docker: v1.1.0 + aai_sparky_docker: v1.0.0 appc_docker: 1.1-STAGING-latest - so_docker: 1.1-STAGING-latest - mr_docker: 1.1-STAGING-latest - dcae_docker: 1.1-latest - policy_docker: 1.1-STAGING-latest - portal_docker: 1.3-STAGING-latest + so_docker: v1.1.0 + dcae_docker: v1.1.0 + policy_docker: v1.1.0 + portal_docker: v1.3.0 robot_docker: 1.1-STAGING-latest sdc_docker: 1.1-STAGING-latest sdnc_docker: 1.2-STAGING-latest - vid_docker: 1.1-STAGING-latest - clamp_docker: 1.1-STAGING-latest - msb_docker: latest + vid_docker: v1.1.0 + clamp_docker: v1.1.0 + msb_docker: v1.0.0 mvim_docker: latest - vfc_docker: latest uui_docker: latest - esr_docker: latest + esr_docker: v1.0.0 dgbuilder_docker: 0.1-STAGING-latest - cli_docker: 1.1-STAGING-latest + cli_docker: v1.1.0 + + vfc_nokia_docker: v1.0.0 + vfc_ztevmanagerdriver_docker: v1.0.1 + vfc_ztesdncdriver_docker: v1.0.1 + vfc_vnfres_docker: v1.0.1 + vfc_vnfmgr_docker: v1.0.1 + vfc_vnflcm_docker: v1.0.1 + vfc_resmanagement_docker: v1.0.0 + vfc_nslcm_docker: v1.0.1 + vfc_huawei_docker: v1.0.0 + vfc_jujudriver_docker: v1.0.0 + vfc_gvnfmdriver_docker: v1.0.1 + vfc_emsdriver_docker: v1.0.1 + vfc_catalog_docker: v1.0.1 + vfc_wfengine_mgrservice_docker: v1.0.0 + vfc_wfengine_activiti_docker: v1.0.0 ##################### # # @@ -176,7 +169,6 @@ parameters: ##################### aai_repo: http://gerrit.onap.org/r/aai/test-config appc_repo: http://gerrit.onap.org/r/appc/deployment.git - dcae_repo: http://gerrit.onap.org/r/dcae/demo/startup/controller.git mr_repo: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git so_repo: http://gerrit.onap.org/r/so/docker-config.git policy_repo: http://gerrit.onap.org/r/policy/docker.git diff --git a/heat/ONAP/onap_openstack.yaml b/heat/ONAP/onap_openstack.yaml index 97f80581..27f53270 100644 --- a/heat/ONAP/onap_openstack.yaml +++ b/heat/ONAP/onap_openstack.yaml @@ -42,7 +42,11 @@ parameters: public_net_id: type: string - description: Public network for floating IP address allocation + description: The ID of the Public network for floating IP address allocation + + public_net_name: + type: string + description: The name of the Public network referred by public_net_id ubuntu_1404_image: type: string @@ -112,6 +116,10 @@ parameters: type: string description: OpenStack tenant ID + openstack_tenant_name: + type: string + description: OpenStack tenant name (matching with the openstack_tenant_id) + openstack_username: type: string description: OpenStack username @@ -152,7 +160,11 @@ parameters: external_dns: type: string - description: First element of the dns_list for ONAP network + description: Public IP of the external DNS for ONAP network + + dns_forwarder: + type: string + description: the forwarder address for setting up ONAP's private DNS server oam_network_cidr: type: string @@ -167,16 +179,6 @@ parameters: type: string dcae_ip_addr: type: string - dcae_coll_ip_addr: - type: string - dcae_db_ip_addr: - type: string - dcae_hdp1_ip_addr: - type: string - dcae_hdp2_ip_addr: - type: string - dcae_hdp3_ip_addr: - type: string dns_ip_addr: type: string so_ip_addr: @@ -199,16 +201,6 @@ parameters: type: string openo_ip_addr: type: string -# dcae_coll_float_ip: -# type: string -# dcae_db_float_ip: -# type: string -# dcae_hdp1_float_ip: -# type: string -# dcae_hdp2_float_ip: -# type: string -# dcae_hdp3_float_ip: -# type: string ########################### # # @@ -224,10 +216,6 @@ parameters: type: string description: the region of the cloud instance providing the Designate DNS as a Service - dnsaas_tenant_id: - type: string - description: the (default) tenant id of the cloud instance providing the Designate DNS as a Service - dnsaas_keystone_url: type: string description: the keystone URL of the cloud instance providing the Designate DNS as a Service @@ -240,13 +228,13 @@ parameters: type: string description: the password of the cloud instance providing the Designate DNS as a Service - dcae_keystone_url: + dnsaas_tenant_name: type: string - description: the keystone URL for DCAE to use (via MultiCloud) + description: the name of the tenant in the cloud instance providing the Designate DNS as a Service - dcae_key_name: + dcae_keystone_url: type: string - description: the name of the keypair on-boarded with Cloud + description: the keystone URL for DCAE to use (via MultiCloud) dcae_private_key: type: string @@ -260,38 +248,9 @@ parameters: type: string description: the id/name of the CentOS 7 VM imange - dcae_security_group: + dcae_domain: type: string - description: the security group to be used by DCAE VMs - - -# dcae_base_environment: -# type: string -# description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS) - -# dcae_zone: -# type: string -# description: DCAE Zone to use in VM names created by DCAE controller - -# dcae_state: -# type: string -# description: DCAE State to use in VM names created by DCAE controller - -# nexus_repo_root: -# type: string -# description: Root URL of Nexus repository - -# nexus_url_snapshot: -# type: string -# description: Snapshot of Maven repository for DCAE deployment - -# gitlab_branch: -# type: string -# description: Branch of the Gitlab repository - -# dcae_code_version: -# type: string -# description: DCAE Code Version Number + description: the top level domain to register DCAE VMs (the zone will be random-str.dcae_domain) ##################### # # @@ -303,8 +262,6 @@ parameters: type: string appc_repo: type: string - dcae_repo: - type: string mr_repo: type: string so_repo: @@ -334,12 +291,12 @@ parameters: aai_docker: type: string + aai_sparky_docker: + type: string appc_docker: type: string so_docker: type: string - mr_docker: - type: string dcae_docker: type: string policy_docker: @@ -360,8 +317,6 @@ parameters: type: string mvim_docker: type: string - vfc_docker: - type: string uui_docker: type: string esr_docker: @@ -370,6 +325,36 @@ parameters: type: string cli_docker: type: string + vfc_nokia_docker: + type: string + vfc_ztevmanagerdriver_docker: + type: string + vfc_ztesdncdriver_docker: + type: string + vfc_vnfres_docker: + type: string + vfc_vnfmgr_docker: + type: string + vfc_vnflcm_docker: + type: string + vfc_resmanagement_docker: + type: string + vfc_nslcm_docker: + type: string + vfc_huawei_docker: + type: string + vfc_jujudriver_docker: + type: string + vfc_gvnfmdriver_docker: + type: string + vfc_emsdriver_docker: + type: string + vfc_catalog_docker: + type: string + vfc_wfengine_mgrservice_docker: + type: string + vfc_wfengine_activiti_docker: + type: string aai_branch: type: string @@ -379,8 +364,6 @@ parameters: type: string mr_branch: type: string - dcae_branch: - type: string policy_branch: type: string portal_branch: @@ -411,7 +394,6 @@ resources: properties: length: 4 - # Public key used to access ONAP components vm_key: type: OS::Nova::KeyPair @@ -425,6 +407,36 @@ resources: public_key: { get_param: pub_key } save_private_key: false + + # ONAP security group + onap_sg: + type: OS::Neutron::SecurityGroup + properties: + name: + str_replace: + template: base_rand + params: + base: onap_sg + rand: { get_resource: random-str } + description: security group used by ONAP + rules: + # All egress traffic + - direction: egress + ethertype: IPv4 + - direction: egress + ethertype: IPv6 + # ingress traffic + # ICMP + - protocol: icmp + - protocol: udp + port_range_min: 1 + port_range_max: 65535 + - protocol: tcp + port_range_min: 1 + port_range_max: 65535 + + + # ONAP management private network oam_onap: type: OS::Neutron::Net @@ -498,7 +510,6 @@ resources: __aai2_ip_addr__: { get_param: aai2_ip_addr } __appc_ip_addr__: { get_param: appc_ip_addr } __dcae_ip_addr__: { get_param: dcae_ip_addr } - __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr } __so_ip_addr__: { get_param: so_ip_addr } __mr_ip_addr__: { get_param: mr_ip_addr } __policy_ip_addr__: { get_param: policy_ip_addr } @@ -511,6 +522,7 @@ resources: __openo_ip_addr__: { get_param: openo_ip_addr } __cloud_env__: { get_param: cloud_env } __external_dns__: { get_param: external_dns } + __dns_forwarder__: { get_param: dns_forwarder } template: | #!/bin/bash @@ -525,7 +537,6 @@ resources: echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt - echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt echo "__so_ip_addr__" > /opt/config/so_ip_addr.txt echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt @@ -537,6 +548,7 @@ resources: echo "__clamp_ip_addr__" > /opt/config/clamp_ip_addr.txt echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt echo "__external_dns__" > /opt/config/external_dns.txt + echo "__dns_forwarder__" > /opt/config/dns_forwarder.txt # Download and run install script curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh @@ -584,6 +596,7 @@ resources: __artifacts_version__: { get_param: artifacts_version } __dns_ip_addr__: { get_param: dns_ip_addr } __docker_version__: { get_param: aai_docker } + __aai_sparky_docker__ : { get_param: aai_sparky_docker } __gerrit_branch__: { get_param: aai_branch } __cloud_env__: { get_param: cloud_env } __external_dns__: { get_param: external_dns } @@ -601,6 +614,7 @@ resources: echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__aai_sparky_docker__" > /opt/config/sparky_version.txt echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt echo "aai_instance_1" > /opt/config/aai_instance.txt echo "__cloud_env__" > /opt/config/cloud_env.txt @@ -864,7 +878,6 @@ resources: __artifacts_version__: { get_param: artifacts_version } __openstack_region__: { get_param: openstack_region } __dns_ip_addr__: { get_param: dns_ip_addr } - __docker_version__: { get_param: mr_docker } __gerrit_branch__: { get_param: mr_branch } __cloud_env__: { get_param: cloud_env } __keystone_url__: { get_param: keystone_url } @@ -887,6 +900,7 @@ resources: __public_net_id__: { get_param: public_net_id } __script_version__: { get_param: artifacts_version } __robot_repo__: { get_param: robot_repo } + __docker_version__: { get_param: robot_docker } template: | #!/bin/bash @@ -1113,7 +1127,7 @@ resources: __artifacts_version__: { get_param: artifacts_version } __dns_ip_addr__: { get_param: dns_ip_addr } __mr_ip_addr__: { get_param: mr_ip_addr } - __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] } + __private_ip__: { get_param: sdc_ip_addr } __docker_version__: { get_param: sdc_docker } __gerrit_branch__: { get_param: sdc_branch } __cloud_env__: { get_param: cloud_env } @@ -1130,7 +1144,7 @@ resources: echo "__nexus_password__" > /opt/config/nexus_password.txt echo "__env_name__" > /opt/config/env_name.txt echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt - echo "__public_ip__" > /opt/config/public_ip.txt + echo "__private_ip__" > /opt/config/private_ip.txt echo "__artifacts_version__" > /opt/config/artifacts_version.txt echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__docker_version__" > /opt/config/docker_version.txt @@ -1215,147 +1229,6 @@ resources: ./portal_install.sh - # DCAE Controller instantiation -# dcae_c_private_port: -# type: OS::Neutron::Port -# properties: -# network: { get_resource: oam_onap } -# fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dcae_ip_addr }}] - -# dcae_c_floating_ip: -# type: OS::Neutron::FloatingIP -# properties: -# floating_network_id: { get_param: public_net_id } -# port_id: { get_resource: dcae_c_private_port } - -# dcae_c_vm: -# type: OS::Nova::Server -# properties: -# image: { get_param: ubuntu_1404_image } -# flavor: { get_param: flavor_medium } -# name: -# str_replace: -# template: base-dcae-controller -# params: -# base: { get_param: vm_base_name } -# key_name: { get_resource: vm_key } -# networks: -# - port: { get_resource: dcae_c_private_port } -# user_data_format: RAW -# user_data: -# str_replace: -# params: -# __nexus_repo__: { get_param: nexus_repo } -# __nexus_docker_repo__: { get_param: nexus_docker_repo } -# __nexus_username__: { get_param: nexus_username } -# __nexus_password__: { get_param: nexus_password } -# __nexus_url_snapshots__: { get_param: nexus_url_snapshot } -# __gitlab_branch__: { get_param: gitlab_branch } -# __dns_ip_addr__: { get_param: dns_ip_addr } -# __dcae_zone__: { get_param: dcae_zone } -# __dcae_state__: { get_param: dcae_state } -# __artifacts_version__: { get_param: artifacts_version } -# __tenant_id__: { get_param: openstack_tenant_id } -# __openstack_private_network_name__: { get_attr: [oam_onap, name] } -# __openstack_user__: { get_param: openstack_username } -# __openstack_password__: { get_param: openstack_api_key } -# __openstack_auth_method__: { get_param: openstack_auth_method } -# __key_name__: { get_param: key_name } -# __rand_str__: { get_resource: random-str } -# __pub_key__: { get_param: pub_key } -# __nexus_repo_root__: { get_param: nexus_repo_root } -# __openstack_region__: { get_param: openstack_region } -# __horizon_url__: { get_param: horizon_url } -# __keystone_url__: { get_param: keystone_url } -# __docker_version__: { get_param: dcae_docker } -# __gerrit_branch__: { get_param: dcae_branch } -# __dcae_code_version__: { get_param: dcae_code_version } -# __cloud_env__: { get_param: cloud_env } -# __public_net_id__: { get_param: public_net_id } -# __dcae_base_environment__: { get_param: dcae_base_environment } -# __dcae_ip_addr__: { get_param: dcae_ip_addr } -# __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr } -# __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr } -# __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr } -# __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr } -# __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr } -# __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] } -# __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip } -# __dcae_db_float_ip__: { get_param: dcae_db_float_ip } -# __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip } -# __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip } -# __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip } -# __external_dns__: { get_param: external_dns } -# __ubuntu_1404_image__: { get_param: ubuntu_1404_image } -# __ubuntu_1604_image__: { get_param: ubuntu_1604_image } -# __flavor_small__: { get_param: flavor_small } -# __flavor_medium__: { get_param: flavor_medium } -# __flavor_large__: { get_param: flavor_large } -# __flavor_xlarge__: { get_param: flavor_xlarge } -# __dcae_repo__: { get_param: dcae_repo } -# __mr_repo__: { get_param: mr_repo } -# template: | - #!/bin/bash - - # Create configuration files -# mkdir -p /opt/config -# echo "__nexus_repo__" > /opt/config/nexus_repo.txt -# echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt -# echo "__nexus_username__" > /opt/config/nexus_username.txt -# echo "__nexus_password__" > /opt/config/nexus_password.txt -# echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt -# echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt -# echo "__docker_version__" > /opt/config/docker_version.txt -# echo "__artifacts_version__" > /opt/config/artifacts_version.txt -# echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt -# echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt -# echo "__dcae_zone__" > /opt/config/dcae_zone.txt -# echo "__dcae_state__" > /opt/config/dcae_state.txt -# echo "__tenant_id__" > /opt/config/tenant_id.txt -# echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt -# echo "__openstack_user__" > /opt/config/openstack_user.txt -# echo "__openstack_password__" > /opt/config/openstack_password.txt -# echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt -# echo "__key_name__" > /opt/config/key_name.txt -# echo "__rand_str__" > /opt/config/rand_str.txt -# echo "__pub_key__" > /opt/config/pub_key.txt -# echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt -# echo "__openstack_region__" > /opt/config/openstack_region.txt -# echo "__horizon_url__" > /opt/config/horizon_url.txt -# echo "__keystone_url__" > /opt/config/keystone_url.txt -# echo "__cloud_env__" > /opt/config/cloud_env.txt -# echo "__public_net_id__" > /opt/config/public_net_id.txt -# echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt -# echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt -# echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt -# echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt -# echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt -# echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt -# echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt -# echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt -# echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt -# echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt -# echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt -# echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt -# echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt -# echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt -# echo "__external_dns__" > /opt/config/external_dns.txt -# echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt -# echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt -# echo "__flavor_small__" > /opt/config/flavor_small.txt -# echo "__flavor_medium__" > /opt/config/flavor_medium.txt -# echo "__flavor_large__" > /opt/config/flavor_large.txt -# echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt -# echo "__dcae_repo__" > /opt/config/remote_repo.txt -# echo "__mr_repo__" > /opt/config/mr_repo.txt - - # Download and run install script -# curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh -# cd /opt -# chmod +x dcae_install.sh -# ./dcae_install.sh - - # Policy Engine instantiation policy_private_port: type: OS::Neutron::Port @@ -1610,7 +1483,6 @@ resources: __aai2_ip_addr__: { get_param: aai2_ip_addr } __appc_ip_addr__: { get_param: appc_ip_addr } __dcae_ip_addr__: { get_param: dcae_ip_addr } - __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr } __so_ip_addr__: { get_param: so_ip_addr } __mr_ip_addr__: { get_param: mr_ip_addr } __policy_ip_addr__: { get_param: policy_ip_addr } @@ -1626,10 +1498,24 @@ resources: __vnfsdk_branch__: { get_param: vnfsdk_branch } __msb_docker__: { get_param: msb_docker } __mvim_docker__: { get_param: mvim_docker } - __vfc_docker__: { get_param: vfc_docker } __uui_docker__: { get_param: uui_docker } __esr_docker__: { get_param: esr_docker } __vnfsdk_repo__: { get_param: vnfsdk_repo } + __vfc_nokia_docker__: { get_param: vfc_nokia_docker } + __vfc_ztevmanagerdriver_docker__: { get_param: vfc_ztevmanagerdriver_docker } + __vfc_ztesdncdriver_docker__: { get_param: vfc_ztesdncdriver_docker } + __vfc_vnfres_docker__: { get_param: vfc_vnfres_docker } + __vfc_vnfmgr_docker__: { get_param: vfc_vnfmgr_docker } + __vfc_vnflcm_docker__: { get_param: vfc_vnflcm_docker } + __vfc_resmanagement_docker__: { get_param: vfc_resmanagement_docker } + __vfc_nslcm_docker__: { get_param: vfc_nslcm_docker } + __vfc_huawei_docker__: { get_param: vfc_huawei_docker } + __vfc_jujudriver_docker__: { get_param: vfc_jujudriver_docker } + __vfc_gvnfmdriver_docker__: { get_param: vfc_gvnfmdriver_docker } + __vfc_emsdriver_docker__: { get_param: vfc_emsdriver_docker } + __vfc_catalog_docker__: { get_param: vfc_catalog_docker } + __vfc_wfengine_mgrservice_docker__: { get_param: vfc_wfengine_mgrservice_docker } + __vfc_wfengine_activiti_docker__: { get_param: vfc_wfengine_activiti_docker } template: | #!/bin/bash @@ -1647,17 +1533,31 @@ resources: echo "__vnfsdk_branch__" > /opt/config/vnfsdk_branch.txt echo "__msb_docker__" > /opt/config/msb_docker.txt echo "__mvim_docker__" > /opt/config/mvim_docker.txt - echo "__vfc_docker__" > /opt/config/vfc_docker.txt echo "__uui_docker__" > /opt/config/uui_docker.txt echo "__esr_docker__" > /opt/config/esr_docker.txt echo "__vnfsdk_repo__" > /opt/config/vnfsdk_repo.txt + echo "export NOKIA_DOCKER_VER=__vfc_nokia_docker__" >> /opt/config/vfc_docker.txt + echo "export ZTEVMANAGERDRIVER_DOCKER_VER=__vfc_ztevmanagerdriver_docker__" >> /opt/config/vfc_docker.txt + echo "export ZTESDNCDRIVER_DOCKER_VER=__vfc_ztesdncdriver_docker__" >> /opt/config/vfc_docker.txt + echo "export VNFRES_DOCKER_VER=__vfc_vnfres_docker__" >> /opt/config/vfc_docker.txt + echo "export VNFMGR_DOCKER_VER=__vfc_vnfmgr_docker__" >> /opt/config/vfc_docker.txt + echo "export VNFLCM_DOCKER_VER=__vfc_vnflcm_docker__" >> /opt/config/vfc_docker.txt + echo "export RESMANAGEMENT_DOCKER_VER=__vfc_resmanagement_docker__" >> /opt/config/vfc_docker.txt + echo "export NSLCM_DOCKER_VER=__vfc_nslcm_docker__" >> /opt/config/vfc_docker.txt + echo "export HUAWEI_DOCKER_VER=__vfc_huawei_docker__" >> /opt/config/vfc_docker.txt + echo "export JUJUDRIVER_DOCKER_VER=__vfc_jujudriver_docker__" >> /opt/config/vfc_docker.txt + echo "export GVNFMDRIVER_DOCKER_VER=__vfc_gvnfmdriver_docker__" >> /opt/config/vfc_docker.txt + echo "export EMSDRIVER_DOCKER_VER=__vfc_emsdriver_docker__" >> /opt/config/vfc_docker.txt + echo "export CATALOG_DOCKER_VER=__vfc_catalog_docker__" >> /opt/config/vfc_docker.txt + echo "export MGRSERVICE_DOCKER_VER=__vfc_wfengine_mgrservice_docker__" >> /opt/config/vfc_docker.txt + echo "export ACTIVITI_DOCKER_VER=__vfc_wfengine_activiti_docker__" >> /opt/config/vfc_docker.txt + # Create env file with the IP address of all ONAP components echo "export AAI_IP1=__aai1_ip_addr__" >> /opt/config/onap_ips.txt echo "export AAI_IP2=__aai2_ip_addr__" >> /opt/config/onap_ips.txt echo "export APPC_IP=__appc_ip_addr__" >> /opt/config/onap_ips.txt echo "export DCAE_IP=__dcae_ip_addr__" >> /opt/config/onap_ips.txt - echo "export DCAE_COLL_IP=__dcae_coll_ip_addr__" >> /opt/config/onap_ips.txt echo "export SO_IP=__so_ip_addr__" >> /opt/config/onap_ips.txt echo "export MR_IP=__mr_ip_addr__" >> /opt/config/onap_ips.txt echo "export POLICY_IP=__policy_ip_addr__" >> /opt/config/onap_ips.txt @@ -1693,7 +1593,7 @@ resources: type: OS::Nova::Server properties: image: { get_param: ubuntu_1604_image } - flavor: { get_param: flavor_medium } + flavor: { get_param: flavor_small } name: str_replace: template: base-dcae-bootstrap @@ -1702,6 +1602,8 @@ resources: key_name: { get_resource: vm_key } networks: - port: { get_resource: dcae_c_private_port } + #security_groups: + # - { get_resource: onap_sg } user_data_format: RAW user_data: str_replace: @@ -1714,14 +1616,14 @@ resources: __nexus_docker_repo__: { get_param: nexus_docker_repo } __nexus_username__: { get_param: nexus_username } __nexus_password__: { get_param: nexus_password } - __dcae_repo__: { get_param: dcae_repo } - __gerrit_branch__: { get_param: dcae_branch } # conf for the ONAP environment where the DCAE bootstrap vm/conatiner runs __mac_addr__: { get_attr: [dcae_c_private_port, mac_address] } __dcae_ip_addr__: { get_param: dcae_ip_addr } __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] } __dns_ip_addr__: { get_param: dns_ip_addr } __external_dns__: { get_param: external_dns } + __dns_forwarder__: { get_param: dns_forwarder } + __dcae_domain__: { get_param: dcae_domain } # conf for VMs DCAE is to bringup __openstack_keystone_url__: { get_param: keystone_url } __dcae_keystone_url__: { get_param: dcae_keystone_url } @@ -1729,22 +1631,28 @@ resources: __dcaeos_keystone_url__: { get_param: dcae_keystone_url } __dcaeos_region__: { get_param: openstack_region } __dcaeos_tenant_id__: { get_param: openstack_tenant_id } + __dcaeos_tenant_name__: { get_param: openstack_tenant_name } + __dcaeos_security_group__: + str_replace: + template: 'onap_sg_rand' + params: + rand: { get_resource: random-str } + #__dcaeos_security_group__: { get_attr: [onap_sg, name] } __dcaeos_username__: { get_param: openstack_username } __dcaeos_password__: { get_param: openstack_api_key } - __dcaeos_key_name__: { get_attr: [vm_key, name] } - __dcaeos_key_name__: { get_param: dcae_key_name } + __dcaeos_key_name__: { get_resource: vm_key } __dcaeos_public_key__: { get_param: dcae_public_key } __dcaeos_private_key__: { get_param: dcae_private_key } __dcaeos_private_network_name__: { get_attr: [oam_onap, name] } - __dcaeos_public_network_name__: { get_param: public_net_id } + __dcaeos_public_network_name__: { get_param: public_net_name } __dcaeos_ubuntu_1604_image__: { get_param: ubuntu_1604_image } __dcaeos_centos_7_image__: { get_param: dcae_centos_7_image } - __dcaeos_security_group__ : { get_param: dcae_security_group } - __dcaeos_flavor_id__: { get_param: flavor_medium } + __dcaeos_flavor_id__: { get_param: flavor_xlarge } + __dcaeos_flavor_id_cdap__: { get_param: flavor_xlarge } __dcaeos_dnsaas_config_enabled__: { get_param: dnsaas_config_enabled } __dcaeos_dnsaas_region__: { get_param: dnsaas_region } - __dcaeos_dnsaas_tenant_id__: { get_param: dnsaas_tenant_id} __dcaeos_dnsaas_keystone_url__: { get_param: dnsaas_keystone_url } + __dnsaas_tenant_name__: { get_param: dnsaas_tenant_name } __dcaeos_dnsaas_username__: { get_param: dnsaas_username } __dcaeos_dnsaas_password__: { get_param: dnsaas_password } # fixed private IPs @@ -1778,7 +1686,6 @@ resources: echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt echo "__nexus_username__" > /opt/config/nexus_username.txt echo "__nexus_password__" > /opt/config/nexus_password.txt - echo "__dcae_repo__" > /opt/config/remote_repo.txt echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt # conf for the ONAP environment where the DCAE bootstrap vm/conatiner runs echo "__mac_addr__" > /opt/config/mac_addr.txt @@ -1786,28 +1693,32 @@ resources: echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__external_dns__" > /opt/config/external_dns.txt + echo "__dns_forwarder__" > /opt/config/dns_forwarder.txt + echo "__dcae_domain__" > /opt/config/dcae_domain.txt # conf for the OpenStack env where DCAE is deployed echo "__openstack_keystone_url__" > /opt/config/openstack_keystone_url.txt echo "__dcaeos_cloud_env__" > /opt/config/cloud_env.txt echo "__dcaeos_keystone_url__" > /opt/config/keystone_url.txt echo "__dcaeos_region__" > /opt/config/openstack_region.txt echo "__dcaeos_tenant_id__" > /opt/config/tenant_id.txt - echo "__dcaeos_tenant_id__" > /opt/config/tenant_name.txt + echo "__dcaeos_tenant_name__" > /opt/config/tenant_name.txt echo "__dcaeos_username__" > /opt/config/openstack_user.txt echo "__dcaeos_password__" > /opt/config/openstack_password.txt echo "__dcaeos_key_name__" > /opt/config/key_name.txt echo "__dcaeos_public_key__" > /opt/config/pub_key.txt echo "__dcaeos_private_key__" > /opt/config/priv_key echo "__dcaeos_private_network_name__" > /opt/config/openstack_private_network_name.txt + echo "__dcaeos_public_network_name__" > /opt/config/public_net_name.txt echo "__dcaeos_public_network_name__" > /opt/config/public_net_id.txt echo "__dcaeos_ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt echo "__dcaeos_centos_7_image__" > /opt/config/centos_7_image.txt echo "__dcaeos_security_group__" > /opt/config/security_group.txt echo "__dcaeos_flavor_id__" > /opt/config/flavor_id.txt + echo "__dcaeos_flavor_id_cdap__" > /opt/config/flavor_id_cdap.txt echo "__dcaeos_dnsaas_config_enabled__" > /opt/config/dnsaas_config_enabled.txt echo "__dcaeos_dnsaas_region__" > /opt/config/dnsaas_region.txt - echo "__dcaeos_dnsaas_tenant_id__" > /opt/config/dnsaas_tenant_id.txt echo "__dcaeos_dnsaas_keystone_url__" > /opt/config/dnsaas_keystone_url.txt + echo "__dnsaas_tenant_name__" > /opt/config/dnsaas_tenant_name.txt echo "__dcaeos_dnsaas_username__" > /opt/config/dnsaas_username.txt echo "__dcaeos_dnsaas_password__" > /opt/config/dnsaas_password.txt # fixed private IP addresses of other ONAP components @@ -1831,4 +1742,4 @@ resources: curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae2_install.sh -o /opt/dcae2_install.sh cd /opt chmod +x dcae2_install.sh - ./dcae2_install.sh + ./dcae2_install.sh > /tmp/dcae2_install.log 2>&1 diff --git a/heat/vCPE/vbng/base_vcpe_vbng.env b/heat/vCPE/vbng/base_vcpe_vbng.env index be4f9728..43ccc514 100644 --- a/heat/vCPE/vbng/base_vcpe_vbng.env +++ b/heat/vCPE/vbng/base_vcpe_vbng.env @@ -21,6 +21,7 @@ vbng_name_0: zdcpe1cpe01bng01 vnf_id: vCPE_Infrastructure_Metro_vBNG_demo_app vf_module_id: vCPE_Intrastructure_Metro_vBNG + sdnc_ip_addr: 10.0.7.1 dcae_collector_ip: 10.0.4.102 dcae_collector_port: 8080 repo_url_blob: https://nexus.onap.org/content/sites/raw diff --git a/heat/vCPE/vbng/base_vcpe_vbng.yaml b/heat/vCPE/vbng/base_vcpe_vbng.yaml index 3dd7ca09..b2ae4e6f 100644 --- a/heat/vCPE/vbng/base_vcpe_vbng.yaml +++ b/heat/vCPE/vbng/base_vcpe_vbng.yaml @@ -169,6 +169,10 @@ parameters: type: string label: VPP Patch URL description: URL for VPP patch for vBNG + sdnc_ip_addr: + type: string + label: SDNC IP address + description: IP address of the SDNC ############# # # @@ -257,6 +261,7 @@ resources: __vpp_source_repo_url__ : { get_param: vpp_source_repo_url } __vpp_source_repo_branch__ : { get_param: vpp_source_repo_branch } __vpp_patch_url__ : { get_param: vpp_patch_url } + __sdnc_ip_addr__: { get_param: sdnc_ip_addr } template: | #!/bin/bash @@ -280,6 +285,7 @@ resources: echo "__vpp_source_repo_url__" > /opt/config/vpp_source_repo_url.txt echo "__vpp_source_repo_branch__" > /opt/config/vpp_source_repo_branch.txt echo "__vpp_patch_url__" > /opt/config/vpp_patch_url.txt + echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt # Download and run install script curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_bng_install.sh -o /opt/v_bng_install.sh diff --git a/heat/vCPE/vgmux/base_vcpe_vgmux.env b/heat/vCPE/vgmux/base_vcpe_vgmux.env index e81afa70..4b486a8d 100644 --- a/heat/vCPE/vgmux/base_vcpe_vgmux.env +++ b/heat/vCPE/vgmux/base_vcpe_vgmux.env @@ -11,12 +11,14 @@ onap_private_net_cidr: 10.0.0.0/16 bng_gmux_private_net_cidr: 10.1.0.0/24 mux_gw_private_net_cidr: 10.5.0.0/24 + brgemu_bng_private_net_cidr: 10.3.0.0/24 vgmux_private_ip_0: 10.1.0.20 vgmux_private_ip_1: 10.0.101.20 vgmux_private_ip_2: 10.5.0.20 vgmux_name_0: zdcpe1cpe01mux01 vnf_id: vCPE_Infrastructure_vGMUX_demo_app vf_module_id: vCPE_Intrastructure_Metro_vGMUX + bng_gmux_private_ip: 10.1.0.10 dcae_collector_ip: 10.0.4.102 dcae_collector_port: 8080 repo_url_blob: https://nexus.onap.org/content/sites/raw diff --git a/heat/vCPE/vgmux/base_vcpe_vgmux.yaml b/heat/vCPE/vgmux/base_vcpe_vgmux.yaml index ecdb1b1b..43bbb986 100644 --- a/heat/vCPE/vgmux/base_vcpe_vgmux.yaml +++ b/heat/vCPE/vgmux/base_vcpe_vgmux.yaml @@ -69,6 +69,10 @@ parameters: type: string label: vGMUX private network CIDR description: The CIDR of the vGMUX private network + brgemu_bng_private_net_cidr: + type: string + label: vBRG vBNG private network CIDR + description: The CIDR of the vBRG-vBNG private network onap_private_net_id: type: string label: ONAP management network name or ID @@ -105,6 +109,10 @@ parameters: type: string label: vCPE module ID description: The vCPE Module ID is provided by ONAP + bng_gmux_private_ip: + type: string + label: vBNG private IP address towards the vBNG-vGMUX private network + description: Private IP address that is assigned to the vBNG to communicate with the vGMUX dcae_collector_ip: type: string label: DCAE collector IP address @@ -232,12 +240,14 @@ resources: user_data: str_replace: params: - __bng_mux_net_ipaddr__ : { get_param: vgmux_private_ip_0 } + __mux_to_bng_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_to_mux_ipaddr__ : { get_param: bng_gmux_private_ip } __bng_mux_net_cidr__ : { get_param: bng_gmux_private_net_cidr } __oam_cidr__ : { get_param: onap_private_net_cidr } __mux_gw_net_cidr__ : { get_param: mux_gw_private_net_cidr } + __brg_bng_net_cidr__ : { get_param: brgemu_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 } @@ -255,12 +265,14 @@ resources: # Create configuration files mkdir /opt/config - echo "__bng_mux_net_ipaddr__" > /opt/config/bng_mux_net_ipaddr.txt + echo "__mux_to_bng_net_ipaddr__" > /opt/config/mux_to_bng_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_to_mux_ipaddr__ " > /opt/config/bng_to_mux_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 "__brg_bng_net_cidr__" > /opt/config/brg_bng_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 diff --git a/heat/vCPE/vgw/base_vcpe_vgw.env b/heat/vCPE/vgw/base_vcpe_vgw.env index f1cadb83..6f33138e 100644 --- a/heat/vCPE/vgw/base_vcpe_vgw.env +++ b/heat/vCPE/vgw/base_vcpe_vgw.env @@ -17,6 +17,8 @@ vgw_name_0: zdcpe1cpe01gw01 vnf_id: vCPE_Infrastructure_GW_demo_app vf_module_id: vCPE_Customer_GW + mux_ip_addr: 10.5.0.20 + vg_vgmux_tunnel_vni: 100 dcae_collector_ip: 10.0.4.102 dcae_collector_port: 8080 repo_url_blob: https://nexus.onap.org/content/sites/raw diff --git a/heat/vCPE/vgw/base_vcpe_vgw.yaml b/heat/vCPE/vgw/base_vcpe_vgw.yaml index 173ba6dd..c4b98760 100644 --- a/heat/vCPE/vgw/base_vcpe_vgw.yaml +++ b/heat/vCPE/vgw/base_vcpe_vgw.yaml @@ -157,6 +157,14 @@ parameters: type: string label: Honeycomb Source Git Branch description: Git Branch for the Honeycomb source codes + mux_ip_addr: + type: string + label: vGMUX IP address + description: IP address of vGMUX + vg_vgmux_tunnel_vni: + type: number + label: vG-vGMUX tunnel vni + description: vni value of vG-vGMUX vxlan tunnel ############# # # @@ -233,6 +241,8 @@ resources: __vpp_source_repo_branch__ : { get_param: vpp_source_repo_branch } __hc2vpp_source_repo_url__ : { get_param: hc2vpp_source_repo_url } __hc2vpp_source_repo_branch__ : { get_param: hc2vpp_source_repo_branch } + __mux_ip_addr__: { get_param: mux_ip_addr } + __vg_vgmux_tunnel_vni__: { get_param: vg_vgmux_tunnel_vni } template: | #!/bin/bash @@ -252,6 +262,8 @@ resources: echo "__vpp_source_repo_branch__" > /opt/config/vpp_source_repo_branch.txt echo "__hc2vpp_source_repo_url__" > /opt/config/hc2vpp_source_repo_url.txt echo "__hc2vpp_source_repo_branch__" > /opt/config/hc2vpp_source_repo_branch.txt + echo "__mux_ip_addr__" > /opt/config/mux_ip_addr.txt + echo "__vg_vgmux_tunnel_vni__" > /opt/config/vg_vgmux_tunnel_vni.txt # Download and run install script curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_gw_install.sh -o /opt/v_gw_install.sh diff --git a/heat/vFW/MANIFEST.json b/heat/vFW/MANIFEST.json new file mode 100644 index 00000000..af79f75b --- /dev/null +++ b/heat/vFW/MANIFEST.json @@ -0,0 +1,17 @@ +{ + "name": "virtualFireWall", + "description": "", + "data": [ + { + "file": "base_vfw.yaml", + "type": "HEAT", + "isBase": "true", + "data": [ + { + "file": "base_vfw.env", + "type": "HEAT_ENV" + } + ] + } + ] +}
\ No newline at end of file diff --git a/heat/vFW/base_vfw.yaml b/heat/vFW/base_vfw.yaml index 4fb19c00..3d5a22d1 100644 --- a/heat/vFW/base_vfw.yaml +++ b/heat/vFW/base_vfw.yaml @@ -1,7 +1,7 @@ ##########################################################################
#
#==================LICENSE_START==========================================
-#
+#
#
# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
#
@@ -256,7 +256,7 @@ resources: __cloud_env__ : { get_param: cloud_env }
template: |
#!/bin/bash
-
+
# Create configuration files
mkdir /opt/config
echo "__dcae_collector_ip__" > /opt/config/dcae_collector_ip.txt
@@ -272,7 +272,7 @@ resources: 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
curl -k __repo_url_blob__/org.onap.demo/vnfs/vfw/__install_script_version__/v_firewall_install.sh -o /opt/v_firewall_install.sh
cd /opt
@@ -323,7 +323,7 @@ resources: __cloud_env__ : { get_param: cloud_env }
template: |
#!/bin/bash
-
+
# Create configuration files
mkdir /opt/config
echo "__fw_ipaddr__" > /opt/config/fw_ipaddr.txt
@@ -338,7 +338,7 @@ resources: 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
curl -k __repo_url_blob__/org.onap.demo/vnfs/vfw/__install_script_version__/v_packetgen_install.sh -o /opt/v_packetgen_install.sh
cd /opt
@@ -387,7 +387,7 @@ resources: __cloud_env__ : { get_param: cloud_env }
template: |
#!/bin/bash
-
+
# Create configuration files
mkdir /opt/config
echo "__protected_net_gw__" > /opt/config/protected_net_gw.txt
@@ -399,7 +399,7 @@ resources: 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
curl -k __repo_url_blob__/org.onap.demo/vnfs/vfw/__install_script_version__/v_sink_install.sh -o /opt/v_sink_install.sh
cd /opt
diff --git a/heat/vFWCL/vFWSNK/MANIFEST.json b/heat/vFWCL/vFWSNK/MANIFEST.json new file mode 100644 index 00000000..49383787 --- /dev/null +++ b/heat/vFWCL/vFWSNK/MANIFEST.json @@ -0,0 +1,17 @@ +{ + "name": "", + "description": "", + "data": [ + { + "file": "base_vfw.yaml", + "type": "HEAT", + "isBase": "true", + "data": [ + { + "file": "base_vfw.env", + "type": "HEAT_ENV" + } + ] + } + ] +} diff --git a/heat/vFWCL/vFWSNK/base_vfw.env b/heat/vFWCL/vFWSNK/base_vfw.env new file mode 100644 index 00000000..84ed850f --- /dev/null +++ b/heat/vFWCL/vFWSNK/base_vfw.env @@ -0,0 +1,32 @@ +parameters: + image_name: PUT THE VM IMAGE NAME HERE + flavor_name: PUT THE VM FLAVOR NAME HERE + public_net_id: PUT THE PUBLIC NETWORK ID HERE + unprotected_private_net_id: zdfw1fwl01_unprotected + unprotected_private_subnet_id: zdfw1fwl01_unprotected_sub + unprotected_private_net_cidr: 192.168.10.0/24 + protected_private_net_id: zdfw1fwl01_protected + protected_private_subnet_id: zdfw1fwl01_protected_sub + protected_private_net_cidr: 192.168.20.0/24 + onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE + onap_private_subnet_id: PUT THE ONAP PRIVATE NETWORK NAME HERE + onap_private_net_cidr: 10.0.0.0/16 + vfw_private_ip_0: 192.168.10.100 + vfw_private_ip_1: 192.168.20.100 + vfw_private_ip_2: 10.0.100.1 + vpg_private_ip_0: 192.168.10.200 + vsn_private_ip_0: 192.168.20.250 + vsn_private_ip_1: 10.0.100.3 + vfw_name_0: zdfw1fwl01fwl01 + vsn_name_0: zdfw1fwl01snk01 + vnf_id: vFirewall_demo_app + vf_module_id: vFirewallCL + dcae_collector_ip: PUT THE ADDRESS OF THE DCAE COLLECTOR HERE + dcae_collector_port: 8080 + repo_url_blob: https://nexus.onap.org/content/sites/raw + repo_url_artifacts: https://nexus.onap.org/content/groups/staging + demo_artifacts_version: 1.1.0 + install_script_version: 1.1.0-SNAPSHOT + key_name: vfw_key + pub_key: PUT YOUR KEY HERE + cloud_env: PUT openstack OR rackspace HERE diff --git a/heat/vFWCL/vFWSNK/base_vfw.yaml b/heat/vFWCL/vFWSNK/base_vfw.yaml new file mode 100644 index 00000000..c82e2e56 --- /dev/null +++ b/heat/vFWCL/vFWSNK/base_vfw.yaml @@ -0,0 +1,343 @@ +##########################################################################
+#
+#==================LICENSE_START==========================================
+#
+#
+# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#==================LICENSE_END============================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+##########################################################################
+
+heat_template_version: 2013-05-23
+
+description: Heat template that deploys vFirewall Closed Loop demo app (vFW and vSink) for ONAP
+
+##############
+# #
+# PARAMETERS #
+# #
+##############
+
+parameters:
+ image_name:
+ type: string
+ label: Image name or ID
+ description: Image to be used for compute instance
+ flavor_name:
+ type: string
+ label: Flavor
+ description: Type of instance (flavor) to be used
+ public_net_id:
+ type: string
+ label: Public network name or ID
+ description: Public network that enables remote connection to VNF
+ unprotected_private_net_id:
+ type: string
+ label: Unprotected private network name or ID
+ description: Private network that connects vPacketGenerator with vFirewall
+ unprotected_private_subnet_id:
+ type: string
+ label: Unprotected private subnetwork name or ID
+ description: Private subnetwork of the protected network
+ unprotected_private_net_cidr:
+ type: string
+ label: Unprotected private network CIDR
+ description: The CIDR of the unprotected private network
+ protected_private_net_id:
+ type: string
+ label: Protected private network name or ID
+ description: Private network that connects vFirewall with vSink
+ protected_private_subnet_id:
+ type: string
+ label: Protected private subnetwork name or ID
+ description: Private subnetwork of the unprotected network
+ protected_private_net_cidr:
+ type: string
+ label: Protected private network CIDR
+ description: The CIDR of the protected 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
+ vfw_private_ip_0:
+ type: string
+ label: vFirewall private IP address towards the unprotected network
+ description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator
+ vfw_private_ip_1:
+ type: string
+ label: vFirewall private IP address towards the protected network
+ description: Private IP address that is assigned to the vFirewall to communicate with the vSink
+ vfw_private_ip_2:
+ type: string
+ label: vFirewall private IP address towards the ONAP management network
+ description: Private IP address that is assigned to the vFirewall to communicate with ONAP components
+ vpg_private_ip_0:
+ type: string
+ label: vPacketGenerator private IP address towards the unprotected network
+ description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall
+ vsn_private_ip_0:
+ type: string
+ label: vSink private IP address towards the protected network
+ description: Private IP address that is assigned to the vSink to communicate with the vFirewall
+ vsn_private_ip_1:
+ type: string
+ label: vSink private IP address towards the ONAP management network
+ description: Private IP address that is assigned to the vSink to communicate with ONAP components
+ vfw_name_0:
+ type: string
+ label: vFirewall name
+ description: Name of the vFirewall
+ vsn_name_0:
+ type: string
+ label: vSink name
+ description: Name of the vSink
+ vnf_id:
+ type: string
+ label: VNF ID
+ description: The VNF ID is provided by ONAP
+ vf_module_id:
+ type: string
+ label: vFirewall module ID
+ description: The vFirewall Module ID is provided by ONAP
+ dcae_collector_ip:
+ type: string
+ label: DCAE collector IP address
+ description: IP address of the DCAE collector
+ dcae_collector_port:
+ type: string
+ label: DCAE collector port
+ description: Port of the DCAE collector
+ key_name:
+ type: string
+ label: Key pair name
+ description: Public/Private key pair name
+ pub_key:
+ type: string
+ label: Public key
+ description: Public key to be installed on the compute instance
+ repo_url_blob:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ repo_url_artifacts:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ install_script_version:
+ type: string
+ label: Installation script version number
+ description: Version number of the scripts that install the vFW demo app
+ demo_artifacts_version:
+ type: string
+ label: Artifacts version used in demo vnfs
+ description: Artifacts (jar, tar.gz) version used in demo vnfs
+ cloud_env:
+ type: string
+ label: Cloud environment
+ description: Cloud environment (e.g., openstack, rackspace)
+
+#############
+# #
+# RESOURCES #
+# #
+#############
+
+resources:
+ random-str:
+ type: OS::Heat::RandomString
+ properties:
+ length: 4
+
+ my_keypair:
+ type: OS::Nova::KeyPair
+ properties:
+ name:
+ str_replace:
+ template: base_rand
+ params:
+ base: { get_param: key_name }
+ rand: { get_resource: random-str }
+ public_key: { get_param: pub_key }
+ save_private_key: false
+
+ unprotected_private_network:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: unprotected_private_net_id }
+
+ unprotected_private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ name: { get_param: unprotected_private_subnet_id }
+ network_id: { get_resource: unprotected_private_network }
+ cidr: { get_param: unprotected_private_net_cidr }
+
+ protected_private_network:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: protected_private_net_id }
+
+ protected_private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ name: { get_param: protected_private_subnet_id }
+ network_id: { get_resource: protected_private_network }
+ cidr: { get_param: protected_private_net_cidr }
+
+ # Virtual Firewall instantiation
+ vfw_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: unprotected_private_network }
+ fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vfw_private_ip_0 }}]
+
+ vfw_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ allowed_address_pairs: [{ "ip_address": { get_param: vpg_private_ip_0 }}]
+ network: { get_resource: protected_private_network }
+ fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vfw_private_ip_1 }}]
+
+ vfw_private_2_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: onap_private_net_id }
+ fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vfw_private_ip_2 }}]
+
+ vfw_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: image_name }
+ flavor: { get_param: flavor_name }
+ name: { get_param: vfw_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vfw_private_0_port }
+ - port: { get_resource: vfw_private_1_port }
+ - port: { get_resource: vfw_private_2_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __dcae_collector_ip__ : { get_param: dcae_collector_ip }
+ __dcae_collector_port__ : { get_param: dcae_collector_port }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+ __install_script_version__ : { get_param: install_script_version }
+ __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
+
+ # Create configuration files
+ mkdir /opt/config
+ echo "__dcae_collector_ip__" > /opt/config/dcae_collector_ip.txt
+ echo "__dcae_collector_port__" > /opt/config/dcae_collector_port.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
+ echo "__install_script_version__" > /opt/config/install_script_version.txt
+ 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
+ curl -k __repo_url_blob__/org.onap.demo/vnfs/vfw/__install_script_version__/v_firewall_install.sh -o /opt/v_firewall_install.sh
+ cd /opt
+ chmod +x v_firewall_install.sh
+ ./v_firewall_install.sh
+
+
+ # Virtual Sink instantiation
+ vsn_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: protected_private_network }
+ fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vsn_private_ip_0 }}]
+
+ vsn_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: onap_private_net_id }
+ fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vsn_private_ip_1 }}]
+
+ vsn_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: image_name }
+ flavor: { get_param: flavor_name }
+ name: { get_param: vsn_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vsn_private_0_port }
+ - port: { get_resource: vsn_private_1_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __protected_net_gw__: { get_param: vfw_private_ip_1 }
+ __unprotected_net__: { get_param: unprotected_private_net_cidr }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __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
+
+ # Create configuration files
+ mkdir /opt/config
+ echo "__protected_net_gw__" > /opt/config/protected_net_gw.txt
+ echo "__unprotected_net__" > /opt/config/unprotected_net.txt
+ echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt
+ 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
+ curl -k __repo_url_blob__/org.onap.demo/vnfs/vfw/__install_script_version__/v_sink_install.sh -o /opt/v_sink_install.sh
+ cd /opt
+ chmod +x v_sink_install.sh
+ ./v_sink_install.sh
diff --git a/heat/vFWCL/vPKG/MANIFEST.json b/heat/vFWCL/vPKG/MANIFEST.json new file mode 100644 index 00000000..482b4294 --- /dev/null +++ b/heat/vFWCL/vPKG/MANIFEST.json @@ -0,0 +1,17 @@ +{ + "name": "", + "description": "", + "data": [ + { + "file": "base_vpkg.yaml", + "type": "HEAT", + "isBase": "true", + "data": [ + { + "file": "base_vpkg.env", + "type": "HEAT_ENV" + } + ] + } + ] +} diff --git a/heat/vFWCL/vPKG/base_vpkg.env b/heat/vFWCL/vPKG/base_vpkg.env new file mode 100644 index 00000000..a7a30e32 --- /dev/null +++ b/heat/vFWCL/vPKG/base_vpkg.env @@ -0,0 +1,25 @@ +parameters: + image_name: PUT THE VM IMAGE NAME HERE + flavor_name: PUT THE VM FLAVOR NAME HERE + public_net_id: PUT THE PUBLIC NETWORK ID HERE + unprotected_private_net_id: zdfw1fwl01_unprotected + unprotected_private_subnet_id: zdfw1fwl01_unprotected_sub + unprotected_private_net_cidr: 192.168.10.0/24 + onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE + onap_private_subnet_id: PUT THE ONAP PRIVATE NETWORK NAME HERE + onap_private_net_cidr: 10.0.0.0/16 + protected_private_net_cidr: 192.168.20.0/24 + vfw_private_ip_0: 192.168.10.100 + vpg_private_ip_0: 192.168.10.200 + vpg_private_ip_1: 10.0.100.2 + vsn_private_ip_0: 192.168.20.250 + vpg_name_0: zdfw1fwl01pgn01 + vnf_id: vPNG_Firewall_demo_app + vf_module_id: vTrafficPNG + repo_url_blob: https://nexus.onap.org/content/sites/raw + repo_url_artifacts: https://nexus.onap.org/content/groups/staging + demo_artifacts_version: 1.1.0 + install_script_version: 1.1.0-SNAPSHOT + key_name: vfw_key + pub_key: PUT YOUR PUBLIC KEY HERE + cloud_env: PUT openstack OR rackspace HERE diff --git a/heat/vFWCL/vPKG/base_vpkg.yaml b/heat/vFWCL/vPKG/base_vpkg.yaml new file mode 100644 index 00000000..79d35bd3 --- /dev/null +++ b/heat/vFWCL/vPKG/base_vpkg.yaml @@ -0,0 +1,221 @@ +##########################################################################
+#
+#==================LICENSE_START==========================================
+#
+#
+# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#==================LICENSE_END============================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+##########################################################################
+
+heat_template_version: 2013-05-23
+
+description: Heat template that deploys the vFirewall Traffic Generator demo app for ONAP
+
+##############
+# #
+# PARAMETERS #
+# #
+##############
+
+parameters:
+ image_name:
+ type: string
+ label: Image name or ID
+ description: Image to be used for compute instance
+ flavor_name:
+ type: string
+ label: Flavor
+ description: Type of instance (flavor) to be used
+ public_net_id:
+ type: string
+ label: Public network name or ID
+ description: Public network that enables remote connection to VNF
+ unprotected_private_net_id:
+ type: string
+ label: Unprotected private network name or ID
+ description: Private network that connects vPacketGenerator with vFirewall
+ unprotected_private_subnet_id:
+ type: string
+ label: Unprotected private sub-network name or ID
+ description: Private subnetwork for the unprotected network
+ unprotected_private_net_cidr:
+ type: string
+ label: Unprotected private network CIDR
+ description: The CIDR of the unprotected private network
+ protected_private_net_cidr:
+ type: string
+ label: Protected private network CIDR
+ description: The CIDR of the protected 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
+ vfw_private_ip_0:
+ type: string
+ label: vFirewall private IP address towards the unprotected network
+ description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator
+ vsn_private_ip_0:
+ type: string
+ label: vSink private IP address towards the protected network
+ description: Private IP address that is assigned to the vSink to communicate with the vFirewall
+ vpg_private_ip_0:
+ type: string
+ label: vPacketGenerator private IP address towards the unprotected network
+ description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall
+ vpg_private_ip_1:
+ type: string
+ label: vPacketGenerator private IP address towards the ONAP management network
+ description: Private IP address that is assigned to the vPacketGenerator to communicate with ONAP components
+ vpg_name_0:
+ type: string
+ label: vPacketGenerator name
+ description: Name of the vPacketGenerator
+ vnf_id:
+ type: string
+ label: VNF ID
+ description: The VNF ID is provided by ONAP
+ vf_module_id:
+ type: string
+ label: vPNG Traffic Generator module ID
+ description: The vPNG Module ID is provided by ONAP
+ key_name:
+ type: string
+ label: Key pair name
+ description: Public/Private key pair name
+ pub_key:
+ type: string
+ label: Public key
+ description: Public key to be installed on the compute instance
+ repo_url_blob:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ repo_url_artifacts:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ install_script_version:
+ type: string
+ label: Installation script version number
+ description: Version number of the scripts that install the vFW demo app
+ demo_artifacts_version:
+ type: string
+ label: Artifacts version used in demo vnfs
+ description: Artifacts (jar, tar.gz) version used in demo vnfs
+ cloud_env:
+ type: string
+ label: Cloud environment
+ description: Cloud environment (e.g., openstack, rackspace)
+
+#############
+# #
+# RESOURCES #
+# #
+#############
+
+resources:
+ random-str:
+ type: OS::Heat::RandomString
+ properties:
+ length: 4
+
+ my_keypair:
+ type: OS::Nova::KeyPair
+ properties:
+ name:
+ str_replace:
+ template: base_rand
+ params:
+ base: { get_param: key_name }
+ rand: { get_resource: random-str }
+ public_key: { get_param: pub_key }
+ save_private_key: false
+
+
+ # Virtual Packet Generator instantiation
+ vpg_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: unprotected_private_net_id }
+ fixed_ips: [{"subnet": { get_param: unprotected_private_subnet_id }, "ip_address": { get_param: vpg_private_ip_0 }}]
+
+ vpg_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: onap_private_net_id }
+ fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vpg_private_ip_1 }}]
+
+ vpg_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: image_name }
+ flavor: { get_param: flavor_name }
+ name: { get_param: vpg_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vpg_private_0_port }
+ - port: { get_resource: vpg_private_1_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __fw_ipaddr__: { get_param: vfw_private_ip_0 }
+ __protected_net_cidr__: { get_param: protected_private_net_cidr }
+ __sink_ipaddr__: { get_param: vsn_private_ip_0 }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+ __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
+
+ # Create configuration files
+ mkdir /opt/config
+ echo "__fw_ipaddr__" > /opt/config/fw_ipaddr.txt
+ echo "__protected_net_cidr__" > /opt/config/protected_net_cidr.txt
+ echo "__sink_ipaddr__" > /opt/config/sink_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
+ 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
+ curl -k __repo_url_blob__/org.onap.demo/vnfs/vfw/__install_script_version__/v_packetgen_install.sh -o /opt/v_packetgen_install.sh
+ cd /opt
+ chmod +x v_packetgen_install.sh
+ ./v_packetgen_install.sh
diff --git a/heat/vLB/MANIFEST.json b/heat/vLB/MANIFEST.json new file mode 100644 index 00000000..b22a67f3 --- /dev/null +++ b/heat/vLB/MANIFEST.json @@ -0,0 +1,28 @@ +{ + "name": "virtualLoadBalancer", + "description": "", + "data": [ + { + "file": "base_vlb.yaml", + "type": "HEAT", + "isBase": "true", + "data": [ + { + "file": "base_vlb.env", + "type": "HEAT_ENV" + } + ] + }, + { + "file": "dnsscaling.yaml", + "type": "HEAT", + "isBase": "false", + "data": [ + { + "file": "dnsscaling.env", + "type": "HEAT_ENV" + } + ] + } + ] +}
\ No newline at end of file diff --git a/heat/vVG/MANIFEST.json b/heat/vVG/MANIFEST.json new file mode 100644 index 00000000..3f9348b0 --- /dev/null +++ b/heat/vVG/MANIFEST.json @@ -0,0 +1,17 @@ +{ + "name": "", + "description": "", + "data": [ + { + "file": "base_vvg.yaml", + "type": "HEAT", + "isBase": "true", + "data": [ + { + "file": "base_vvg.env", + "type": "HEAT_ENV" + } + ] + } + ] +}
\ No newline at end of file diff --git a/heat/vVG/base_vvg.env b/heat/vVG/base_vvg.env new file mode 100644 index 00000000..2b4e72b8 --- /dev/null +++ b/heat/vVG/base_vvg.env @@ -0,0 +1,3 @@ +parameters: + volume_size: 100 + nova_instance: 1234456
\ No newline at end of file diff --git a/heat/vVG/base_vvg.yaml b/heat/vVG/base_vvg.yaml new file mode 100644 index 00000000..c20d4e48 --- /dev/null +++ b/heat/vVG/base_vvg.yaml @@ -0,0 +1,22 @@ +heat_template_version: 2013-05-23 +description: create a Nova instance, a Cinder volume and attach the volume to the instance. + +parameters: + nova_instance: + type: string + label: Instance name or ID + description: ID of the vm to use for the disk to be attached too + volume_size: + type: number + label: GB + description: Size of the volume to be created. +resources: + cinder_volume: + type: OS::Cinder::Volume + properties: + size: { get_param: volume_size } + volume_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_resource: cinder_volume } + instance_uuid: { get_param: nova_instance }
\ No newline at end of file |