From 74a6ac6ebe2924411affd81b7739d960ed61941a Mon Sep 17 00:00:00 2001 From: Alan Bishop Date: Mon, 28 Sep 2020 16:21:19 -0700 Subject: [PATCH] [FFU] Remove cinder's v1 keystone service Remove cinder's "volume" (API v1) service from the keystone catalog. This fixes a post-FFU bug that causes keystone endpoint validation to fail. Cinder stopped supporting its v1 API in queens, but tripleo retained the "volume" service (with API v3 endpoints) to work around a bug in the version of tempest used in queens (see [1] for details). The endpoint validation fails because the "volume" and "volume3" servces share the same v3 endpoints. [1] https://review.opendev.org/#/q/If1ef8b1ad60151c0dfd0a7804ba7e697fc4ede28 The patch was tested locally: - Confirm a fresh deployment (with patch) succeeds - Manually create "volume" service with "cinderv3" endpoints. This replicates the post-FFU scenario - Perform a stack update (succeeds), and confirm the "volume" service has been deleted Final note: The ansible task that removes the "volume" service is a deployment (not upgrade) task. This ensures the service is removed from overcloud deployments that already performed the FFU. Closes-Bug: #1897761 Change-Id: Ic0eb72f78e2a19e2f40ab12631a872d828bab46a (cherry picked from commit 0fdef46ea0ca9045f85a0a7857884a246a424169) (cherry picked from commit 99220e0ca656ddd1dcada5e025e226bc86409998) --- deployment/cinder/cinder-api-container-puppet.yaml | 9 +++++++++ .../notes/cinder-v1-cleanup-7154ca07652804cf.yaml | 11 +++++++++++ 2 files changed, 20 insertions(+) create mode 100644 releasenotes/notes/cinder-v1-cleanup-7154ca07652804cf.yaml diff --git a/deployment/cinder/cinder-api-container-puppet.yaml b/deployment/cinder/cinder-api-container-puppet.yaml index 94434b9895..362af7ef40 100644 --- a/deployment/cinder/cinder-api-container-puppet.yaml +++ b/deployment/cinder/cinder-api-container-puppet.yaml @@ -471,6 +471,15 @@ outputs: - cinder_api_cron tripleo_delegate_to: "{{ groups['cinder_api'] | default([]) }}" external_deploy_tasks: + - name: Clean up legacy Cinder keystone catalog entries + become: true + os_keystone_service: + cloud: {get_param: RootStackName} + name: cinderv3 + service_type: volume + state: absent + when: + - step|int == 4 - name: Manage Cinder Volume Type become: true vars: diff --git a/releasenotes/notes/cinder-v1-cleanup-7154ca07652804cf.yaml b/releasenotes/notes/cinder-v1-cleanup-7154ca07652804cf.yaml new file mode 100644 index 0000000000..f34232bee7 --- /dev/null +++ b/releasenotes/notes/cinder-v1-cleanup-7154ca07652804cf.yaml @@ -0,0 +1,11 @@ +--- +upgrade: + - | + Cinder's legacy "volume" service and its associated endpoints are + automatically removed from the keystone catalog. The "volume" service is + associated with Cinder's v1 API, which was removed in Queens. +fixes: + - | + The keystone catalog is automatically updated to remove any entries + associated with Cinder's v1 API "volume" service. This fixes bug + `1897761 `_.