Add CinderEtcdLocalConnect parameter

The parameter, when set to true, will configure cinder-volume to connect
to Etcd through the node's own local IP on the Etcd network, instead of
a VIP on the network.

This is useful when deploying cinder-volume in an A/A configuration at
an edge site with the HCI roles. As Etcd and cinder-volume are both
running on the same node (typically 3 nodes configured the same), then
each node can just connect directly to Etcd without having to go through
a VIP. Additionally, we have no VIP management at the edge sites
presently.

Change-Id: I8a8825ecff9fc99b5de7390075470356397d85a2
implements: blueprint split-controlplane-templates
This commit is contained in:
James Slagle 2019-03-25 10:39:45 -04:00
parent 00f35055da
commit e701077c96
2 changed files with 23 additions and 0 deletions

View File

@ -157,6 +157,13 @@ parameters:
MonitoringSubscriptionCinderVolume:
default: 'overcloud-cinder-volume'
type: string
CinderEtcdLocalConnect:
default: false
type: boolean
description: When running Cinder A/A, whether to connect to Etcd
via the local IP for the Etcd network. If set to true, the ip
on the local node will be used. If set to false, the VIP on the Etcd
network will be used instead. Defaults to false.
resources:
@ -240,6 +247,16 @@ outputs:
- {equals : [{get_param: CinderRbdAvailabilityZone}, '']}
- {}
- tripleo::profile::base::cinder::volume::rbd::backend_availability_zone: {get_param: CinderRbdAvailabilityZone}
-
if:
- {equals : [{get_param: CinderEtcdLocalConnect}, true]}
- tripleo::profile::base::cinder::volume::etcd_host:
str_replace:
template:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, EtcdNetwork]}
- {}
service_config_settings:
map_merge:
- get_attr: [CinderBase, role_data, service_config_settings]

View File

@ -0,0 +1,6 @@
---
features:
- A new parameter, CinderEtcdLocalConnect, is available for the CinderVolume
service. When deploying the service A/A, the parameter can be set to true
which willconfigure cinder-volume to connect to Etcd locally through the
node's own IP instead of going through a VIP.