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
default: 'noop'
description: Driver or drivers to handle sending notifications.
AodhRpcResponseTimeout:
default: 60
description: Aodh's RPC response timeout, in seconds.
type: number
outputs:
role_data:
@ -88,6 +92,7 @@ outputs:
- true
- {get_param: Debug}
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::password: {get_param: AodhPassword}
aodh::service_credentials::region_name: {get_param: KeystoneRegion}

View File

@ -71,6 +71,10 @@ parameters:
type: comma_delimited_list
default: 'noop'
description: Driver or drivers to handle sending notifications.
CeilometerRpcResponseTimeout:
default: 60
description: Ceilometer's RPC response timeout, in seconds.
type: number
MemcachedTLS:
default: false
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_user_password: {get_param: SnmpdReadonlyUserPassword}
ceilometer::host: "%{hiera('fqdn_canonical')}"
ceilometer::rpc_response_timeout: {get_param: CeilometerRpcResponseTimeout}
- if:
- {get_param: MemcachedTLS}
- ceilometer::cache_backend: 'dogpile.cache.pymemcache'

View File

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

View File

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

View File

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

View File

@ -52,6 +52,10 @@ parameters:
type: comma_delimited_list
default: 'noop'
description: Driver or drivers to handle sending notifications.
ManilaRpcResponseTimeout:
default: 60
description: Manila's RPC response timeout, in seconds.
type: number
outputs:
role_data:
@ -88,6 +92,7 @@ outputs:
# Currently the address family parameters are mutually exclusive
manila::network::neutron::network_plugin_ipv4_enabled:
if: [{get_param: ManilaIPv6}, false, true]
manila::rpc_response_timeout: {get_param: ManilaRpcResponseTimeout}
service_config_settings:
mysql:
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
transparent networks.
type: boolean
NeutronRpcResponseTimeout:
default: 60
description: Neutron's RPC response timeout, in seconds.
type: number
NeutronAuthStrategy:
type: string
description: Auth strategy to use with neutron.
@ -113,8 +117,6 @@ parameters:
constraints:
- allowed_values: ['keystone', 'noauth']
conditions:
dhcp_agents_set:
not: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]}
@ -153,6 +155,7 @@ outputs:
- {get_param: TenantNetPhysnetMtu}
neutron::db::sync::extra_params: {get_param: NeutronDBSyncExtraParams}
neutron::vlan_transparent: {get_param: EnableVLANTransparency}
neutron::rpc_response_timeout: {get_param: NeutronRpcResponseTimeout}
- if:
- dhcp_agents_set
- tripleo::profile::base::neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}

View File

@ -105,6 +105,10 @@ parameters:
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.
@ -192,6 +196,7 @@ outputs:
- 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

View File

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