## ## Copyright (c) 2010-2017 Intel Corporation ## ## 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. ## heat_template_version: 2016-04-08 description: RAPID stack (Rapid Automated Performance Indication for Dataplane) parameters: image: type: string label: Image name or ID description: Image to be used for compute instance default: RapidVM flavor: type: string label: Flavor description: Type of instance (flavor) to be used default: prox_flavor key: type: string label: Key name description: Name of key-pair to be used for compute instance default: prox dataplane_network: type: string label: Private network name or ID description: Network to attach instance to. default: dataplane-network internal_network: type: string label: Private network name or ID description: Network to attach instance to. default: admin_internal_net floating_network: type: string label: Floating network name or ID description: Public Network to attach instance to. default: admin_floating_net availability_zone: type: string description: The Availability Zone to launch the instance. default: nova vm1_availability_zone: type: string description: The Availability Zone to launch the instance. default: nova resources: vm1_admin_port: type: OS::Neutron::Port properties: network: {get_param: internal_network} security_groups: - default vm1_dataplane_port: type: OS::Neutron::Port properties: network: {get_param: dataplane_network} security_groups: - default vm1_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: {get_param: floating_network} port_id: {get_resource: vm1_admin_port} vm1: type: OS::Nova::Server properties: availability_zone: { get_param: vm1_availability_zone } user_data: get_file: prox_user_data.sh key_name: { get_param: key } image: { get_param: image } flavor: { get_param: flavor } networks: - port: {get_resource: vm1_admin_port} - port: {get_resource: vm1_dataplane_port} vm2_admin_port: type: OS::Neutron::Port properties: network: {get_param: internal_network} security_groups: - default vm2_dataplane_port: type: OS::Neutron::Port properties: network: {get_param: dataplane_network} security_groups: - default vm2_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: {get_param: floating_network} port_id: {get_resource: vm2_admin_port} vm2: type: OS::Nova::Server properties: availability_zone: { get_param: availability_zone } user_data: get_file: prox_user_data.sh key_name: { get_param: key } image: { get_param: image } flavor: { get_param: flavor } networks: - port: {get_resource: vm2_admin_port} - port: {get_resource: vm2_dataplane_port} vm3_admin_port: type: OS::Neutron::Port properties: network: {get_param: internal_network} security_groups: - default vm3_dataplane_port: type: OS::Neutron::Port properties: network: {get_param: dataplane_network} security_groups: - default vm3_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: {get_param: floating_network} port_id: {get_resource: vm3_admin_port} vm3: type: OS::Nova::Server properties: availability_zone: { get_param: availability_zone } user_data: get_file: prox_user_data.sh key_name: { get_param: key } image: { get_param: image } flavor: { get_param: flavor } networks: - port: {get_resource: vm3_admin_port} - port: {get_resource: vm3_dataplane_port} outputs: total_number_of_VMs: description: Number of VMs created by this stack value: 3 vm1_private_ip: description: IP address of VM1 admin port value: { get_attr: [vm1_admin_port, fixed_ips, 0, ip_address] } vm1_public_ip: description: Floating IP address of VM1 in public network value: { get_attr: [ vm1_floating_ip, floating_ip_address ] } vm1_dataplane_ip: description: IP address of VM1 dataplane port value: { get_attr: [vm1_dataplane_port, fixed_ips, 0, ip_address] } vm1_dataplane_mac: description: The MAC address of VM1 dataplane port value: { get_attr: [vm1_dataplane_port, mac_address] } vm2_private_ip: description: IP address of the VM2 admin port value: { get_attr: [vm2_admin_port, fixed_ips, 0, ip_address] } vm2_public_ip: description: Floating IP address of VM2 in public network value: { get_attr: [ vm2_floating_ip, floating_ip_address ] } vm2_dataplane_ip: description: IP address of VM2 dataplane port value: { get_attr: [vm2_dataplane_port, fixed_ips, 0, ip_address] } vm2_dataplane_mac: description: The MAC address of VM2 dataplane port value: { get_attr: [vm2_dataplane_port, mac_address] } vm3_private_ip: description: IP address of the VM3 admin port value: { get_attr: [vm3_admin_port, fixed_ips, 0, ip_address] } vm3_public_ip: description: Floating IP address of VM3 in public network value: { get_attr: [ vm3_floating_ip, floating_ip_address ] } vm3_dataplane_ip: description: IP address of VM3 dataplane port value: { get_attr: [vm3_dataplane_port, fixed_ips, 0, ip_address] } vm3_dataplane_mac: description: The MAC address of VM3 dataplane port value: { get_attr: [vm3_dataplane_port, mac_address] }