blob: 1437206fbf4226eaf8607ff239126a97c456a00f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
##########################################################################
#
#==================LICENSE_START==========================================
#
#
# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
#
# 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.
#
#==================LICENSE_END============================================
#
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
#
##########################################################################
heat_template_version: 2013-05-23
description: Heat template that deploys common resources
##############
# #
# PARAMETERS #
# #
##############
parameters:
vlb_private_net_id:
type: string
label: vLoadBalancer private network name or ID
description: Private network that connects vLoadBalancer with vDNSs
pktgen_private_net_id:
type: string
label: vPacketGen private network name or ID
description: Private network that connects vLoadBalancer with vPacketGen
vlb_private_net_cidr:
type: string
label: vLoadBalancer private network CIDR
description: The CIDR of the vLoadBalancer private network
pktgen_private_net_cidr:
type: string
label: vPacketGen private network CIDR
description: The CIDR of the vPacketGen private network
vnf_id:
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
vlb_0_int_pktgen_private_port_0_mac:
type: string
label: vLB MAC address
description: MAC address of the vLB used by the vPacketGen VM
vpg_0_int_pktgen_private_port_0_mac:
type: string
label: vPacketGen MAC address
description: MAC address of the vPacketGen used by the vLB VM
key_name:
type: string
label: Key pair name
description: Public/Private key pair name
pub_key:
type: string
label: Public key
description: Public key to be installed on the compute instance
#############
# #
# RESOURCES #
# #
#############
resources:
random-str_0:
type: OS::Heat::RandomString
properties:
length: 4
my_keypair_0:
type: OS::Nova::KeyPair
properties:
name:
str_replace:
template: vnfname_base_rand
params:
base: { get_param: key_name }
rand: { get_resource: random-str_0 }
vnfname: { get_param: vnf_name }
public_key: { get_param: pub_key }
save_private_key: false
# NETWORK_ROLE: private
int_private_network:
type: OS::Neutron::Net
properties:
name:
str_replace:
template: vnfname_privatenetid
params:
privatenetid: { get_param: vlb_private_net_id }
vnfname: { get_param: vnf_name }
# NETWORK_ROLE: private
int_private_subnet_0:
type: OS::Neutron::Subnet
properties:
name:
str_replace:
template: vnfname_privatenetid_subnet
params:
privatenetid: { get_param: vlb_private_net_id }
vnfname: { get_param: vnf_name }
network: { get_resource: int_private_network }
cidr: { get_param: vlb_private_net_cidr }
# NETWORK_ROLE: pktgen_private
int_pktgen_private_network:
type: OS::Neutron::Net
properties:
name:
str_replace:
template: vnfname_privatenetid
params:
privatenetid: { get_param: pktgen_private_net_id }
vnfname: { get_param: vnf_name }
# NETWORK_ROLE: pktgen_private
int_pktgen_private_subnet_0:
type: OS::Neutron::Subnet
properties:
name:
str_replace:
template: vnfname_privatenetid_subnet
params:
privatenetid: { get_param: pktgen_private_net_id }
vnfname: { get_param: vnf_name }
network: { get_resource: int_pktgen_private_network }
cidr: { get_param: pktgen_private_net_cidr }
outputs:
int_private_subnet_id:
value: { get_resource: int_private_subnet_0 }
int_private_net_id:
value: { get_resource: int_private_network }
int_pktgen_private_subnet_id:
value: { get_resource: int_pktgen_private_subnet_0 }
int_pktgen_private_net_id:
value: { get_resource: int_pktgen_private_network }
keypair:
value: { get_resource: my_keypair_0 }
vnf_id:
value: { get_param: vnf_id }
vnf_name:
value: { get_param: vnf_name }
vlb_0_mac_address:
value: { get_param: vlb_0_int_pktgen_private_port_0_mac }
vpg_0_mac_address:
value: { get_param: vpg_0_int_pktgen_private_port_0_mac }
|