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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
|
heat_template_version: 2013-05-23
description: nested1
parameters:
p1:
type: string
description: UID of osm network
p2:
type: string
description: UID of osm network
security_group_name:
type: comma_delimited_list
description: BE1, BE2 server names
BE_1c1_names:
type: comma_delimited_list
description: BE1, BE2 server names
BE_1c1_image:
type: string
description: Image for BE server
availability_zone_0:
type: string
label: availabilityzone name
description: availabilityzone name
BE_1c1_flavor:
type: string
description: Flavor for BE server
osm_server_1c2_names:
type: comma_delimited_list
description: BE1, BE2 server names
osm_server_1c2_image:
type: string
description: Image for BE server
osm_server_1c2_flavor:
type: string
description: Flavor for BE server
BE_osm_ips:
type: string
packet_internal_network_name:
type: string
packet_external_network_name:
type: string
net:
type: string
rd_server_1b_names:
type: comma_delimited_list
description: PD server names
rd_server_1b_image:
type: string
description: PD Image server
ps_server_1b_names:
type: comma_delimited_list
description: Ps server names
ps_server_1b_image:
type: string
description: Ps Image server
rd_server_1b_flavor:
type: string
description: Flavor for PD server
ps_server_1b_flavor:
type: string
description: Flavor for PS server
rd_server_1b_ips:
type: string
ps_server_1b_ips:
type: string
resources:
rd_server_1b_port:
type: OS::Neutron::Port
properties:
network: { get_param: net }
fixed_ips: [{"ip_address": {get_param: [rd_server_1b_ips, 0]}}]
replacement_policy: AUTO
ps_server_1b_port:
type: OS::Neutron::Port
properties:
network: { get_param: net }
fixed_ips: [{"ip_address": {get_param: [ps_server_1b_ips, 0]}}]
replacement_policy: AUTO
server_1b_rd_1:
type: OS::Nova::Server
properties:
name: { get_param: [rd_server_1b_names, 0]}
image: { get_param: rd_server_1b_image }
availability_zone: { get_param: availability_zone_0 }
flavor: { get_param: rd_server_1b_flavor }
networks:
- port: { get_resource: rd_server_1b_port }
server_1b_rd_2:
type: OS::Nova::Server
properties:
name: { get_param: [rd_server_1b_names, 1]}
image: { get_param: rd_server_1b_image }
availability_zone: { get_param: availability_zone_0 }
flavor: { get_param: rd_server_1b_flavor }
networks:
- port: { get_resource: ps_server_1b_port }
BE_port_1:
type: OS::Neutron::Port
properties:
network: {get_resource: packet_internal_network_2}
fixed_ips: [{"ip_address": {get_param: [BE_osm_ips, 0]}}]
replacement_policy: AUTO
BE_port_2:
type: OS::Neutron::Port
properties:
network: {get_resource: packet_internal_network_2}
fixed_ips: [{"ip_address": {get_param: [BE_osm_ips, 0]}}]
replacement_policy: AUTO
server_1c1_BE_1:
type: OS::Nova::Server
properties:
name: { get_param: [BE_1c1_names, 0]}
image: { get_param: BE_1c1_image }
availability_zone: { get_param: availability_zone_0 }
flavor: { get_param: BE_1c1_flavor }
networks:
- port: { get_resource: BE_port_1 }
server_1c1_BE_2:
type: OS::Nova::Server
properties:
name: { get_param: [BE_1c1_names, 1]}
image: { get_param: BE_1c1_image }
availability_zone: { get_param: availability_zone_0 }
flavor: { get_param: BE_1c1_flavor }
networks:
- port: { get_resource: BE_port_2 }
osm_port_1:
type: OS::Neutron::Port
properties:
network: {get_resource: packet_internal_network_2}
fixed_ips: [{"ip_address": {get_param: [BE_osm_ips, 1]}}]
replacement_policy: AUTO
osm_port_2:
type: OS::Neutron::Port
properties:
network: {get_resource: packet_external_network_2}
fixed_ips: [{"ip_address": {get_param: [BE_osm_ips, 1]}}]
replacement_policy: AUTO
server_1c2_osm_1:
type: OS::Nova::Server
properties:
name: { get_param: [osm_server_1c2_names, 0]}
image: { get_param: osm_server_1c2_image }
availability_zone: { get_param: availability_zone_0 }
flavor: { get_param: osm_server_1c2_flavor }
networks:
- port: { get_resource: osm_port_1 }
server_1c2_osm_2:
type: OS::Nova::Server
properties:
name: { get_param: [osm_server_1c2_names, 1]}
image: { get_param: osm_server_1c2_image }
availability_zone: { get_param: availability_zone_0 }
flavor: { get_param: osm_server_1c2_flavor }
networks:
- port: { get_resource: osm_port_2 }
metadata: {
connectivity_to_rd_server_1b: {get_attr: [server_1b_rd_1, accessIPv4]},
connectivity_to_server_1c1_BE_1: {get_attr: [server_1c1_BE_1, accessIPv4]},
connectivity_to_server_1c1_BE_2: {get_attr: [server_1c1_BE_2, accessIPv4]},
connectivity_to_pattern_4: {get_attr: [nested2_pattern_4, pattern4_attr_1]}
}
nested2_pattern_4:
type: nested-pattern-4.yml
properties:
p2: {get_param: p2}
packet_internal_network_2:
type: OS::Neutron::Net
properties:
name:
get_param: packet_internal_network_name
packet_external_network_2:
type: OS::Neutron::Net
properties:
name:
get_param: packet_external_network_name
outputs:
all_pattern_attr_1:
description: all_pattern_attr_1
value: { get_attr: [server_1c2_osm_2, accessIPv4] }
|