## ## 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_sriov_port: type: string description: The sriov port to be used by VM1 default: Port1 vm2_sriov_port: type: string description: The sriov port to be used by VM2 default: Port2 # vm3_sriov_port: # type: string # description: The sriov port to be used by VM3 # default: Port3 resources: vm1_admin_port: type: OS::Neutron::Port properties: network: {get_param: internal_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: 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_param: vm1_sriov_port} vm2_admin_port: type: OS::Neutron::Port properties: network: {get_param: internal_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_param: vm2_sriov_port} # vm3_admin_port: # type: OS::Neutron::Port # properties: # network: {get_param: internal_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_param: vm3_sriov_port} outputs: total_number_of_VMs: description: Number of VMs created by this stack value: 2 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, networks,{get_param: dataplane_network},0] } vm1_dataplane_mac: description: The MAC address of VM1 dataplane port value: { get_attr: [vm1, addresses, {get_param: dataplane_network}] } vm2_private_ip: description: IP address of 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, networks,{get_param: dataplane_network},0] } vm2_dataplane_mac: description: The MAC address of VM2 dataplane port value: { get_attr: [vm2, addresses, {get_param: dataplane_network}]} # vm3_private_ip: # description: IP address of 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, networks,{get_param: dataplane_network},0] } # vm3_dataplane_mac: # description: The MAC address of VM3 dataplane port # value: { get_attr: [vm3, addresses, {get_param: dataplane_network}]}