Skip to content

Commit

Permalink
Use the good configuration directive for memcache servers
Browse files Browse the repository at this point in the history
Under Pike, both the backend argument and memcache_servers work.
They both end-up with connections to the backend of memcache.

The latter doesn't have the bug when multiple servers are given,
though. So let's use this one exclusively.

This massive template change is for backwards compatibility:
If a deployer has set on of those keystone variables, the servers
used won't change.

Change-Id: I7e29aa0a9055b737dd4cf171c40e2105e4b32e94
Related-Bug: #1743036
  • Loading branch information
evrardjp committed Feb 7, 2018
1 parent a911882 commit e87e2bd
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 7 deletions.
5 changes: 0 additions & 5 deletions defaults/main.yml
Expand Up @@ -88,11 +88,6 @@ keystone_resource_driver: sql

keystone_bind_address: 0.0.0.0

## Memcached servers used within keystone.
# String or Comma separated list of servers.
keystone_memcached_servers: 127.0.0.1
keystone_memcached_max_compare_and_set_retry: 16

## DB info
keystone_galera_user: keystone
keystone_galera_database: keystone
Expand Down
20 changes: 18 additions & 2 deletions templates/keystone.conf.j2
Expand Up @@ -32,16 +32,32 @@ driver = messagingv2
transport_url = rabbit://{% for host in keystone_rabbitmq_telemetry_servers.split(',') %}{{ keystone_rabbitmq_telemetry_userid }}:{{ keystone_rabbitmq_telemetry_password }}@{{ host }}:{{ keystone_rabbitmq_telemetry_port }}{% if not loop.last %},{% else %}/{{ keystone_rabbitmq_telemetry_vhost }}{% endif %}{% endfor %}
{% endif %}

{% set _memcached_servers = '' %}
{% if keystone_cache_backend_argument is defined %}
{% set _memcached_servers_cleaned = keystone_cache_backend_argument | replace('url:','') %}
{% set _memcached_servers_listsrc = _memcached_servers_cleaned.split(',') %}
{% set _memcached_servers_listdest = [] %}
{% for _server in _memcached_servers_listsrc %}
{% if ":" not in _server %}
{% set _server = _server ~ ':' ~ memcached_port %}
{% endif %}
{% set _ = _memcached_servers_listdest.append(_server) %}
{% endfor %}
{% set _memcached_servers = _memcached_servers_listdest | join(',') %}
{% elif keystone_memcached_servers is defined %}
{% set _memcached_servers = keystone_memcached_servers %}
{% elif memcached_servers is defined %}
{% set _memcached_servers = memcached_servers %}
{% endif %}
{% if _memcached_servers | length > 0 %}
[cache]
backend = dogpile.cache.memcached
backend_argument = {{ keystone_cache_backend_argument }}
memcache_servers = {{ _memcached_servers }}
config_prefix = cache.keystone
distributed_lock = True
enabled = true
{% endif %}


[revoke]
caching = true
driver = {{ keystone_revocation_driver }}
Expand Down

0 comments on commit e87e2bd

Please sign in to comment.