From 6181e9e21dbb8e31d52ca8f305d60456681ca62b Mon Sep 17 00:00:00 2001 From: Tyler Smith Date: Thu, 11 Jul 2019 10:54:17 -0400 Subject: [PATCH] Zero Touch Provisioning changes for subcloud configuration - Cleaning up old RegionOne endpoints during runtime manifest apply - Configuring dcdbsync endpoints in subclouds Depends-On: https://review.opendev.org/#/c/670321/ Change-Id: I14729b579646aab9acecc8a953513b87b16363d2 Story: 2004766 Task: 35756 Signed-off-by: Tyler Smith --- .../modules/openstack/manifests/keystone.pp | 52 ++++++++++++++++--- 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/puppet-manifests/src/modules/openstack/manifests/keystone.pp b/puppet-manifests/src/modules/openstack/manifests/keystone.pp index 6d092273f4..00dfa5f023 100644 --- a/puppet-manifests/src/modules/openstack/manifests/keystone.pp +++ b/puppet-manifests/src/modules/openstack/manifests/keystone.pp @@ -347,14 +347,54 @@ class openstack::keystone::endpoint::runtime { include ::dcdbsync::keystone::auth } + if $::platform::params::distributed_cloud_role == 'subcloud' { + include ::dcdbsync::keystone::auth + } + include ::smapi::keystone::auth - Keystone::Resource::Service_identity <||> - -> file { '/etc/platform/.service_endpoint_reconfigured': - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', + if ($::platform::params::distributed_cloud_role == 'subcloud' and + $::platform::params::region_2_name != 'RegionOne') { + $interfaces = [ 'public', 'internal', 'admin' ] + include ::platform::client + # Cleanup the endpoints created at bootstrap if they are not in + # the subcloud region. + Keystone::Resource::Service_identity <||> + -> Class['::platform::client'] + -> delete_endpoints { 'Delete keystone endpoints': + region => 'RegionOne', + service => 'keystone', + interfaces => $interfaces, + } + -> delete_endpoints { 'Delete sysinv endpoints': + region => 'RegionOne', + service => 'sysinv', + interfaces => $interfaces, + } + -> delete_endpoints { 'Delete barbican endpoints': + region => 'RegionOne', + service => 'barbican', + interfaces => $interfaces, + } + -> delete_endpoints { 'Delete fm endpoints': + region => 'RegionOne', + service => 'fm', + interfaces => $interfaces, + } + -> file { '/etc/platform/.service_endpoint_reconfigured': + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + } + } else { + Keystone::Resource::Service_identity <||> + -> file { '/etc/platform/.service_endpoint_reconfigured': + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + } } }