Allow tuning rpc_response_timeout

Sometimes we need to tune the rpc_response_timeout parameter to avoid
frequent error caused by tiemout, and it's useful to provide a native
interface to tune the timeout values.

Change-Id: I4e5c122540ff66a2782e557eb246adffcac16c99
This commit is contained in:
Takashi Kajinami 2021-04-21 23:18:15 +09:00
parent 4c38d13403
commit 4dca2a4834
10 changed files with 60 additions and 3 deletions

View File

@ -56,6 +56,10 @@ parameters:
type: comma_delimited_list type: comma_delimited_list
default: 'noop' default: 'noop'
description: Driver or drivers to handle sending notifications. description: Driver or drivers to handle sending notifications.
AodhRpcResponseTimeout:
default: 60
description: Aodh's RPC response timeout, in seconds.
type: number
outputs: outputs:
role_data: role_data:
@ -88,6 +92,7 @@ outputs:
- true - true
- {get_param: Debug} - {get_param: Debug}
aodh::notification_driver: {get_param: NotificationDriver} aodh::notification_driver: {get_param: NotificationDriver}
aodh::rpc_response_timeout: {get_param: AodhRpcResponseTimeout}
aodh::service_credentials::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } aodh::service_credentials::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
aodh::service_credentials::password: {get_param: AodhPassword} aodh::service_credentials::password: {get_param: AodhPassword}
aodh::service_credentials::region_name: {get_param: KeystoneRegion} aodh::service_credentials::region_name: {get_param: KeystoneRegion}

View File

@ -71,6 +71,10 @@ parameters:
type: comma_delimited_list type: comma_delimited_list
default: 'noop' default: 'noop'
description: Driver or drivers to handle sending notifications. description: Driver or drivers to handle sending notifications.
CeilometerRpcResponseTimeout:
default: 60
description: Ceilometer's RPC response timeout, in seconds.
type: number
MemcachedTLS: MemcachedTLS:
default: false default: false
description: Set to True to enable TLS on Memcached service. description: Set to True to enable TLS on Memcached service.
@ -128,6 +132,7 @@ outputs:
ceilometer::snmpd_readonly_username: {get_param: SnmpdReadonlyUserName} ceilometer::snmpd_readonly_username: {get_param: SnmpdReadonlyUserName}
ceilometer::snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} ceilometer::snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
ceilometer::host: "%{hiera('fqdn_canonical')}" ceilometer::host: "%{hiera('fqdn_canonical')}"
ceilometer::rpc_response_timeout: {get_param: CeilometerRpcResponseTimeout}
- if: - if:
- {get_param: MemcachedTLS} - {get_param: MemcachedTLS}
- ceilometer::cache_backend: 'dogpile.cache.pymemcache' - ceilometer::cache_backend: 'dogpile.cache.pymemcache'

View File

@ -63,6 +63,10 @@ parameters:
type: comma_delimited_list type: comma_delimited_list
default: 'noop' default: 'noop'
description: Driver or drivers to handle sending notifications. description: Driver or drivers to handle sending notifications.
DesignateRpcResponseTimeout:
default: 60
description: Designate's RPC response timeout, in seconds.
type: number
parameter_groups: parameter_groups:
- label: deprecated - label: deprecated
@ -90,3 +94,4 @@ outputs:
- {get_param: Debug } - {get_param: Debug }
designate::purge_config: {get_param: EnableConfigPurge} designate::purge_config: {get_param: EnableConfigPurge}
designate::notification_driver: {get_param: NotificationDriver} designate::notification_driver: {get_param: NotificationDriver}
designate::rpc_response_timeout: {get_param: DesignateRpcResponseTimeout}

View File

@ -127,6 +127,10 @@ parameters:
default: '' default: ''
description: Indicate whether this resource may be shared with the domain received in the request description: Indicate whether this resource may be shared with the domain received in the request
"origin" header. "origin" header.
HeatRpcResponseTimeout:
default: 600
description: Heat's RPC response timeout, in seconds.
type: number
MemcachedTLS: MemcachedTLS:
default: false default: false
description: Set to True to enable TLS on Memcached service. description: Set to True to enable TLS on Memcached service.
@ -166,7 +170,7 @@ outputs:
- true - true
- {get_param: Debug} - {get_param: Debug}
heat::enable_proxy_headers_parsing: true heat::enable_proxy_headers_parsing: true
heat::rpc_response_timeout: 600 heat::rpc_response_timeout: {get_param: HeatRpcResponseTimeout}
heat::rabbit_heartbeat_timeout_threshold: 60 heat::rabbit_heartbeat_timeout_threshold: 60
heat::region_name: {get_param: KeystoneRegion} heat::region_name: {get_param: KeystoneRegion}
heat::keystone::authtoken::project_name: 'service' heat::keystone::authtoken::project_name: 'service'

View File

@ -55,6 +55,10 @@ parameters:
type: string type: string
constraints: constraints:
- allowed_values: [ '', 'oslo', 'json-rpc'] - allowed_values: [ '', 'oslo', 'json-rpc']
IronicRpcResponseTimeout:
default: 60
description: Ironic's RPC response timeout, in seconds.
type: number
IronicAuthStrategy: IronicAuthStrategy:
type: string type: string
description: Auth strategy to use with ironic. description: Auth strategy to use with ironic.
@ -105,5 +109,6 @@ outputs:
if: if:
- rpc_transport_set - rpc_transport_set
- {get_param: IronicRpcTransport} - {get_param: IronicRpcTransport}
ironic::rpc_response_timeout: {get_param: IronicRpcResponseTimeout}
step_config: | step_config: |
include tripleo::profile::base::ironic include tripleo::profile::base::ironic

