Disable [oslo_messaging_rabbit] heartbeat_in_pthread

Default value of this option was updated during Wallaby cycle[1] but
the new default(true) is causing problems with non-wsgi services like
nova-compute and we've learned these services are not able to behave
properly in some cases(when starting up, reconnecting to MQ, etc)[2].

This change overrides the parameter to use the old default value until
the problem is fixed in oslo.messaging(or in any other layers).

[1] https://review.opendev.org/c/openstack/oslo.messaging/+/747395
[2] https://bugs.launchpad.net/oslo.messaging/+bug/1934937

Conflicts:
	deployment/aodh/aodh-base.yaml
	deployment/ceilometer/ceilometer-base-container-puppet.yaml
	deployment/designate/designate-base.yaml
	deployment/ironic/ironic-base-puppet.yaml
	deployment/manila/manila-base.yaml
	deployment/neutron/neutron-base.yaml
	deployment/nova/nova-base-puppet.yaml
	deployment/octavia/octavia-base.yaml
	deployment/swift/swift-proxy-container-puppet.yaml

Closes-Bug: #1984076
Related-Bug: #1934937
Depends-on: https://review.opendev.org/852528
Change-Id: I2bf0fbbb85a6d01f9004420df0b5937d2ba59759
(cherry picked from commit cf4d4f881a)
This commit is contained in:
Takashi Kajinami 2022-08-09 21:44:00 +09:00
parent 39cc6bc7f9
commit 87cbe7c220
15 changed files with 31 additions and 10 deletions

View File

@ -88,6 +88,7 @@ outputs:
- true - true
- {get_param: Debug} - {get_param: Debug}
aodh::notification_driver: {get_param: NotificationDriver} aodh::notification_driver: {get_param: NotificationDriver}
aodh::rabbit_heartbeat_in_pthread: false
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

@ -271,6 +271,7 @@ outputs:
- true - true
- {get_param: Debug} - {get_param: Debug}
barbican::api::notification_driver: {get_param: NotificationDriver} barbican::api::notification_driver: {get_param: NotificationDriver}
barbican::api::rabbit_heartbeat_in_pthread: false
barbican::api::service_name: 'httpd' barbican::api::service_name: 'httpd'
barbican::wsgi::apache::bind_host: barbican::wsgi::apache::bind_host:
str_replace: str_replace:

View File

@ -113,6 +113,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::rabbit_heartbeat_in_pthread: false
service_config_settings: service_config_settings:
keystone: keystone:
# Enable default notification queue # Enable default notification queue

View File

@ -137,6 +137,7 @@ outputs:
cinder::storage_availability_zone: {get_param: CinderStorageAvailabilityZone} cinder::storage_availability_zone: {get_param: CinderStorageAvailabilityZone}
cinder::rabbit_heartbeat_timeout_threshold: 60 cinder::rabbit_heartbeat_timeout_threshold: 60
cinder::rpc_response_timeout: {get_param: CinderRpcResponseTimeout} cinder::rpc_response_timeout: {get_param: CinderRpcResponseTimeout}
cinder::rabbit_heartbeat_in_pthread: false
cinder::db::database_db_max_retries: -1 cinder::db::database_db_max_retries: -1
cinder::db::database_max_retries: -1 cinder::db::database_max_retries: -1
cinder::cron::db_purge::minute: {get_param: CinderCronDbPurgeMinute} cinder::cron::db_purge::minute: {get_param: CinderCronDbPurgeMinute}

View File

