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
|
heat_template_version: 2013-05-23
description: heat template that creates PCRF Policy Server stack
parameters:
pcrf_pps_server_names:
type: comma_delimited_list
label: PCRF PS server names
description: PCRF PS server names
pcrf_pps_image_name:
type: string
label: PCRF PS image name
description: PCRF PS image name
pcrf_pps_flavor_name:
type: string
label: PCRF PS flavor name
description: flavor name of PCRF PS instance
availabilityzone_name:
type: string
label: availabilityzone name
description: availabilityzone name
pcrf_cps_net_name:
type: string
label: CPS network name
description: CPS network name
pcrf_cps_net_ips:
type: comma_delimited_list
label: CPS network ips
description: CPS network ips
pcrf_cps_net_mask:
type: string
label: CPS network mask
description: CPS network mask
pcrf_security_group_name:
type: string
label: security group name
description: the name of security group
pcrf_vnf_id:
type: string
label: PCRF VNF Id
description: PCRF VNF Id
resources:
server_pcrf_pps_001:
type: nested-pps_v1.0.yaml
properties:
pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 0] }
pcrf_pps_image_name: { get_param: pcrf_pps_image_name }
pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name }
availabilityzone_name: { get_param: availabilityzone_name }
pcrf_security_group_name: { get_param: pcrf_security_group_name }
pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] }
pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
pcrf_vnf_id: {get_param: pcrf_vnf_id}
server_pcrf_pps_002:
type: nested-pps_v1.0.yaml
properties:
pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 1] }
pcrf_pps_image_name: { get_param: pcrf_pps_image_name }
pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name }
availabilityzone_name: { get_param: availabilityzone_name }
pcrf_security_group_name: { get_param: pcrf_security_group_name }
pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] }
pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
pcrf_vnf_id: {get_param: pcrf_vnf_id}
server_pcrf_pps_003:
type: nested-pps_v1.0.yaml
properties:
pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 2] }
pcrf_pps_image_name: { get_param: pcrf_pps_image_name }
pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name }
availabilityzone_name: { get_param: availabilityzone_name }
pcrf_security_group_name: { get_param: pcrf_security_group_name }
pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] }
pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
pcrf_vnf_id: {get_param: pcrf_vnf_id}
server_pcrf_pps_004:
type: nested-pps_v1.0.yaml
properties:
pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 3] }
pcrf_pps_image_name: { get_param: pcrf_pps_image_name }
pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name }
availabilityzone_name: { get_param: availabilityzone_name }
pcrf_security_group_name: { get_param: pcrf_security_group_name }
pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] }
pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
pcrf_vnf_id: {get_param: pcrf_vnf_id}
server_pcrf_pps_005:
type: nested-pps_v1.0.yaml
properties:
pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 4] }
pcrf_pps_image_name: { get_param: pcrf_pps_image_name }
pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name }
availabilityzone_name: { get_param: availabilityzone_name }
pcrf_security_group_name: { get_param: pcrf_security_group_name }
pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] }
pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
pcrf_vnf_id: {get_param: pcrf_vnf_id}
server_pcrf_pps_006:
type: nested-pps_v1.0.yaml
properties:
pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 5] }
pcrf_pps_image_name: { get_param: pcrf_pps_image_name }
pcrf_pps_flavor_name: { get_param: pcrf_pps_flavor_name }
availabilityzone_name: { get_param: availabilityzone_name }
pcrf_security_group_name: { get_param: pcrf_security_group_name }
pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] }
pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
pcrf_vnf_id: {get_param: pcrf_vnf_id}
nova_server:
type: OS::Nova::Server
properties:
pcrf_pps_server_name: { get_param: [pcrf_pps_server_names, 5] }
image: { get_param: pcrf_pps_image_name }
flavor: { get_param: pcrf_pps_flavor_name }
availabilityzone_name: { get_param: availabilityzone_name }
pcrf_security_group_name: { get_param: pcrf_security_group_name }
pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] }
pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
pcrf_vnf_id: {get_param: pcrf_vnf_id}
scheduler_hints: { group_1: { get_resource: BE_Affinity_1 }, group_2: { get_resource: BE_Affinity_2 } }
BE_Affinity_1:
type: OS::Nova::ServerGroup
properties:
network: { get_param: pcrf_pps_server_names }
BE_Affinity_2:
type: OS::Nova::ServerGroup
properties:
network: { get_param: pcrf_pps_server_names }
|