3aa22c9179
Added user/project CONF with admin role at cinder group,
and when determine context is_admin and without token, do
authenticaion with user/project info to call cinder api.
When set reclaim_instance_interval > 0, and then delete an
instance which booted from volume with `delete_on_termination`
set as true. After reclaim_instance_interval time pass,
all volumes boot instance with state: attached and in-use,
even when attached instances was deleted.
This happens because as admin context from
`nova.compute.manager._reclaim_queued_deletes` did not have
any token info, then call cinder api would be failed.
The corresponding nova changes merged in change
https://review.opendev.org/#/c/522112/
Also rephrased CinderPassword parameter description in
cinder service templates to make it generic.
Conflicts:
deployment/nova/nova-compute-container-puppet.yaml
Depends-On: https://review.opendev.org/#/c/660329/
Related-Bug: #1734025
Change-Id: If0f9e442e5ed3b2d94bc51e65c145519c51cbc86
(cherry picked from commit 8f8b750e4f
)
175 lines
5.8 KiB
YAML
175 lines
5.8 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: >
|
|
OpenStack Cinder base service. Shared by all Cinder services.
|
|
|
|
parameters:
|
|
CinderStorageAvailabilityZone:
|
|
default: nova
|
|
description: The Cinder service's storage availability zone.
|
|
type: string
|
|
CinderPassword:
|
|
description: The password for the cinder service and db account.
|
|
type: string
|
|
hidden: true
|
|
Debug:
|
|
default: false
|
|
description: Set to True to enable debugging on all services.
|
|
type: boolean
|
|
CinderDebug:
|
|
default: ''
|
|
description: Set to True to enable debugging on Cinder services.
|
|
type: string
|
|
constraints:
|
|
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
CinderCronDbPurgeMinute:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - Minute
|
|
default: '1'
|
|
CinderCronDbPurgeHour:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - Hour
|
|
default: '0'
|
|
CinderCronDbPurgeMonthday:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - Month Day
|
|
default: '*'
|
|
CinderCronDbPurgeMonth:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - Month
|
|
default: '*'
|
|
CinderCronDbPurgeWeekday:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - Week Day
|
|
default: '*'
|
|
CinderCronDbPurgeUser:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - User
|
|
default: 'cinder'
|
|
CinderCronDbPurgeAge:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - Age
|
|
default: '30'
|
|
CinderCronDbPurgeDestination:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - Log destination
|
|
default: '/var/log/cinder/cinder-rowsflush.log'
|
|
CinderCronDbPurgeMaxDelay:
|
|
type: string
|
|
description: >
|
|
Cron to move deleted instances to another table - Max Delay
|
|
default: '3600'
|
|
RpcPort:
|
|
default: 5672
|
|
description: The network port for messaging backend
|
|
type: number
|
|
RpcUserName:
|
|
default: guest
|
|
description: The username for messaging backend
|
|
type: string
|
|
RpcPassword:
|
|
description: The password for messaging backend
|
|
type: string
|
|
hidden: true
|
|
RpcUseSSL:
|
|
default: false
|
|
description: >
|
|
Messaging client subscriber parameter to specify
|
|
an SSL connection to the messaging host.
|
|
type: string
|
|
NovaPassword:
|
|
type: string
|
|
description: The password for the nova service and db account
|
|
hidden: true
|
|
|
|
parameter_groups:
|
|
- label: deprecated
|
|
description: |
|
|
The following parameters are deprecated and will be removed. They should not
|
|
be relied on for new deployments. If you have concerns regarding deprecated
|
|
parameters, please contact the TripleO development team on IRC or the
|
|
OpenStack mailing list.
|
|
parameters:
|
|
- RpcPort
|
|
- RpcUserName
|
|
- RpcPassword
|
|
- RpcUseSSL
|
|
|
|
conditions:
|
|
service_debug_unset: {equals : [{get_param: CinderDebug}, '']}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Cinder base service.
|
|
value:
|
|
service_name: cinder_base
|
|
config_settings:
|
|
cinder::database_connection:
|
|
make_url:
|
|
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
|
|
username: cinder
|
|
password: {get_param: CinderPassword}
|
|
host: {get_param: [EndpointMap, MysqlInternal, host]}
|
|
path: /cinder
|
|
query:
|
|
read_default_file: /etc/my.cnf.d/tripleo.cnf
|
|
read_default_group: tripleo
|
|
cinder::logging::debug:
|
|
if:
|
|
- service_debug_unset
|
|
- {get_param: Debug }
|
|
- {get_param: CinderDebug }
|
|
cinder::storage_availability_zone: {get_param: CinderStorageAvailabilityZone}
|
|
cinder::rabbit_heartbeat_timeout_threshold: 60
|
|
cinder::cron::db_purge::destination: '/dev/null'
|
|
cinder::db::database_db_max_retries: -1
|
|
cinder::db::database_max_retries: -1
|
|
cinder::cron::db_purge::minute: {get_param: CinderCronDbPurgeMinute}
|
|
cinder::cron::db_purge::hour: {get_param: CinderCronDbPurgeHour}
|
|
cinder::cron::db_purge::monthday: {get_param: CinderCronDbPurgeMonthday}
|
|
cinder::cron::db_purge::month: {get_param: CinderCronDbPurgeMonth}
|
|
cinder::cron::db_purge::weekday: {get_param: CinderCronDbPurgeWeekday}
|
|
cinder::cron::db_purge::user: {get_param: CinderCronDbPurgeUser}
|
|
cinder::cron::db_purge::age: {get_param: CinderCronDbPurgeAge}
|
|
cinder::cron::db_purge::destination: {get_param: CinderCronDbPurgeDestination}
|
|
cinder::cron::db_purge::max_delay: {get_param: CinderCronDbPurgeMaxDelay}
|
|
cinder::glance::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
|
|
cinder::nova::interface: admin
|
|
cinder::nova::auth_type: password
|
|
cinder::nova::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
|
|
cinder::nova::password: {get_param: NovaPassword}
|