Browse code

Let neutron use default gateway IP for subnets

By default, FIXED_RANGE and NETWORK_GATEWAY (and the
IPv6 equivalents) are in the same subnet. But if
FIXED_RANGE is over-ridden in local.conf we could
create a subnet with an invalid gateway address.

Since neutron will pick the lowest host IP as the
gateway by default, do not specify them unless the
user has specifically set them.

Do this for both the private and public subnets, as
well as the public IPv4 subnet.

Change-Id: Ifc71400a3af1f131bb8a9722188e13de5bd3c806

Brian Haley authored on 2016/08/23 04:39:22
Showing 1 changed files
... ...
@@ -63,14 +63,14 @@ IPV6_ADDRESS_MODE=${IPV6_ADDRESS_MODE:-slaac}
63 63
 IPV6_PUBLIC_SUBNET_NAME=${IPV6_PUBLIC_SUBNET_NAME:-ipv6-public-subnet}
64 64
 IPV6_PRIVATE_SUBNET_NAME=${IPV6_PRIVATE_SUBNET_NAME:-ipv6-private-subnet}
65 65
 FIXED_RANGE_V6=${FIXED_RANGE_V6:-fd$IPV6_GLOBAL_ID::/64}
66
-IPV6_PRIVATE_NETWORK_GATEWAY=${IPV6_PRIVATE_NETWORK_GATEWAY:-fd$IPV6_GLOBAL_ID::1}
66
+IPV6_PRIVATE_NETWORK_GATEWAY=${IPV6_PRIVATE_NETWORK_GATEWAY:-}
67 67
 IPV6_PUBLIC_RANGE=${IPV6_PUBLIC_RANGE:-2001:db8::/64}
68 68
 IPV6_PUBLIC_NETWORK_GATEWAY=${IPV6_PUBLIC_NETWORK_GATEWAY:-2001:db8::2}
69 69
 IPV6_ROUTER_GW_IP=${IPV6_ROUTER_GW_IP:-2001:db8::1}
70 70
 
71 71
 # Gateway and subnet defaults, in case they are not customized in localrc
72
-NETWORK_GATEWAY=${NETWORK_GATEWAY:-10.0.0.1}
73
-PUBLIC_NETWORK_GATEWAY=${PUBLIC_NETWORK_GATEWAY:-172.24.4.1}
72
+NETWORK_GATEWAY=${NETWORK_GATEWAY:-}
73
+PUBLIC_NETWORK_GATEWAY=${PUBLIC_NETWORK_GATEWAY:-}
74 74
 PRIVATE_SUBNET_NAME=${PRIVATE_SUBNET_NAME:-"private-subnet"}
75 75
 PUBLIC_SUBNET_NAME=${PUBLIC_SUBNET_NAME:-"public-subnet"}
76 76
 
... ...
@@ -234,7 +234,9 @@ function _neutron_create_private_subnet_v4 {
234 234
     local project_id=$1
235 235
     local subnet_params="--tenant-id $project_id "
236 236
     subnet_params+="--ip_version 4 "
237
-    subnet_params+="--gateway $NETWORK_GATEWAY "
237
+    if [[ -n "$NETWORK_GATEWAY" ]]; then
238
+        subnet_params+="--gateway $NETWORK_GATEWAY "
239
+    fi
238 240
     subnet_params+="--name $PRIVATE_SUBNET_NAME "
239 241
     subnet_params+="$NET_ID $FIXED_RANGE"
240 242
     local subnet_id
... ...
@@ -251,7 +253,9 @@ function _neutron_create_private_subnet_v6 {
251 251
     local ipv6_modes="--ipv6-ra-mode $IPV6_RA_MODE --ipv6-address-mode $IPV6_ADDRESS_MODE"
252 252
     local subnet_params="--tenant-id $project_id "
253 253
     subnet_params+="--ip_version 6 "
254
-    subnet_params+="--gateway $IPV6_PRIVATE_NETWORK_GATEWAY "
254
+    if [[ -n "$IPV6_PRIVATE_NETWORK_GATEWAY" ]]; then
255
+        subnet_params+="--gateway $IPV6_PRIVATE_NETWORK_GATEWAY "
256
+    fi
255 257
     subnet_params+="--name $IPV6_PRIVATE_SUBNET_NAME "
256 258
     subnet_params+="$NET_ID $FIXED_RANGE_V6 $ipv6_modes"
257 259
     local ipv6_subnet_id
... ...
@@ -262,9 +266,11 @@ function _neutron_create_private_subnet_v6 {
262 262
 
263 263
 # Create public IPv4 subnet
264 264
 function _neutron_create_public_subnet_v4 {
265
-    local subnet_params+="--ip_version 4 "
265
+    local subnet_params="--ip_version 4 "
266 266
     subnet_params+="${Q_FLOATING_ALLOCATION_POOL:+--allocation-pool $Q_FLOATING_ALLOCATION_POOL} "
267
-    subnet_params+="--gateway $PUBLIC_NETWORK_GATEWAY "
267
+    if [[ -n "$PUBLIC_NETWORK_GATEWAY" ]]; then
268
+        subnet_params+="--gateway $PUBLIC_NETWORK_GATEWAY "
269
+    fi
268 270
     subnet_params+="--name $PUBLIC_SUBNET_NAME "
269 271
     subnet_params+="$EXT_NET_ID $FLOATING_RANGE "
270 272
     subnet_params+="-- --enable_dhcp=False"