Ironic Inspector - disjoint ip range(s) for HA

Allow tht parameter IronicInspectorSubnets to specify
per-instance ip range(s) using hostname as key for each
list of ip ranges. For HA deployments use disjoint
address pools to avoid potential address conflict.

Implements: blueprint ironic-inspector-overcloud
Depends-On: Ifae513265b8c35d98012f14f951bac33ae90b66c
Change-Id: Ifdebe9fcc817b4572f1eb461a3396af6b55f1e6b
(cherry picked from commit 2024bb0218)
This commit is contained in:
Harald Jensås 2018-03-28 20:23:59 +02:00
parent c4d820d669
commit 3e6e978160
2 changed files with 45 additions and 1 deletions

View File

@ -106,6 +106,25 @@ parameters:
netmask: 255.255.255.0
gateway: 192.168.1.254
tag: subnet1
NOTE: For HA deployments use disjoint address pools to avoid potential
address conflict. Use the hostname (short form) of each instance
that will run Ironic Inspector and define a dictionary with the
disjoint ip ranges.
Example HA deployment using disjoint address pools:
overcloud-ironic-0:
- ip_range: 192.168.24.100,192.168.24.119
- ip_range: 192.168.25.100,192.168.25.119
netmask: 255.255.255.0
gateway: 192.168.25.254
tag: subnet1
overcloud-ironic-1:
- ip_range: 192.168.24.120,192.168.24.139
- ip_range: 192.168.25.120,192.168.25.139
netmask: 255.255.255.0
gateway: 192.168.25.254
tag: subnet1
type: json
default: {}
IronicInspectorUseSwift:
@ -152,7 +171,7 @@ outputs:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, IronicInspectorNetwork]}
ironic::inspector::dnsmasq_ip_subnets:
tripleo::profile::base::ironic_inspector::inspection_subnets:
if:
- ironic_inspection_subnets_not_set
- [{ip_range: {get_param: IronicInspectorIpRange}}]

View File

@ -0,0 +1,25 @@
---
features:
- |
Adds support to configure disjoint address pools for Ironic Inspector.
When Inspector is deployed as a HA service disjoint address pools should be
served by the DHCP instances to avoid address conflict issues. The disjoint
address pools are configured by using hostname (short form) as the key,
then pass the list of ranges for each host. For example::
parameter_defaults:
IronicInspectorSubnets:
overcloud-ironic-0:
- ip_range: 192.168.24.100,192.168.24.119
- ip_range: 192.168.25.100,192.168.25.119
netmask: 255.255.255.0
gateway: 192.168.25.254
tag: subnet1
overcloud-ironic-1:
- ip_range: 192.168.24.120,192.168.24.139
- ip_range: 192.168.25.120,192.168.25.139
netmask: 255.255.255.0
gateway: 192.168.25.254
tag: subnet1