Adding Security gateway testing
[samplevnf.git] / VNFs / DPPD-PROX / helper-scripts / openstackrapid / rapid.yaml
1 ##
2 ## Copyright (c) 2010-2017 Intel Corporation
3 ##
4 ## Licensed under the Apache License, Version 2.0 (the "License");
5 ## you may not use this file except in compliance with the License.
6 ## You may obtain a copy of the License at
7 ##
8 ##     http://www.apache.org/licenses/LICENSE-2.0
9 ##
10 ## Unless required by applicable law or agreed to in writing, software
11 ## distributed under the License is distributed on an "AS IS" BASIS,
12 ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ## See the License for the specific language governing permissions and
14 ## limitations under the License.
15 ##
16
17 heat_template_version: 2016-04-08
18 description: RAPID stack (Rapid Automated Performance Indication for Dataplane)
19 parameters:
20   image:
21     type: string
22     label: Image name or ID
23     description: Image to be used for compute instance
24     default: RapidVM
25   flavor:
26     type: string
27     label: Flavor
28     description: Type of instance (flavor) to be used
29     default: prox_flavor
30   key:
31     type: string
32     label: Key name
33     description: Name of key-pair to be used for compute instance
34     default: prox
35   dataplane_network:
36     type: string
37     label: Private network name or ID
38     description: Network to attach instance to.
39     default: dataplane-network
40   internal_network:
41     type: string
42     label: Private network name or ID
43     description: Network to attach instance to.
44     default: admin_internal_net
45   floating_network:
46     type: string
47     label: Floating network name or ID
48     description: Public Network to attach instance to.
49     default: admin_floating_net
50   availability_zone:
51     type: string
52     description: The Availability Zone to launch the instance.
53     default: nova
54
55 resources:
56   vm1_admin_port:
57      type: OS::Neutron::Port
58      properties:
59        network: {get_param: internal_network}
60        security_groups:
61          - default
62   vm1_dataplane_port:
63      type: OS::Neutron::Port
64      properties:
65        network: {get_param: dataplane_network}
66        security_groups:
67          - default
68   vm1_floating_ip:
69      type: OS::Neutron::FloatingIP
70      properties:
71        floating_network: {get_param: floating_network}
72        port_id: {get_resource: vm1_admin_port}
73   vm1:
74     type: OS::Nova::Server
75     properties:
76       availability_zone: { get_param: availability_zone }
77       user_data:
78         get_file: prox_user_data.sh
79       key_name: { get_param: key }
80       image: { get_param: image }
81       flavor: { get_param: flavor }
82       networks:
83         - port: {get_resource: vm1_admin_port}
84         - port: {get_resource: vm1_dataplane_port}
85   vm2_admin_port:
86      type: OS::Neutron::Port
87      properties:
88        network: {get_param: internal_network}
89        security_groups:
90          - default
91   vm2_dataplane_port:
92      type: OS::Neutron::Port
93      properties:
94        network: {get_param: dataplane_network}
95        security_groups:
96          - default
97   vm2_floating_ip:
98      type: OS::Neutron::FloatingIP
99      properties:
100        floating_network: {get_param: floating_network}
101        port_id: {get_resource: vm2_admin_port}
102   vm2:
103     type: OS::Nova::Server
104     properties:
105       availability_zone: { get_param: availability_zone }
106       user_data:
107         get_file: prox_user_data.sh
108       key_name: { get_param: key }
109       image: { get_param: image }
110       flavor: { get_param: flavor }
111       networks:
112         - port: {get_resource: vm2_admin_port}
113         - port: {get_resource: vm2_dataplane_port}
114 #  vm3_admin_port:
115 #     type: OS::Neutron::Port
116 #     properties:
117 #       network: {get_param: internal_network}
118 #       security_groups:
119 #         - default
120 #  vm3_dataplane_port:
121 #     type: OS::Neutron::Port
122 #     properties:
123 #       network: {get_param: dataplane_network}
124 #       security_groups:
125 #         - default
126 #  vm3_floating_ip:
127 #     type: OS::Neutron::FloatingIP
128 #     properties:
129 #       floating_network: {get_param: floating_network}
130 #       port_id: {get_resource: vm3_admin_port}
131 #  vm3:
132 #    type: OS::Nova::Server
133 #    properties:
134 #      availability_zone: { get_param: availability_zone }
135 #      user_data:
136 #        get_file: prox_user_data.sh
137 #      key_name: { get_param: key }
138 #      image: { get_param: image }
139 #      flavor: { get_param: flavor }
140 #      networks:
141 #        - port: {get_resource: vm3_admin_port}
142 #        - port: {get_resource: vm3_dataplane_port}
143
144 outputs:
145   total_number_of_VMs:
146     description: Number of VMs created by this stack
147     value: 2
148   vm1_private_ip:
149     description: IP address ofVM1 admin port
150     value: { get_attr: [vm1_admin_port, fixed_ips, 0, ip_address] }
151   vm1_public_ip:
152     description: Floating IP address of VM1 in public network
153     value: { get_attr: [ vm1_floating_ip, floating_ip_address ] }
154   vm1_dataplane_ip:
155     description: IP address of VM1 dataplane port
156     value: { get_attr: [vm1_dataplane_port, fixed_ips, 0, ip_address] }
157   vm1_dataplane_mac:
158     description: The MAC address of VM1 dataplane port
159     value: { get_attr: [vm1_dataplane_port, mac_address] }
160   vm2_private_ip:
161     description: IP address of the VM2 admin port
162     value: { get_attr: [vm2_admin_port, fixed_ips, 0, ip_address] }
163   vm2_public_ip:
164     description: Floating IP address of VM2 in public network
165     value: { get_attr: [ vm2_floating_ip, floating_ip_address ] }
166   vm2_dataplane_ip:
167     description: IP address of VM2 dataplane port
168     value: { get_attr: [vm2_dataplane_port, fixed_ips, 0, ip_address] }
169   vm2_dataplane_mac:
170     description: The MAC address of VM2 dataplane port
171     value: { get_attr: [vm2_dataplane_port, mac_address] }
172 #  vm3_private_ip:
173 #    description: IP address of the VM3 admin port
174 #    value: { get_attr: [vm3_admin_port, fixed_ips, 0, ip_address] }
175 #  vm3_public_ip:
176 #    description: Floating IP address of VM3 in public network
177 #    value: { get_attr: [ vm3_floating_ip, floating_ip_address ] }
178 #  vm3_dataplane_ip:
179 #    description: IP address of VM3 dataplane port
180 #    value: { get_attr: [vm3_dataplane_port, fixed_ips, 0, ip_address] }
181 #  vm3_dataplane_mac:
182 #    description: The MAC address of VM3 dataplane port
183 #    value: { get_attr: [vm3_dataplane_port, mac_address] }