@ -86,13 +86,14 @@ outputs:
role_data: role_data:
description: Base role data for Designate services description: Base role data for Designate services
value: value:
service_name: designate_base service_name: designate_base
config_settings: config_settings:
designate::logging::debug: designate::logging::debug:
if: if:
- {get_param: DesignateDebug} - {get_param: DesignateDebug}
- true - true
- {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_enable_neutron_integration: {get_param: DesignateEnableNeutronIntegration} designate::rabbit_heartbeat_in_pthread: false
designate_enable_neutron_integration: {get_param: DesignateEnableNeutronIntegration}

View File

@ -579,6 +579,7 @@ outputs:
tripleo::profile::base::glance::api::multistore_config: {get_param: GlanceMultistoreConfig} tripleo::profile::base::glance::api::multistore_config: {get_param: GlanceMultistoreConfig}
tripleo::profile::base::glance::backend::rbd::glance_rbd_ceph_conf_path: {get_param: CephConfigPath} tripleo::profile::base::glance::backend::rbd::glance_rbd_ceph_conf_path: {get_param: CephConfigPath}
glance::notify::rabbitmq::notification_driver: {get_param: NotificationDriver} glance::notify::rabbitmq::notification_driver: {get_param: NotificationDriver}
glance::notify::rabbitmq::rabbit_heartbeat_in_pthread: false
glance::cron::db_purge::minute: {get_param: GlanceCronDbPurgeMinute} glance::cron::db_purge::minute: {get_param: GlanceCronDbPurgeMinute}
glance::cron::db_purge::hour: {get_param: GlanceCronDbPurgeHour} glance::cron::db_purge::hour: {get_param: GlanceCronDbPurgeHour}
glance::cron::db_purge::monthday: {get_param: GlanceCronDbPurgeMonthday} glance::cron::db_purge::monthday: {get_param: GlanceCronDbPurgeMonthday}

View File

@ -183,6 +183,7 @@ outputs:
heat::enable_proxy_headers_parsing: true heat::enable_proxy_headers_parsing: true
heat::rpc_response_timeout: 600 heat::rpc_response_timeout: 600
heat::rabbit_heartbeat_timeout_threshold: 60 heat::rabbit_heartbeat_timeout_threshold: 60
heat::rabbit_heartbeat_in_pthread: false
heat::region_name: {get_param: KeystoneRegion} heat::region_name: {get_param: KeystoneRegion}
heat::keystone::authtoken::project_name: 'service' heat::keystone::authtoken::project_name: 'service'
heat::keystone::authtoken::user_domain_name: 'Default' heat::keystone::authtoken::user_domain_name: 'Default'

View File

@ -98,5 +98,6 @@ outputs:
if: if:
- rpc_transport_set - rpc_transport_set
- {get_param: IronicRpcTransport} - {get_param: IronicRpcTransport}
ironic::rabbit_heartbeat_in_pthread: false
step_config: | step_config: |
include tripleo::profile::base::ironic include tripleo::profile::base::ironic

View File

@ -515,6 +515,7 @@ outputs:
keystone::cron::trust_flush::destination: {get_param: KeystoneCronTrustFlushDestination} keystone::cron::trust_flush::destination: {get_param: KeystoneCronTrustFlushDestination}
keystone::cron::trust_flush::user: {get_param: KeystoneCronTrustFlushUser} keystone::cron::trust_flush::user: {get_param: KeystoneCronTrustFlushUser}
keystone::rabbit_heartbeat_timeout_threshold: 60 keystone::rabbit_heartbeat_timeout_threshold: 60
keystone::rabbit_heartbeat_in_pthread: false
keystone::service_name: 'httpd' keystone::service_name: 'httpd'
keystone::enable_ssl: {get_param: EnableInternalTLS} keystone::enable_ssl: {get_param: EnableInternalTLS}
keystone::wsgi::apache::api_port: keystone::wsgi::apache::api_port:

View File

@ -93,6 +93,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::rabbit_heartbeat_in_pthread: false
service_config_settings: service_config_settings:
mysql: mysql:
manila::db::mysql::password: {get_param: ManilaPassword} manila::db::mysql::password: {get_param: ManilaPassword}

View File

@ -149,6 +149,7 @@ outputs:
- {get_param: NeutronGlobalPhysnetMtu} - {get_param: NeutronGlobalPhysnetMtu}
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::rabbit_heartbeat_in_pthread: false
- if: - if:
- dhcp_agents_zero - dhcp_agents_zero
- {} - {}

View File

@ -199,6 +199,7 @@ outputs:
- tls_cache_enabled - tls_cache_enabled
- 'dogpile.cache.pymemcache' - 'dogpile.cache.pymemcache'
- 'dogpile.cache.memcached' - 'dogpile.cache.memcached'
nova::rabbit_heartbeat_in_pthread: false
nova::upgrade_level_compute: nova::upgrade_level_compute:
if: if:
- compute_upgrade_level_set - compute_upgrade_level_set

View File

@ -293,6 +293,7 @@ outputs:
- {get_param: OctaviaUserLogFormat} - {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::rabbit_heartbeat_in_pthread: false
- -
if: if:
- octavia_topology_unset - octavia_topology_unset

View File

@ -198,6 +198,7 @@ outputs:
swift::proxy::ceilometer::region_name: {get_param: KeystoneRegion} swift::proxy::ceilometer::region_name: {get_param: KeystoneRegion}
swift::proxy::ceilometer::ignore_projects: {get_param: SwiftCeilometerIgnoreProjects} swift::proxy::ceilometer::ignore_projects: {get_param: SwiftCeilometerIgnoreProjects}
swift::proxy::ceilometer::nonblocking_notify: true swift::proxy::ceilometer::nonblocking_notify: true
swift::proxy::ceilometer::rabbit_heartbeat_in_pthread: false
- {} - {}
- swift::proxy::staticweb::url_base: {get_param: [EndpointMap, SwiftPublic, uri_no_suffix]} - swift::proxy::staticweb::url_base: {get_param: [EndpointMap, SwiftPublic, uri_no_suffix]}
tripleo::profile::base::swift::proxy::ceilometer_enabled: {get_param: SwiftCeilometerPipelineEnabled} tripleo::profile::base::swift::proxy::ceilometer_enabled: {get_param: SwiftCeilometerPipelineEnabled}

View File

@ -0,0 +1,7 @@
---
fixes:
- |
The ``[oslo_messaging_rabbit] heartbeat_in_pthread`` parameter is set to
``False`` to workaround some known issues with non-wsgi services like
nova-compute. In case the parameter should be overridden, use
``ExtraConfig`` or ``<role>ExtraConfig``.