diff --git a/packstack/plugins/nova_300.py b/packstack/plugins/nova_300.py index 39da6792b..263ae42d8 100644 --- a/packstack/plugins/nova_300.py +++ b/packstack/plugins/nova_300.py @@ -350,6 +350,11 @@ def createnetworkmanifest(): else: controller.CONF['CONFIG_NOVA_NETWORK_AUTOASSIGNFLOATINGIP'] = False + # We need to explicitly set the network size + routing_prefix = controller.CONF['CONFIG_NOVA_NETWORK_FIXEDRANGE'].split('/')[1] + net_size = 2**(32 - int(routing_prefix)) + controller.CONF['CONFIG_NOVA_NETWORK_FIXEDSIZE'] = str(net_size) + manifestfile = "%s_nova.pp" % host manifestdata = getManifestTemplate("nova_network.pp") appendManifestFile(manifestfile, manifestdata) diff --git a/packstack/puppet/templates/nova_network.pp b/packstack/puppet/templates/nova_network.pp index 899510a09..b1ff43127 100644 --- a/packstack/puppet/templates/nova_network.pp +++ b/packstack/puppet/templates/nova_network.pp @@ -7,6 +7,7 @@ class {"nova::network": private_interface => '%(CONFIG_NOVA_NETWORK_PRIVIF)s', public_interface => '%(CONFIG_NOVA_NETWORK_PUBIF)s', fixed_range => '%(CONFIG_NOVA_NETWORK_FIXEDRANGE)s', + network_size => '%(CONFIG_NOVA_NETWORK_FIXEDSIZE)s', floating_range => '%(CONFIG_NOVA_NETWORK_FLOATRANGE)s', config_overrides => {force_dhcp_release => false} }