[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
Alan Bishop 2 years ago
parent 619eda0663
commit 0fdef46ea0

@ -411,6 +411,15 @@ outputs:
- cinder_api_cron
tripleo_delegate_to: "{{ groups['cinder_api'] | default([]) }}"
- name: Clean up legacy Cinder keystone catalog entries
become: true
cloud: {get_param: RootStackName}
name: cinderv3
service_type: volume
state: absent
- step|int == 4
- name: Manage Cinder Volume Type
become: true

@ -0,0 +1,11 @@
- |
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.
- |
The keystone catalog is automatically updated to remove any entries
associated with Cinder's v1 API "volume" service. This fixes bug
`1897761 <https://bugs.launchpad.net/tripleo/+bug/1897761>`_.