Align on cinder service naming

With an effort [1][2] to align cinder service type naming to
`block-storage` we revert deprecation of some variables, which
were annoinced as deprecated in [3] and dperecate versioned
ones instead.

[1] https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/QQ7L44VE4MOWOQVOFCZQPTIVI35A6SCK/#X7BYL6AYQDMXAG7XXDNTSASWZCGEHQ37
[2] https://review.opendev.org/q/topic:%22remove-cinder-v2-crud%22
[3] https://review.opendev.org/c/openstack/openstack-ansible-os_cinder/+/934593

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/942580
Change-Id: I7a8e563fa60a62bdc24d5a3c9d7fa1a43f324b76
This commit is contained in:
Dmitriy Rabotyagov 2025-02-24 13:56:45 +01:00
parent 4416d82c89
commit a76535685f
3 changed files with 78 additions and 8 deletions

View File

@ -170,7 +170,6 @@ cinder_service_admin_tenant_name: "service"
cinder_service_admin_username: "cinder"
## Cinder api service type and data
cinder_service_name: cinder
cinder_service_project_domain_id: default
cinder_service_user_domain_id: default
cinder_service_user_name: cinder
@ -185,12 +184,26 @@ cinder_service_region: "{{ service_region | default('RegionOne') }}"
cinder_service_port: 8776
cinder_service_proto: http
cinder_service_name: cinder
cinder_service_type: block-storage
cinder_service_description: "Cinder Volume Service"
cinder_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(cinder_service_proto) }}"
cinder_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(cinder_service_proto) }}"
cinder_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(cinder_service_proto) }}"
cinder_service_publicuri: "{{ cinder_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ cinder_service_port }}"
cinder_service_publicurl: "{{ cinder_service_publicuri }}/v3/%(project_id)s"
cinder_service_adminuri: "{{ cinder_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ cinder_service_port }}"
cinder_service_adminurl: "{{ cinder_service_adminuri }}/v3/%(project_id)s"
cinder_service_internaluri: "{{ cinder_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ cinder_service_port }}"
cinder_service_internalurl: "{{ cinder_service_internaluri }}/v3/%(project_id)s"
cinder_service_v3_enabled: true
cinder_service_v3_name: cinderv3
cinder_service_v3_type: volumev3
cinder_service_v3_description: "Cinder Volume Service V3"
cinder_service_v3_publicuri_proto: "{{ openstack_service_publicuri_proto | default(cinder_service_proto) }}"
cinder_service_v3_adminuri_proto: "{{ openstack_service_adminuri_proto | default(cinder_service_proto) }}"
cinder_service_v3_internaluri_proto: "{{ openstack_service_internaluri_proto | default(cinder_service_proto) }}"
cinder_service_v3_publicuri_proto: "{{ openstack_service_publicuri_proto | default(cinder_service_publicuri_proto) }}"
cinder_service_v3_adminuri_proto: "{{ openstack_service_adminuri_proto | default(cinder_service_adminuri_proto) }}"
cinder_service_v3_internaluri_proto: "{{ openstack_service_internaluri_proto | default(cinder_service_internaluri_proto) }}"
cinder_service_v3_publicuri: "{{ cinder_service_v3_publicuri_proto }}://{{ external_lb_vip_address }}:{{ cinder_service_port }}"
cinder_service_v3_publicurl: "{{ cinder_service_v3_publicuri }}/v3/%(tenant_id)s"
cinder_service_v3_adminuri: "{{ cinder_service_v3_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ cinder_service_port }}"

View File

@ -0,0 +1,41 @@
---
prelude: >
In order to support efforts on aligning Cinder service type naming across
various deployments and move on from version-specific service type to a
generic one, a Cinder service will be named as ``block-storage`` from
now on, which will be reflected in Keystone service catalog and endpoints.
Please check upgrade notes for more details.
upgrade:
- |
In order to align with recommendations on Cinder service naming, os_cinder
role will introduce a new service in catalog named ``cinder`` of type
``block-storage`` and corresponding set of endpoints representing them.
Upgrade script will create a new file `/etc/openstack_deploy/user_epoxy_upgrade.yml`
with defining ``cinder_service_v3_enabled: true`` which aims to keep old
version-based service type and endpoints intact.
If you want to remove old versioned-based endpoints and service type from
catalog you may simply undefine that variable, as it is ``False`` by
default.
All new deployments will not have ``cinderv3``/``volumev3``
service unless ``cinder_service_v3_enabled: true`` is defined.
deprecations:
- |
In order to accomplish Cinder service naming alignment we had revised our
prior decision on deprecating following variables, which was introduced
previous cycle. Following variables should NOT be considered as
deprecated anymore:
- `cinder_service_description`
- `cinder_service_publicuri_proto`
- `cinder_service_adminuri_proto`
- `cinder_service_internaluri_proto`
- `cinder_service_type`
- `cinder_service_publicuri`
- `cinder_service_adminuri`
- `cinder_service_internaluri`
- |
Usage of version-based (``cinderv3``/``volumev3``) endpoints and service
type for Cinder is considered as a deprecated behaviour and will be removed
in the future.

View File

@ -113,24 +113,40 @@ cinder_core_files:
mode: "0640"
cinder_service_endpoints:
- service: "{{ cinder_service_name }}"
interface: "public"
url: "{{ cinder_service_publicurl }}"
state: present
- service: "{{ cinder_service_name }}"
interface: "internal"
url: "{{ cinder_service_internalurl }}"
state: present
- service: "{{ cinder_service_name }}"
interface: "admin"
url: "{{ cinder_service_adminurl }}"
state: present
- service: "{{ cinder_service_v3_name }}"
interface: "public"
url: "{{ cinder_service_v3_publicurl }}"
state: present
state: "{{ cinder_service_v3_enabled | ternary('present', 'absent') }}"
- service: "{{ cinder_service_v3_name }}"
interface: "internal"
url: "{{ cinder_service_v3_internalurl }}"
state: present
state: "{{ cinder_service_v3_enabled | ternary('present', 'absent') }}"
- service: "{{ cinder_service_v3_name }}"
interface: "admin"
url: "{{ cinder_service_v3_adminurl }}"
state: present
state: "{{ cinder_service_v3_enabled | ternary('present', 'absent') }}"
cinder_service_catalog:
- name: "{{ cinder_service_name }}"
type: "{{ cinder_service_type }}"
description: "{{ cinder_service_description }}"
state: present
- name: "{{ cinder_service_v3_name }}"
type: "{{ cinder_service_v3_type }}"
description: "{{ cinder_service_v3_description }}"
state: present
state: "{{ cinder_service_v3_enabled | ternary('present', 'absent') }}"
_cinder_coordination_url: >-
{{ cinder_coordination_driver }}://{{