Allocation pools for demo subnet
This is useful in some cases: when provider network is accessed via single network adapter, and CIDR range is much broader then required. Change-Id: Iddba498804d7a9639a08fef3e23f5af1d5c31d9f
This commit is contained in:
parent
8d1cfb5d07
commit
213a194a3f
@ -955,6 +955,9 @@ Provisioning demo config
|
||||
**CONFIG_PROVISION_DEMO_FLOATRANGE**
|
||||
CIDR network address for the floating IP subnet.
|
||||
|
||||
**CONFIG_PROVISION_DEMO_ALLOCATION_POOLS**
|
||||
Allocation pools in the floating IP subnet.
|
||||
|
||||
**CONFIG_PROVISION_IMAGE_URL**
|
||||
A URL or local file location for an image to download and provision in Glance (defaults to a URL for a recent "cirros" image).
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
"""
|
||||
Installs and configures Provisioning for demo usage and testing
|
||||
"""
|
||||
import json
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import utils
|
||||
@ -98,6 +99,19 @@ def initConfig(controller):
|
||||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-demo-allocation-pools",
|
||||
"PROMPT": ("Enter the allocation pools from the floating IP "
|
||||
"subnet, as JSON list [\"start=ip1,end=ip2\", ...]"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
"DEFAULT_VALUE": "[]",
|
||||
"MASK_INPUT": False,
|
||||
"LOOSE_VALIDATION": False,
|
||||
"CONF_NAME": "CONFIG_PROVISION_DEMO_ALLOCATION_POOLS",
|
||||
"USE_DEFAULT": False,
|
||||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-image-name",
|
||||
"PROMPT": "Enter the name to be assigned to the demo image",
|
||||
"OPTION_LIST": False,
|
||||
@ -351,3 +365,9 @@ def initConfig(controller):
|
||||
|
||||
def initSequences(controller):
|
||||
config = controller.CONF
|
||||
# params modification
|
||||
key = 'CONFIG_PROVISION_DEMO_ALLOCATION_POOLS'
|
||||
value = config.get(key, "[]")
|
||||
config[key] = json.loads(value)
|
||||
if type(config[key]) is not list:
|
||||
raise KeyError("Key %s is not a list: %s" % (key, config[key]))
|
||||
|
@ -10,11 +10,14 @@ class packstack::provision ()
|
||||
$password = hiera('CONFIG_KEYSTONE_DEMO_PW')
|
||||
$tenant_name = 'demo'
|
||||
$floating_range = hiera('CONFIG_PROVISION_DEMO_FLOATRANGE')
|
||||
$allocation_pools = hiera(
|
||||
'CONFIG_PROVISION_DEMO_ALLOCATION_POOLS')
|
||||
} elsif $provision_tempest {
|
||||
$username = hiera('CONFIG_PROVISION_TEMPEST_USER')
|
||||
$password = hiera('CONFIG_PROVISION_TEMPEST_USER_PW')
|
||||
$tenant_name = 'tempest'
|
||||
$floating_range = hiera('CONFIG_PROVISION_TEMPEST_FLOATRANGE')
|
||||
$allocation_pools = []
|
||||
if (empty($tempest_user) or empty($tempest_password)) {
|
||||
fail("Both CONFIG_PROVISION_TEMPEST_USER and
|
||||
CONFIG_PROVISION_TEMPEST_USER_PW need to be configured.")
|
||||
@ -69,11 +72,12 @@ class packstack::provision ()
|
||||
provider_physical_network => $public_physnet,
|
||||
}
|
||||
neutron_subnet { $public_subnet_name:
|
||||
ensure => 'present',
|
||||
cidr => $floating_range,
|
||||
enable_dhcp => false,
|
||||
network_name => $public_network_name,
|
||||
tenant_name => $admin_tenant_name,
|
||||
ensure => 'present',
|
||||
cidr => $floating_range,
|
||||
allocation_pools => $allocation_pools,
|
||||
enable_dhcp => false,
|
||||
network_name => $public_network_name,
|
||||
tenant_name => $admin_tenant_name,
|
||||
}
|
||||
neutron_network { $private_network_name:
|
||||
ensure => present,
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- Introduced CONFIG_PROVISION_DEMO_ALLOCATION_POOLS
|
||||
to restrict public subnet IP address allocations.
|
Loading…
Reference in New Issue
Block a user