Conflicting documentation for HA memcached
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack-Ansible |
New
|
Undecided
|
Unassigned |
Bug Description
A document which nicely describes making memcached highly available exists at https:/
However, Keystone has issues talking to memcached via the HAProxy frontend. There's actually an inline comment recommending that Keystone's `memcache_servers` value is a comma-separated list, see https:/
We had to update the Keystone configuration to bypass HAProxy, else we'd frequently experience "keystone.
Perhaps the first document should be updated to include this caveat? I'm happy to help troubleshoot or provide additional details to better understand this problem.
I can imagine this happening in 2 cases:
1. You've changed haproxy_balance_alg from source to smth else
2. You have dynamic IP's which can change during the session
`memcache_servers` value is a comma-separated list when it's actually the list, which is not the case when a balancer used in front of it. In this case keystone decides on which memcached server specific cache is stored. The problem here is that it doesn't have option to mark one of it DOWN when you have issue with controllers, which will result in timeouts.
When haproxy is used we rely on the source IP of the request to get service to the exact same memcached server as it was before. Otherwise you will get issues like described.
I'm using this config in several of production deployments on train for a year or so, and never experienced any issues with it