X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=heat%2FvLBMS%2Fdnsscaling.yaml;h=34fd9a39908771393f4f546d1c1c839bfce18ed5;hb=2892dcf9b4d8f11e923d8f11699e0d7e776d31e9;hp=47aa3729cb5abb895cd9dfa4c5e2c02947df3cb7;hpb=fe366e6d7ff18924cf33bd743e9674fa238f2b89;p=demo.git diff --git a/heat/vLBMS/dnsscaling.yaml b/heat/vLBMS/dnsscaling.yaml index 47aa3729..34fd9a39 100644 --- a/heat/vLBMS/dnsscaling.yaml +++ b/heat/vLBMS/dnsscaling.yaml @@ -1,7 +1,7 @@ ########################################################################## # #==================LICENSE_START========================================== -# +# # # Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. # @@ -33,11 +33,11 @@ description: Heat template to deploy a vDNS for ONAP (scaling-up scenario) ############## parameters: - vlb_image_name: + vdns_image_name: type: string label: Image name or ID description: Image to be used for compute instance - vlb_flavor_name: + vdns_flavor_name: type: string label: Flavor description: Type of instance (flavor) to be used @@ -45,10 +45,14 @@ parameters: type: string label: Public network name or ID description: Public network that enables remote connection to VNF - vlb_private_net_id: + int_private_net_id: type: string label: vLoadBalancer private network name or ID description: Private network that connects vLoadBalancer with vDNSs + int_private_subnet_id: + type: string + label: vLoadBalancer private subnet name or ID + description: Private subnet that connects vLoadBalancer with vDNSs onap_private_net_id: type: string label: ONAP management network name or ID @@ -65,23 +69,23 @@ parameters: type: string label: ONAP private network CIDR description: The CIDR of the protected private network - vlb_public_ip: - type: string - label: vLoadBalancer public IP address - description: Public IP address of the vLoadBalancer - vlb_private_ip_0: + vlb_int_private_ip_0: type: string label: vLoadBalancer private IP address towards the private network description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs - vlb_private_ip_1: + vlb_onap_private_ip_0: type: string label: vLoadBalancer private IP address towards the ONAP management network description: Private IP address that is assigned to the vLoadBalancer to communicate with ONAP components - vdns_private_ip_0: + vlb_int_pktgen_private_ip_0: + type: string + label: vLoadBalancer private IP address towards the vPacketGen network + description: Private IP address that is assigned to the vLoadBalancer to communicate with vPacketGen + vdns_int_private_ip_0: type: string label: vDNS private IP address towards the private network description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer - vdns_private_ip_1: + vdns_onap_private_ip_0: type: string label: vDNS private IP address towards the ONAP management network description: Private IP address that is assigned to the vDNS to communicate with ONAP components @@ -93,6 +97,10 @@ parameters: type: string label: VNF ID description: The VNF ID is provided by ONAP + vnf_name: + type: string + label: VNF NAME + description: The VNF NAME is provided by ONAP vf_module_id: type: string label: vFirewall module ID @@ -105,26 +113,28 @@ parameters: 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 + description: Version number of the scripts that install the vLB/vDNS demo app demo_artifacts_version: type: string label: Artifacts version used in demo vnfs description: Artifacts (jar, tar.gz) version used in demo vnfs + nb_api_version: + type: string + label: Northbound API version + description: Version number of the health check and config APIs cloud_env: type: string label: Cloud environment description: Cloud environment (e.g., openstack, rackspace) + nexus_artifact_repo: + type: string + description: Root URL for the Nexus repository for Maven artifacts. + sec_group: + type: string + description: ONAP Security Group ############# # # @@ -134,63 +144,71 @@ parameters: resources: - random-str: + random-str_1: type: OS::Heat::RandomString properties: length: 4 - my_keypair: + my_keypair_1: type: OS::Nova::KeyPair properties: name: str_replace: - template: base_rand + template: vnfname_base_rand params: base: { get_param: key_name } - rand: { get_resource: random-str } + rand: { get_resource: random-str_1 } + vnfname: { get_param: vnf_name } public_key: { get_param: pub_key } save_private_key: false - vdns_2_private_0_port: + vdns_1_int_private_port_0: type: OS::Neutron::Port properties: - network: { get_param: vlb_private_net_id } - fixed_ips: [{"subnet": { get_param: vlb_private_net_id }, "ip_address": { get_param: vdns_private_ip_0 }}] + network: { get_param: int_private_net_id } + fixed_ips: [{"subnet": { get_param: int_private_subnet_id }, "ip_address": { get_param: vdns_int_private_ip_0 }}] + security_groups: + - { get_param: sec_group } - vdns_2_private_1_port: + vdns_1_onap_private_port_0: 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: vdns_private_ip_1 }}] + fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vdns_onap_private_ip_0 }}] + security_groups: + - { get_param: sec_group } - vdns_2: + vdns_server_1: type: OS::Nova::Server properties: - image: { get_param: vlb_image_name } - flavor: { get_param: vlb_flavor_name } + image: { get_param: vdns_image_name } + flavor: { get_param: vdns_flavor_name } name: { get_param: vdns_name_0 } - key_name: { get_resource: my_keypair } + key_name: { get_resource: my_keypair_1 } networks: - network: { get_param: public_net_id } - - port: { get_resource: vdns_2_private_0_port } - - port: { get_resource: vdns_2_private_1_port } - metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }} + - port: { get_resource: vdns_1_int_private_port_0 } + - port: { get_resource: vdns_1_onap_private_port_0 } + metadata: + vnf_id: { get_param: vnf_id } + vf_module_id: { get_param: vf_module_id } + vnf_name: { get_param: vnf_name } user_data_format: RAW user_data: str_replace: params: - __lb_oam_int__: { get_param: vlb_private_ip_1 } - __lb_private_ipaddr__: { get_param: vlb_private_ip_0 } - __lb_public_ipaddr__: { get_param: vlb_public_ip } - __local_private_ipaddr__: { get_param: vdns_private_ip_0 } - __oam_private_ipaddr__: { get_param: vdns_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 } + __lb_oam_int__: { get_param: vlb_onap_private_ip_0 } + __lb_private_ipaddr__: { get_param: vlb_int_private_ip_0 } + __lb_to_pktgen_if__: { get_param: vlb_int_pktgen_private_ip_0} + __local_private_ipaddr__: { get_param: vdns_int_private_ip_0 } + __oam_private_ipaddr__: { get_param: vdns_onap_private_ip_0 } + __nb_api_version__: { get_param: nb_api_version } __install_script_version__: { get_param: install_script_version } + __demo_artifacts_version__: { get_param: demo_artifacts_version } __vlb_private_net_cidr__: { get_param: vlb_private_net_cidr } __onap_private_net_cidr__: { get_param: onap_private_net_cidr } __cloud_env__: { get_param: cloud_env } + __nexus_artifact_repo__: { get_param: nexus_artifact_repo } template: | #!/bin/bash @@ -198,19 +216,23 @@ resources: mkdir /opt/config echo "__lb_oam_int__" > /opt/config/lb_oam_int.txt echo "__lb_private_ipaddr__" > /opt/config/lb_private_ipaddr.txt - echo "__lb_public_ipaddr__" > /opt/config/lb_public_ipaddr.txt + echo "__lb_to_pktgen_if__" > /opt/config/lb_to_pktgen_if.txt echo "__local_private_ipaddr__" > /opt/config/local_private_ipaddr.txt echo "__oam_private_ipaddr__" > /opt/config/oam_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 + echo "__nb_api_version__" > /opt/config/nb_api_version.txt echo "__install_script_version__" > /opt/config/install_script_version.txt + echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt echo "__vlb_private_net_cidr__" > /opt/config/vlb_private_net_cidr.txt echo "__onap_private_net_cidr__" > /opt/config/onap_private_net_cidr.txt echo "__cloud_env__" > /opt/config/cloud_env.txt + echo "__nexus_artifact_repo__" > /opt/config/nexus_artifact_repo.txt # Download and run install script - curl -k __repo_url_blob__/org.onap.demo/vnfs/vlb/__install_script_version__/v_dns_install.sh -o /opt/v_dns_install.sh + apt-get update + apt-get -y install unzip + if [[ "__install_script_version__" =~ "SNAPSHOT" ]]; then REPO=snapshots; else REPO=releases; fi + curl -k -L "__nexus_artifact_repo__/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo.vnf.vlbms&a=vlbms-scripts&e=zip&v=__install_script_version__" -o /opt/vlbms-scripts-__install_script_version__.zip + unzip -j /opt/vlbms-scripts-__install_script_version__.zip -d /opt v_dns_install.sh cd /opt chmod +x v_dns_install.sh - ./v_dns_install.sh \ No newline at end of file + ./v_dns_install.sh