diff --git a/templates/nova.conf b/templates/nova.conf index 85b747d5c..b1ca33767 100644 --- a/templates/nova.conf +++ b/templates/nova.conf @@ -55,19 +55,13 @@ key={{.SSLCertificateKeyFile}} lock_path = /var/lib/nova/tmp [oslo_messaging_rabbit] -amqp_durable_queues=false -amqp_auto_delete=false -# we should consider using quorum queues instead -# rabbit_quorum_queue=true -{{/*we might just want to make this always false*/}} -{{ if eq .service_name "nova-api"}} -# We cannot set this to true while is -# https://review.opendev.org/c/openstack/oslo.log/+/852443 is not used in the -# nova-api image otherwise logging from the heartbeat thread will cause hangs. -heartbeat_in_pthread=false -{{else}} -heartbeat_in_pthread=false -{{end}} +{{/* we want to use quorum queues but that requires durable queues */}} +rabbit_quorum_queue = true +amqp_durable_queues = true +amqp_auto_delete = true +{{/* heartbeat_in_pthread is known to have several bugs so always set it to flase */}} +heartbeat_in_pthread = false + {{ if eq .service_name "nova-api"}} [oslo_policy] diff --git a/test/functional/nova_multicell_test.go b/test/functional/nova_multicell_test.go index 988798449..f85277c2b 100644 --- a/test/functional/nova_multicell_test.go +++ b/test/functional/nova_multicell_test.go @@ -254,6 +254,8 @@ var _ = Describe("Nova multi cell", func() { novaNames.Namespace, novaNames.Namespace, novaNames.Namespace))) Expect(configData).To(ContainSubstring("transport_url=rabbit://cell0/fake")) + Expect(configData).To(ContainSubstring("rabbit_quorum_queue = true")) + Expect(configData).To(ContainSubstring("heartbeat_in_pthread = false")) SimulateReadyOfNovaTopServices() @@ -382,6 +384,9 @@ var _ = Describe("Nova multi cell", func() { Expect(configData).Should( ContainSubstring("tls_enabled=false")) + Expect(configData).To(ContainSubstring("rabbit_quorum_queue = true")) + Expect(configData).To(ContainSubstring("heartbeat_in_pthread = false")) + myCnf := configDataMap.Data["my.cnf"] Expect(myCnf).To( ContainSubstring("[client]\nssl=0"))