tripleo-heat-templates/deployment/cinder/cinder-base.yaml
Rajesh Tailor 3aa22c9179 Add cinder credentials to nova conf
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)
2019-05-21 18:39:00 +05:30

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}