Skip to content

Commit 947a8c0

Browse files
stuggiopenshift-merge-bot[bot]
authored andcommitted
Change memcache to use memcache_pool driver
In HA tests it was identified that pymemcache backend does not recover/fail over to the next memcache instance when one goes away unexpected. Using memcache_pool with bmemcache does failover properly. The memcache_sasl_enable=true is a workaround to force oslo.cache to switch to the bmemcache driver, which is the only driver in memcache_pool supporting tls+fips. Jira: OSPRH-16651 Co-outhored-by: Luca Miccini <lmiccini@redhat.com> Signed-off-by: Martin Schuppert <mschuppert@redhat.com>
1 parent b04635f commit 947a8c0

6 files changed

Lines changed: 13 additions & 12 deletions

File tree

templates/nova.conf

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,16 +172,17 @@ enabled = True
172172
{{if (index . "MemcachedServers")}}
173173
# on contoler we prefer to use memcache when its deployed
174174
{{if .MemcachedTLS}}
175-
backend = dogpile.cache.pymemcache
175+
backend = oslo_cache.memcache_pool
176176
memcache_servers={{ .MemcachedServers }}
177-
enable_retry_client = true
178-
retry_attempts = 2
179-
retry_delay = 0
177+
memcache_socket_timeout = 0.5
178+
memcache_pool_connection_get_timeout = 1
179+
# workaround to force bmemcache driver
180+
memcache_sasl_enabled = true
180181
{{else}}
181182
backend = dogpile.cache.memcached
182183
memcache_servers={{ .MemcachedServersWithInet }}
183-
memcache_dead_retry = 10
184184
{{end}}
185+
memcache_dead_retry = 30
185186
tls_enabled={{ .MemcachedTLS }}
186187
{{else}}
187188
# on compute nodes or where memcache is not deployed we should use an in memory

test/functional/nova_metadata_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -974,7 +974,7 @@ var _ = Describe("NovaMetadata controller", func() {
974974

975975
configData = string(configDataMap.Data["01-nova.conf"])
976976
Expect(configData).Should(
977-
ContainSubstring("backend = dogpile.cache.pymemcache"))
977+
ContainSubstring("backend = oslo_cache.memcache_pool"))
978978
Expect(configData).Should(
979979
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
980980
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))

test/functional/nova_novncproxy_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -869,7 +869,7 @@ var _ = Describe("NovaNoVNCProxy controller", func() {
869869

870870
configData = string(configDataMap.Data["01-nova.conf"])
871871
Expect(configData).Should(
872-
ContainSubstring("backend = dogpile.cache.pymemcache"))
872+
ContainSubstring("backend = oslo_cache.memcache_pool"))
873873
Expect(configData).Should(
874874
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
875875
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))
@@ -1031,7 +1031,7 @@ var _ = Describe("NovaNoVNCProxy controller", func() {
10311031

10321032
configData = string(configDataMap.Data["01-nova.conf"])
10331033
Expect(configData).Should(
1034-
ContainSubstring("backend = dogpile.cache.pymemcache"))
1034+
ContainSubstring("backend = oslo_cache.memcache_pool"))
10351035
Expect(configData).Should(
10361036
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
10371037
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))
@@ -1221,7 +1221,7 @@ var _ = Describe("NovaNoVNCProxy controller", func() {
12211221

12221222
configData = string(configDataMap.Data["01-nova.conf"])
12231223
Expect(configData).Should(
1224-
ContainSubstring("backend = dogpile.cache.pymemcache"))
1224+
ContainSubstring("backend = oslo_cache.memcache_pool"))
12251225
Expect(configData).Should(
12261226
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
12271227
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))

test/functional/nova_scheduler_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ var _ = Describe("NovaScheduler controller", func() {
741741

742742
configData := string(configDataMap.Data["01-nova.conf"])
743743
Expect(configData).Should(
744-
ContainSubstring("backend = dogpile.cache.pymemcache"))
744+
ContainSubstring("backend = oslo_cache.memcache_pool"))
745745
Expect(configData).Should(
746746
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
747747
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))

test/functional/novaapi_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1037,7 +1037,7 @@ var _ = Describe("NovaAPI controller", func() {
10371037

10381038
configData = string(configDataMap.Data["01-nova.conf"])
10391039
Expect(configData).Should(
1040-
ContainSubstring("backend = dogpile.cache.pymemcache"))
1040+
ContainSubstring("backend = oslo_cache.memcache_pool"))
10411041
Expect(configData).Should(
10421042
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
10431043
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))

test/functional/novaconductor_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,7 @@ var _ = Describe("NovaConductor controller", func() {
10901090

10911091
configData := string(configDataMap.Data["01-nova.conf"])
10921092
Expect(configData).Should(
1093-
ContainSubstring("backend = dogpile.cache.pymemcache"))
1093+
ContainSubstring("backend = oslo_cache.memcache_pool"))
10941094
Expect(configData).Should(
10951095
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
10961096
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))

0 commit comments

Comments
 (0)