From e701077c96b24f80f0ef1347ab345dbe5b6dde7c Mon Sep 17 00:00:00 2001 From: James Slagle Date: Mon, 25 Mar 2019 10:39:45 -0400 Subject: [PATCH] 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 --- .../cinder/cinder-volume-container-puppet.yaml | 17 +++++++++++++++++ ...LocalConnect-parameter-8831aad928235458.yaml | 6 ++++++ 2 files changed, 23 insertions(+) create mode 100644 releasenotes/notes/add-CinderEtcdLocalConnect-parameter-8831aad928235458.yaml diff --git a/deployment/cinder/cinder-volume-container-puppet.yaml b/deployment/cinder/cinder-volume-container-puppet.yaml index fa1b1e42c0..814150b8e7 100644 --- a/deployment/cinder/cinder-volume-container-puppet.yaml +++ b/deployment/cinder/cinder-volume-container-puppet.yaml @@ -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] diff --git a/releasenotes/notes/add-CinderEtcdLocalConnect-parameter-8831aad928235458.yaml b/releasenotes/notes/add-CinderEtcdLocalConnect-parameter-8831aad928235458.yaml new file mode 100644 index 0000000000..3ff5792dbf --- /dev/null +++ b/releasenotes/notes/add-CinderEtcdLocalConnect-parameter-8831aad928235458.yaml @@ -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.