Skip to content

Commit 8d86d0d

Browse files
committed
Migrate from deprecated Neutron LBaaS API to LBaaSv2
1 parent 54dd01b commit 8d86d0d

File tree

6 files changed

+103
-14
lines changed

6 files changed

+103
-14
lines changed

loadbalancer_dedicated.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ parameters:
108108
constraints:
109109
- custom_constraint: neutron.subnet
110110

111+
member_count:
112+
type: number
113+
111114
members:
112115
type: comma_delimited_list
113116

loadbalancer_external.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ parameters:
110110
constraints:
111111
- custom_constraint: neutron.subnet
112112

113+
member_count:
114+
type: number
115+
113116
members:
114117
type: comma_delimited_list
115118

loadbalancer_neutron.yaml

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ parameters:
109109
constraints:
110110
- custom_constraint: neutron.subnet
111111

112+
member_count:
113+
type: number
114+
112115
members:
113116
type: comma_delimited_list
114117

@@ -169,38 +172,54 @@ parameters:
169172

170173
resources:
171174
lb:
172-
type: OS::Neutron::LoadBalancer
175+
type: OS::Neutron::LBaaS::LoadBalancer
176+
properties:
177+
vip_subnet: {get_param: fixed_subnet}
178+
179+
lb_listener:
180+
type: OS::Neutron::LBaaS::Listener
173181
properties:
182+
protocol: HTTPS
174183
protocol_port: 8443
175-
pool_id: {get_resource: lb_pool}
176-
members: {get_param: members}
184+
loadbalancer: {get_resource: lb}
177185

178186
lb_pool:
179-
type: OS::Neutron::Pool
187+
type: OS::Neutron::LBaaS::Pool
180188
properties:
181189
name: lb_pool
182190
description: Load balancer for OpenShift hosts.
183191
protocol: HTTPS
184-
subnet_id: {get_param: fixed_subnet}
185-
lb_method: ROUND_ROBIN
186-
monitors: [{get_resource: lb_monitor}]
187-
vip:
188-
protocol_port: 8443
189-
session_persistence:
190-
type: SOURCE_IP
192+
listener: {get_resource: lb_listener}
193+
lb_algorithm: ROUND_ROBIN
194+
session_persistence:
195+
type: SOURCE_IP
196+
197+
lb_members:
198+
type: OS::Heat::ResourceGroup
199+
properties:
200+
count: {get_param: member_count}
201+
resource_def:
202+
type: loadbalancer_neutron_member.yaml
203+
properties:
204+
addresses: {get_param: members}
205+
index: "%index%"
206+
pool: {get_resource: lb_pool}
207+
protocol_port: 8443
208+
subnet: {get_param: fixed_subnet}
191209

192210
lb_monitor:
193-
type: OS::Neutron::HealthMonitor
211+
type: OS::Neutron::LBaaS::HealthMonitor
194212
properties:
195213
type: TCP
196214
delay: 15
197215
max_retries: 5
198216
timeout: 10
217+
pool: {get_resource: lb_pool}
199218

200219
floating_ip_assoc:
201220
type: OS::Neutron::FloatingIPAssociation
202221
properties:
203-
port_id: {get_attr: [lb_pool, vip, port_id]}
222+
port_id: {get_attr: [lb, vip_port_id]}
204223
floatingip_id: {get_param: floatingip_id}
205224

206225
outputs:

loadbalancer_neutron_member.yaml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
heat_template_version: 2016-10-14
2+
3+
description: >
4+
A template which provides a neutron’s LBaaS loadbalancer member
5+
6+
parameters:
7+
8+
addresses:
9+
type: comma_delimited_list
10+
11+
index:
12+
type: number
13+
14+
pool:
15+
type: string
16+
constraints:
17+
- custom_constraint: neutron.lbaas.pool
18+
19+
protocol_port:
20+
type: number
21+
constraints:
22+
- range:
23+
min: 1
24+
max: 65535
25+
26+
subnet:
27+
type: string
28+
constraints:
29+
- custom_constraint: neutron.subnet
30+
31+
weight:
32+
type: number
33+
constraints:
34+
- range:
35+
min: 0
36+
max: 256
37+
default: 1
38+
39+
resources:
40+
lb_member:
41+
type: OS::Neutron::LBaaS::PoolMember
42+
properties:
43+
address: {get_param: [addresses, {get_param: index}]}
44+
pool: {get_param: pool}
45+
protocol_port: {get_param: protocol_port}
46+
subnet: {get_param: subnet}
47+
weight: {get_param: weight}
48+
49+
outputs:
50+
address:
51+
description: The IP address of the pool member
52+
value: {get_attr: [lb_member, address]}
53+
54+
pool_id:
55+
description: The ID of the pool to which the pool member belongs
56+
value: {get_attr: [lb_member, pool_id]}
57+
58+
show:
59+
description: Detailed information about resource
60+
value: {get_attr: [lb_member, show]}

loadbalancer_none.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ parameters:
106106
constraints:
107107
- custom_constraint: neutron.subnet
108108

109+
member_count:
110+
type: number
111+
109112
members:
110113
type: comma_delimited_list
111114

openshift.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1012,7 +1012,8 @@ resources:
10121012
stack_name: {get_param: 'OS::stack_name'}
10131013
ansible_public_key: {get_attr: [ansible_keys, public_key]}
10141014
fixed_subnet: {get_resource: fixed_subnet}
1015-
members: {get_attr: [openshift_masters, host]}
1015+
member_count: {get_param: master_count}
1016+
members: {get_attr: [openshift_masters, ip_address]}
10161017
master_hostname: {get_attr: [openshift_masters, resource.0.hostname]}
10171018
floatingip_id: {get_resource: lb_floating_ip}
10181019
floatingip: {get_attr: [lb_floating_ip, floating_ip_address]}

0 commit comments

Comments
 (0)