tripleo-heat-templates/deployment/nova/nova-base-puppet.yaml
Takashi Kajinami 5ff2741130 Make default of NovaSyncPowerStateInterval consistent with nova
Currently default of the NovaSyncPowerStateInterval parameter is 0, but
this makes the parameter use the default value defined in oslo.service
(which is 60 seconds) instead of the default defined in nova(which is
600 seconds).
Because it is more reasonable to use the default defined in service
itlself, this change updates the default of that parameter to be
consistent with the default defined in nova.

Closes-Bug: #1916380
Change-Id: I4bc97cc3f361b5ada15fee81ccc1036485d4529c
2021-08-18 14:44:18 +00:00

209 lines
7.4 KiB
YAML

heat_template_version: wallaby
description: >
OpenStack Nova base service. Shared for all Nova services.
parameters:
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. Use
parameter_merge_strategies to merge it with the defaults.
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
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
NotificationDriver:
type: comma_delimited_list
default: 'noop'
description: Driver or drivers to handle sending notifications.
NovaPassword:
description: The password for the nova service and db account
type: string
hidden: true
NeutronPassword:
description: The password for the neutron service and db account, used by neutron agents.
type: string
hidden: true
PlacementPassword:
description: The password for the Placement service and db account
type: string
hidden: true
PlacementAPIInterface:
type: string
description: >
Endpoint interface to be used for the placement API.
default: 'internal'
NovaOVSBridge:
default: 'br-int'
description: Name of integration bridge used by Open vSwitch
type: string
Debug:
type: boolean
default: false
description: Set to True to enable debugging on all services.
NovaDebug:
default: false
description: Set to True to enable debugging Nova services.
type: boolean
EnableCache:
description: Enable caching with memcached
type: boolean
default: true
EnableConfigPurge:
type: boolean
default: false
description: >
Remove configuration that is not generated by TripleO. Used to avoid
configuration remnants after upgrades.
UpgradeLevelNovaCompute:
type: string
description: Nova Compute upgrade level
default: ''
NovaOVSDBConnection:
type: string
description: OVS DB connection string to used by Nova
default: ''
tags:
- role_specific
NovaSyncPowerStateInterval:
type: number
description:
Interval to sync power states between the database and the hypervisor. Set
to -1 to disable. Setting this to 0 will run at the default rate(60)
defined in oslo.service.
default: 600
RpcUseSSL:
default: false
description: >
Messaging client subscriber parameter to specify
an SSL connection to the messaging host.
type: string
NovaAdditionalCell:
default: false
description: Whether this is an cell additional to the default cell.
type: boolean
NovaCrossAZAttach:
default: true
description:
Whether instances can attach cinder volumes from a different availability zone.
type: boolean
NovaRpcResponseTimeout:
default: 60
description: Nova's RPC response timeout, in seconds.
type: number
MemcachedTLS:
default: false
description: Set to True to enable TLS on Memcached service.
Because not all services support Memcached TLS, during the
migration period, Memcached will listen on 2 ports - on the
port set with MemcachedPort parameter (above) and on 11211,
without TLS.
type: boolean
conditions:
compute_upgrade_level_set:
not: {equals : [{get_param: UpgradeLevelNovaCompute}, '']}
tls_cache_enabled:
and:
- {get_param: EnableCache}
- {get_param: MemcachedTLS}
resources:
RoleParametersValue:
type: OS::Heat::Value
properties:
type: json
value:
map_replace:
- map_replace:
- nova::ovsdb_connection: NovaOVSDBConnection
- values: {get_param: [RoleParameters]}
- values:
NovaOVSDBConnection: {get_param: NovaOVSDBConnection}
outputs:
role_data:
description: Role data for the Nova base service.
value:
service_name: nova_base
config_settings:
map_merge:
- nova::my_ip:
str_replace:
template:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
nova::rabbit_use_ssl: {get_param: RpcUseSSL}
nova::keystone::service_user::send_service_user_token: true
nova::keystone::service_user::project_name: 'service'
nova::keystone::service_user::password: {get_param: NovaPassword}
nova::keystone::service_user::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
nova::keystone::service_user::region_name: {get_param: KeystoneRegion}
nova::placement::project_name: 'service'
nova::placement::password: {get_param: PlacementPassword}
nova::placement::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
nova::placement::region_name: {get_param: KeystoneRegion}
nova::placement::valid_interfaces: {get_param: PlacementAPIInterface}
nova::os_region_name: {get_param: KeystoneRegion}
nova::logging::debug:
if:
- {get_param: NovaDebug}
- true
- {get_param: Debug}
nova::purge_config: {get_param: EnableConfigPurge}
nova::network::neutron::project_name: 'service'
nova::network::neutron::username: 'neutron'
nova::network::neutron::region_name: {get_param: KeystoneRegion}
nova::dhcp_domain: ''
nova::network::neutron::password: {get_param: NeutronPassword}
nova::network::neutron::auth_url: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
nova::rabbit_heartbeat_timeout_threshold: 60
nova::cinder::catalog_info: 'volumev3:cinderv3:internalURL'
nova::host: "%{hiera('fqdn_canonical')}"
nova::notify_on_state_change: 'vm_and_task_state'
nova::notification_driver: {get_param: NotificationDriver}
nova::notification_format: 'unversioned'
nova::network::neutron::auth_type: 'v3password'
nova::db::database_db_max_retries: -1
nova::db::database_max_retries: -1
nova::network::neutron::ovs_bridge: {get_param: NovaOVSBridge}
nova::compute::sync_power_state_interval: {get_param: NovaSyncPowerStateInterval}
nova_is_additional_cell: {get_param: NovaAdditionalCell}
nova::cross_az_attach: {get_param: NovaCrossAZAttach}
nova::cache::enabled: {get_param: EnableCache}
nova::cache::tls_enabled: {get_param: MemcachedTLS}
nova::cache::backend:
if:
- tls_cache_enabled
- 'dogpile.cache.pymemcache'
- 'dogpile.cache.memcached'
nova::rpc_response_timeout: {get_param: NovaRpcResponseTimeout}
nova::upgrade_level_compute:
if:
- compute_upgrade_level_set
- {get_param: UpgradeLevelNovaCompute}
- get_attr: [RoleParametersValue, value]
service_config_settings:
rabbitmq:
nova::rabbit_use_ssl: {get_param: RpcUseSSL}