Skip to content

Commit b6a8707

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 8898e0c commit b6a8707

File tree

6 files changed

+13
-12
lines changed

6 files changed

+13
-12
lines changed

templates/nova.conf

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,16 +171,17 @@ enabled = True
171171
{{if (index . "MemcachedServers")}}
172172
# on contoler we prefer to use memcache when its deployed
173173
{{if .MemcachedTLS}}
174-
backend = dogpile.cache.pymemcache
174+
backend = oslo_cache.memcache_pool
175175
memcache_servers={{ .MemcachedServers }}
176-
enable_retry_client = true
177-
retry_attempts = 2
178-
retry_delay = 0
176+
memcache_socket_timeout = 0.5
177+
memcache_pool_connection_get_timeout = 1
178+
# workaround to force bmemcache driver
179+
memcache_sasl_enabled = true
179180
{{else}}
180181
backend = dogpile.cache.memcached
181182
memcache_servers={{ .MemcachedServersWithInet }}
182-
memcache_dead_retry = 10
183183
{{end}}
184+
memcache_dead_retry = 30
184185
tls_enabled={{ .MemcachedTLS }}
185186
{{else}}
186187
# 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
@@ -986,7 +986,7 @@ var _ = Describe("NovaMetadata controller", func() {
986986

987987
configData = string(configDataMap.Data["01-nova.conf"])
988988
Expect(configData).Should(
989-
ContainSubstring("backend = dogpile.cache.pymemcache"))
989+
ContainSubstring("backend = oslo_cache.memcache_pool"))
990990
Expect(configData).Should(
991991
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
992992
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
@@ -881,7 +881,7 @@ var _ = Describe("NovaNoVNCProxy controller", func() {
881881

882882
configData = string(configDataMap.Data["01-nova.conf"])
883883
Expect(configData).Should(
884-
ContainSubstring("backend = dogpile.cache.pymemcache"))
884+
ContainSubstring("backend = oslo_cache.memcache_pool"))
885885
Expect(configData).Should(
886886
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
887887
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))
@@ -1047,7 +1047,7 @@ var _ = Describe("NovaNoVNCProxy controller", func() {
10471047

10481048
configData = string(configDataMap.Data["01-nova.conf"])
10491049
Expect(configData).Should(
1050-
ContainSubstring("backend = dogpile.cache.pymemcache"))
1050+
ContainSubstring("backend = oslo_cache.memcache_pool"))
10511051
Expect(configData).Should(
10521052
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
10531053
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))
@@ -1241,7 +1241,7 @@ var _ = Describe("NovaNoVNCProxy controller", func() {
12411241

12421242
configData = string(configDataMap.Data["01-nova.conf"])
12431243
Expect(configData).Should(
1244-
ContainSubstring("backend = dogpile.cache.pymemcache"))
1244+
ContainSubstring("backend = oslo_cache.memcache_pool"))
12451245
Expect(configData).Should(
12461246
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
12471247
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
@@ -757,7 +757,7 @@ var _ = Describe("NovaScheduler controller", func() {
757757

758758
configData := string(configDataMap.Data["01-nova.conf"])
759759
Expect(configData).Should(
760-
ContainSubstring("backend = dogpile.cache.pymemcache"))
760+
ContainSubstring("backend = oslo_cache.memcache_pool"))
761761
Expect(configData).Should(
762762
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
763763
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
@@ -1050,7 +1050,7 @@ var _ = Describe("NovaAPI controller", func() {
10501050

10511051
configData = string(configDataMap.Data["01-nova.conf"])
10521052
Expect(configData).Should(
1053-
ContainSubstring("backend = dogpile.cache.pymemcache"))
1053+
ContainSubstring("backend = oslo_cache.memcache_pool"))
10541054
Expect(configData).Should(
10551055
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
10561056
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
@@ -1027,7 +1027,7 @@ var _ = Describe("NovaConductor controller", func() {
10271027

10281028
configData := string(configDataMap.Data["01-nova.conf"])
10291029
Expect(configData).Should(
1030-
ContainSubstring("backend = dogpile.cache.pymemcache"))
1030+
ContainSubstring("backend = oslo_cache.memcache_pool"))
10311031
Expect(configData).Should(
10321032
ContainSubstring(fmt.Sprintf("memcache_servers=memcached-0.memcached.%s.svc:11211,memcached-1.memcached.%s.svc:11211,memcached-2.memcached.%s.svc:11211",
10331033
novaNames.Namespace, novaNames.Namespace, novaNames.Namespace)))

0 commit comments

Comments
 (0)