View File

@ -52,6 +52,10 @@ parameters:
type: comma_delimited_list type: comma_delimited_list
default: 'noop' default: 'noop'
description: Driver or drivers to handle sending notifications. description: Driver or drivers to handle sending notifications.
ManilaRpcResponseTimeout:
default: 60
description: Manila's RPC response timeout, in seconds.
type: number
outputs: outputs:
role_data: role_data:
@ -88,6 +92,7 @@ outputs:
# Currently the address family parameters are mutually exclusive # Currently the address family parameters are mutually exclusive
manila::network::neutron::network_plugin_ipv4_enabled: manila::network::neutron::network_plugin_ipv4_enabled:
if: [{get_param: ManilaIPv6}, false, true] if: [{get_param: ManilaIPv6}, false, true]
manila::rpc_response_timeout: {get_param: ManilaRpcResponseTimeout}
service_config_settings: service_config_settings:
mysql: mysql:
manila::db::mysql::password: {get_param: ManilaPassword} manila::db::mysql::password: {get_param: ManilaPassword}

View File

@ -106,6 +106,10 @@ parameters:
If True, then allow plugins that support it to create VLAN If True, then allow plugins that support it to create VLAN
transparent networks. transparent networks.
type: boolean type: boolean
NeutronRpcResponseTimeout:
default: 60
description: Neutron's RPC response timeout, in seconds.
type: number
NeutronAuthStrategy: NeutronAuthStrategy:
type: string type: string
description: Auth strategy to use with neutron. description: Auth strategy to use with neutron.
@ -113,8 +117,6 @@ parameters:
constraints: constraints:
- allowed_values: ['keystone', 'noauth'] - allowed_values: ['keystone', 'noauth']
conditions: conditions:
dhcp_agents_set: dhcp_agents_set:
not: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]} not: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]}
@ -153,6 +155,7 @@ outputs:
- {get_param: TenantNetPhysnetMtu} - {get_param: TenantNetPhysnetMtu}
neutron::db::sync::extra_params: {get_param: NeutronDBSyncExtraParams} neutron::db::sync::extra_params: {get_param: NeutronDBSyncExtraParams}
neutron::vlan_transparent: {get_param: EnableVLANTransparency} neutron::vlan_transparent: {get_param: EnableVLANTransparency}
neutron::rpc_response_timeout: {get_param: NeutronRpcResponseTimeout}
- if: - if:
- dhcp_agents_set - dhcp_agents_set
- tripleo::profile::base::neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork} - tripleo::profile::base::neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}

View File

@ -105,6 +105,10 @@ parameters:
description: description:
Whether instances can attach cinder volumes from a different availability zone. Whether instances can attach cinder volumes from a different availability zone.
type: boolean type: boolean
NovaRpcResponseTimeout:
default: 60
description: Nova's RPC response timeout, in seconds.
type: number
MemcachedTLS: MemcachedTLS:
default: false default: false
description: Set to True to enable TLS on Memcached service. description: Set to True to enable TLS on Memcached service.
@ -192,6 +196,7 @@ outputs:
- tls_cache_enabled - tls_cache_enabled
- 'dogpile.cache.pymemcache' - 'dogpile.cache.pymemcache'
- 'dogpile.cache.memcached' - 'dogpile.cache.memcached'
nova::rpc_response_timeout: {get_param: NovaRpcResponseTimeout}
nova::upgrade_level_compute: nova::upgrade_level_compute:
if: if:
- compute_upgrade_level_set - compute_upgrade_level_set

View File

@ -206,6 +206,10 @@ parameters:
default: true default: true
description: Flag to indicate if anti-affinity feature is turned on. description: Flag to indicate if anti-affinity feature is turned on.
type: boolean type: boolean
OctaviaRpcResponseTimeout:
default: 60
description: Octavia's RPC response timeout, in seconds.
type: number
conditions: conditions:
octavia_ca_cert_set: octavia_ca_cert_set:
@ -281,6 +285,7 @@ outputs:
octavia::controller::user_log_format: {get_param: OctaviaUserLogFormat} octavia::controller::user_log_format: {get_param: OctaviaUserLogFormat}
octavia::controller::disable_local_log_storage: {get_param: OctaviaDisableLocalLogStorage} octavia::controller::disable_local_log_storage: {get_param: OctaviaDisableLocalLogStorage}
octavia::nova::enable_anti_affinity: {get_param: OctaviaAntiAffinity} octavia::nova::enable_anti_affinity: {get_param: OctaviaAntiAffinity}
octavia::rpc_response_timeout: {get_param: OctaviaRpcResponseTimeout}
octavia::controller::loadbalancer_topology: octavia::controller::loadbalancer_topology:
if: if:
- octavia_topology_set - octavia_topology_set

View File

@ -0,0 +1,15 @@
---
features:
- |
The following parmaeters have been added so that users can change timeout
for communication over rpc call.
- ``AodhRpcResponseTimeout``
- ``CeilometerRpcResponseTimeout``
- ``DesignateRpcResponseTimeout``
- ``HeatRpcResponseTimeout``
- ``IronicRpcResponseTimeout``
- ``ManilaRpcResponseTimeout``
- ``NeutronRpcResponseTimeout``
- ``NovaRpcResponseTimeout``
- ``OctaviaRpcResponseTimeout``