Make service desc in keystone::endpoint configurable

I have a issue when upgrading a Train deployment to
Ussuri because the migration to keystone::bootstrap
did not cover the fact that the service description
was set on the keystone_service.

This means that if you migrate to using
keystone::bootstrap it will ensure_resource() on
the keystone_service which defaults the desc to an
empty string causing it to not be idempotent.

This can be avoided by changing the service desc
to match the keystone::bootstrap behavior to a empty
string but this cannot be done since this is hardcoded.

The alternative to this is to change the behavior in
ussuri and master which would instead break deployments
that has worked around that issue already.

Change-Id: I307583b0f88dbedf9aa4fa02eda61533fd863c4b
This commit is contained in:
Tobias Urdin 2020-09-15 09:42:07 +02:00
parent 1660e2c8de
commit 175b51fb35
2 changed files with 21 additions and 9 deletions

View File

@ -4,6 +4,10 @@
#
# === Parameters
#
# [*service_description*]
# (optional) The service description for the keystone service.
# Defaults to 'OpenStack Identity Service'
#
# [*public_url*]
# (optional) Public url for keystone endpoint.
# Defaults to 'http://127.0.0.1:5000'
@ -52,14 +56,15 @@
# }
#
class keystone::endpoint (
$public_url = 'http://127.0.0.1:5000',
$internal_url = undef,
$admin_url = 'http://127.0.0.1:5000',
$region = 'RegionOne',
$user_domain = undef,
$project_domain = undef,
$default_domain = undef,
$version = '',
$service_description = 'OpenStack Identity Service',
$public_url = 'http://127.0.0.1:5000',
$internal_url = undef,
$admin_url = 'http://127.0.0.1:5000',
$region = 'RegionOne',
$user_domain = undef,
$project_domain = undef,
$default_domain = undef,
$version = '',
) {
include ::keystone::deps
@ -97,7 +102,7 @@ class keystone::endpoint (
configure_user => false,
configure_user_role => false,
service_type => 'identity',
service_description => 'OpenStack Identity Service',
service_description => $service_description,
public_url => $public_url_real,
admin_url => $admin_url_real,
internal_url => $internal_url_real,

View File

@ -0,0 +1,7 @@
---
features:
- |
The keystone::endpoint::service_description parameter has been added with
the default value of 'OpenStack Identity Service' (moved from hardcoded
value to a parameter). This is used when setting the description on the
identity service managed by the keystone::endpoint class.