Merge "Use ironic::inspector::dnsmasq_ip_subnets"

This commit is contained in:
Zuul
2018-03-27 06:42:18 +00:00
committed by Gerrit Code Review
2 changed files with 35 additions and 1 deletions

View File

@@ -82,11 +82,32 @@ parameters:
type: string type: string
IronicInspectorIpRange: IronicInspectorIpRange:
description: | description: |
DEPRECATED: Use IronicInspectorSubnets instead.
Temporary IP range that will be given to nodes during the inspection Temporary IP range that will be given to nodes during the inspection
process. This should not overlap with any range that Neutron's DHCP process. This should not overlap with any range that Neutron's DHCP
gives away, but it has to be routeable back to ironic-inspector API. gives away, but it has to be routeable back to ironic-inspector API.
This option has no meaningful defaults, and thus is required. This option has no meaningful defaults, and thus is required.
type: string type: string
default: ''
IronicInspectorSubnets:
description: |
Temporary IP ranges that will be given to nodes during the inspection
process. This should not overlap with any range that Neutron's DHCP
gives away, but they need to be routeable back to ironic-inspector API.
This option has no meaningful defaults, and thus is required.
List of dictionaries with keys: 'tag', 'ip_range', 'netmask', and
'gateway'. 'ip_range' is the only required key. Assigning multiple
tagged subnets allow dnsmasq to serve dhcp request that came in via
dhcp relay/helper.
Example: - ip_range: 192.168.0.100,192.168.0.120
- ip_range: 192.168.1.100,192.168.1.200
netmask: 255.255.255.0
gateway: 192.168.1.254
tag: subnet1
type: json
default: {}
IronicInspectorUseSwift: IronicInspectorUseSwift:
default: true default: true
description: Whether to use Swift for storing introspection data. description: Whether to use Swift for storing introspection data.
@@ -104,6 +125,7 @@ conditions:
enable_ipxe: {equals : [{get_param: IronicInspectorIPXEEnabled}, true]} enable_ipxe: {equals : [{get_param: IronicInspectorIPXEEnabled}, true]}
use_swift: {equals : [{get_param: IronicInspectorUseSwift}, true]} use_swift: {equals : [{get_param: IronicInspectorUseSwift}, true]}
enable_node_discovery: {equals : [{get_param: IronicInspectorEnableNodeDiscovery}, true]} enable_node_discovery: {equals : [{get_param: IronicInspectorEnableNodeDiscovery}, true]}
ironic_inspection_subnets_not_set: {equals : [{get_param: IronicInspectorSubnets}, {}]}
outputs: outputs:
role_data: role_data:
@@ -125,7 +147,11 @@ outputs:
"%{hiera('$NETWORK')}" "%{hiera('$NETWORK')}"
params: params:
$NETWORK: {get_param: [ServiceNetMap, IronicInspectorNetwork]} $NETWORK: {get_param: [ServiceNetMap, IronicInspectorNetwork]}
ironic::inspector::dnsmasq_ip_range: {get_param: IronicInspectorIpRange} ironic::inspector::dnsmasq_ip_subnets:
if:
- ironic_inspection_subnets_not_set
- [{ip_range: {get_param: IronicInspectorIpRange}}]
- get_param: IronicInspectorSubnets
ironic::inspector::dnsmasq_interface: {get_param: IronicInspectorInterface} ironic::inspector::dnsmasq_interface: {get_param: IronicInspectorInterface}
ironic::inspector::debug: {get_param: Debug} ironic::inspector::debug: {get_param: Debug}
ironic::inspector::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] } ironic::inspector::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }

View File

@@ -0,0 +1,8 @@
---
features:
- Adds support to configure ironic-inspector with multiple ip ranges.
This enables ironic-inspector's DHCP server to serve request that
came in via dhcp-relay agent.
deprecations:
- The parameter ``IronicInspectorIpRange`` is deprecated. Use the new
``IronicInspectorSubnets`` instead.