Adding PROX(Packet pROcessing eXecution engine) VNF to sampleVNF
[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   dpdk_network:
36     type: string
37     label: Private network name or ID
38     description: Network to attach instance to.
39     default: dpdk-network
40   private_network:
41     type: string
42     label: Private network name or ID
43     description: Network to attach instance to.
44     default: admin_internal_net
45   availability_zone:
46     type: string
47     description: The Availability Zone to launch the instance.
48     default: nova
49
50 resources:
51   sut:
52     type: OS::Nova::Server
53     properties:
54       availability_zone: { get_param: availability_zone }
55       user_data:
56         get_file: prox_sut_user_data.sh
57       key_name: { get_param: key }
58       image: { get_param: image }
59       flavor: { get_param: flavor }
60       networks:
61         - network: { get_param: private_network }
62         - network: { get_param: dpdk_network }
63   gen:
64     type: OS::Nova::Server
65     properties:
66       availability_zone: { get_param: availability_zone }
67       user_data:
68         get_file: prox_gen_user_data.sh
69       key_name: { get_param: key }
70       image: { get_param: image }
71       flavor: { get_param: flavor }
72       networks:
73         - network: { get_param: private_network }
74         - network: { get_param: dpdk_network }
75
76   sut_floating_ip:
77     type: OS::Nova::FloatingIP
78     properties:
79       pool: admin_floating_net
80
81   gen_floating_ip:
82     type: OS::Nova::FloatingIP
83     properties:
84       pool: admin_floating_net
85
86   sut_association:
87     type: OS::Nova::FloatingIPAssociation
88     properties:
89       floating_ip: { get_resource: sut_floating_ip }
90       server_id: { get_resource: sut }
91
92   gen_association:
93     type: OS::Nova::FloatingIPAssociation
94     properties:
95       floating_ip: { get_resource: gen_floating_ip }
96       server_id: { get_resource: gen }
97
98 outputs:
99   sut_ip:
100     description: IP address of the instance
101     value: { get_attr: [sut, first_address] }
102   gen_ip:
103     description: IP address of the instance
104     value: { get_attr: [gen, first_address] }
105