File tree Expand file tree Collapse file tree 8 files changed +52
-2
lines changed Expand file tree Collapse file tree 8 files changed +52
-2
lines changed Original file line number Diff line number Diff line change @@ -104,11 +104,24 @@ Heat stack.
104
104
This is the default.
105
105
* ` Cluster::NodeNet1WithFIP ` : A single network with floating IP allocated
106
106
and associated with the port.
107
+ * ` Cluster::NodeNet1WithPreallocatedFIP ` : A single network with floating IP
108
+ (taken from a pre-allocated and supplied list) and associated with the port.
107
109
* ` Cluster::NodeNet2 ` : Two network interfaces. The first two networks listed
108
110
in ` cluster_net ` are used.
109
111
* ` Cluster::NodeNet3 ` : Three network interfaces. The first three networks listed
110
112
in ` cluster_net ` are used.
111
113
114
+ * ` router_networks ` : An optional list of IP subnet CIDRs that should be added as
115
+ permitted networks. This is needed if a port is associated with a gateway node that
116
+ is performing IP routing between subnets. These should match the format of ` allowed_address_pairs `
117
+ [ https://docs.openstack.org/heat/rocky/template_guide/openstack.html#OS::Neutron::Port-prop-allowed_address_pairs here] .
118
+ A simple, permissive configuration for ` router_networks ` would be:
119
+
120
+ ```
121
+ router_networks:
122
+ - ip_address: "0.0.0.0/0"
123
+ ```
124
+
112
125
` cluster_inventory ` : After deployment, an inventory file is generated,
113
126
which can be used in subsequent Ansible-driven configuration.
114
127
Original file line number Diff line number Diff line change @@ -42,6 +42,7 @@ parameters:
42
42
- " Cluster::NodeNet"
43
43
- " Cluster::NodeNet1"
44
44
- " Cluster::NodeNet1WithFIP"
45
+ - " Cluster::NodeNet1WithPreallocatedFIP"
45
46
- " Cluster::NodeNet2"
46
47
- " Cluster::NodeNet3"
47
48
group_idx :
@@ -75,6 +76,11 @@ conditions:
75
76
expression : $.data.cluster_group.containsKey('nodenet_fips')
76
77
data :
77
78
cluster_group : { get_param: [cluster_groups, {get_param: group_idx}] }
79
+ router_networks_set :
80
+ yaql :
81
+ expression : $.data.cluster_group.containsKey('router_networks')
82
+ data :
83
+ cluster_group : { get_param: [cluster_groups, {get_param: group_idx}] }
78
84
79
85
resources :
80
86
port_group :
@@ -94,6 +100,11 @@ resources:
94
100
- nodenet_fips_set
95
101
- { get_param: [cluster_groups, {get_param: group_idx}, nodenet_fips ] }
96
102
- []
103
+ router_networks :
104
+ if :
105
+ - router_networks_set
106
+ - { get_param: [cluster_groups, {get_param: group_idx}, router_networks ] }
107
+ - []
97
108
node_idx : " %index%"
98
109
99
110
node_group :
Original file line number Diff line number Diff line change @@ -16,6 +16,10 @@ parameters:
16
16
type : json
17
17
label : List of UUIDs of prealloacted floating IPs
18
18
default : []
19
+ router_networks :
20
+ type : json
21
+ label : Permit host to route IP traffic from specific networks through this port
22
+ default : []
19
23
20
24
conditions :
21
25
security_groups_set :
Original file line number Diff line number Diff line change @@ -16,6 +16,10 @@ parameters:
16
16
type : json
17
17
label : List of UUIDs of prealloacted floating IPs
18
18
default : []
19
+ router_networks :
20
+ type : json
21
+ label : Permit host to route IP traffic from specific networks through this port
22
+ default : []
19
23
20
24
conditions :
21
25
security_groups_set :
Original file line number Diff line number Diff line change @@ -19,6 +19,10 @@ parameters:
19
19
type : json
20
20
label : List of UUIDs of prealloacted floating IPs
21
21
default : []
22
+ router_networks :
23
+ type : json
24
+ label : Permit host to route IP traffic from specific networks through this port
25
+ default : []
22
26
23
27
conditions :
24
28
security_groups_set :
Original file line number Diff line number Diff line change @@ -19,6 +19,10 @@ parameters:
19
19
type : json
20
20
label : List of UUIDs of prealloacted floating IPs
21
21
default : []
22
+ router_networks :
23
+ type : json
24
+ label : Permit host to route IP traffic from specific networks through this port
25
+ default : []
22
26
23
27
conditions :
24
28
security_groups_set :
Original file line number Diff line number Diff line change 1
1
---
2
- heat_template_version : pike
2
+ heat_template_version : queens
3
3
4
4
description : >
5
5
Heat stack template for a stack containing one Neutron port which is on
@@ -16,6 +16,10 @@ parameters:
16
16
type : json
17
17
label : List of UUIDs of prealloacted floating IPs
18
18
default : []
19
+ router_networks :
20
+ type : json
21
+ label : Permit host to route IP traffic from specific networks through this port
22
+ default : []
19
23
20
24
conditions :
21
25
security_groups_set :
@@ -34,6 +38,7 @@ resources:
34
38
- security_groups_set
35
39
- { get_param: [ cluster_net, 0, security_groups ] }
36
40
- []
41
+ allowed_address_pairs : { get_param: router_networks }
37
42
fixed_ips :
38
43
- subnet_id : { get_param: [ cluster_net, 0, subnet ] }
39
44
Original file line number Diff line number Diff line change 1
1
---
2
- heat_template_version : pike
2
+ heat_template_version : queens
3
3
4
4
description : >
5
5
Heat stack template for a stack containing one Neutron port which is on
@@ -16,6 +16,10 @@ parameters:
16
16
cluster_net :
17
17
type : json
18
18
label : Network names and subnets to which the nodes should be attached
19
+ router_networks :
20
+ type : json
21
+ label : Permit host to route IP traffic from specific networks through this port
22
+ default : []
19
23
20
24
conditions :
21
25
security_groups_set :
@@ -34,6 +38,7 @@ resources:
34
38
- security_groups_set
35
39
- { get_param: [ cluster_net, 0, security_groups ] }
36
40
- []
41
+ allowed_address_pairs : { get_param: router_networks }
37
42
fixed_ips :
38
43
- subnet_id : { get_param: [ cluster_net, 0, subnet ] }
39
44
You can’t perform that action at this time.
0 commit comments