diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 915595a..5d5287a 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -162,6 +162,15 @@ function configure_tobiko_neutron { echo_summary "Write [neutron] section to ${TOBIKO_CONF_FILE}" local tobiko_conf_file=$1 + if [ -n "${TOBIKO_NEUTRON_EXTERNAL_NETWORK}" ]; then + # enable DHCP on IPv4 subnet of external network + openstack subnet list --no-dhcp --ip-version 4 -c ID -f value \ + --network "${TOBIKO_NEUTRON_EXTERNAL_NETWORK}" | \ + xargs -r -n 1 openstack subnet set --dhcp + iniset "${tobiko_conf_file}" neutron external_network \ + "${TOBIKO_NEUTRON_EXTERNAL_NETWORK}" + fi + iniset_nonempty "${tobiko_conf_file}" neutron floating_network \ "${TOBIKO_NEUTRON_FLOATING_NETWORK}" iniset_nonempty "${tobiko_conf_file}" neutron ipv4_dns_nameservers \ diff --git a/devstack/settings b/devstack/settings index c066400..c84c13d 100644 --- a/devstack/settings +++ b/devstack/settings @@ -38,6 +38,7 @@ TOBIKO_KEYSTONE_USER_ROLE=${TOBIKO_KEYSTONE_USER_ROLE:-admin} TOBIKO_NOVA_KEY_FILE=${TOBIKO_NOVA_KEY_FILE:-} # --- Neutron settings --- +TOBIKO_NEUTRON_EXTERNAL_NETWORK=${TOBIKO_NEUTRON_EXTERNAL_NETWORK:-${PUBLIC_NETWORK_NAME}} TOBIKO_NEUTRON_FLOATING_NETWORK=${TOBIKO_NEUTRON_FLOATING_NETWORK:-${PUBLIC_NETWORK_NAME}} TOBIKO_NEUTRON_IPV4_DNS_NAMESERVERS=${TOBIKO_NEUTRON_IPV4_DNS_NAMESERVERS:-} TOBIKO_NEUTRON_IPV6_DNS_NAMESERVERS=${TOBIKO_NEUTRON_IPV6_DNS_NAMESERVERS:-}