proxy-server configuration file parameters

asked 2020-02-23 05:24:16 -0500

Hamid gravatar image

updated 2020-02-23 05:27:22 -0500

What is difference between putting following options into the proxy-server config file and do not?:

cache = swift.cache
token_cache_time = 3153600

When i want to use caching , should i set this parameter or not? please explain about it....


edit retag flag offensive close merge delete


After all, how can i understand those options that are in this file?

Hamid gravatar imageHamid ( 2020-02-23 05:30:44 -0500 )edit
Bernd Bausch gravatar imageBernd Bausch ( 2020-02-23 05:50:21 -0500 )edit

Can you please first answer the question of this link:? (

Hamid gravatar imageHamid ( 2020-02-23 06:01:10 -0500 )edit

What is keystoen middleware architecture? I dont understand this architecture and explanation at link that you send ...

Hamid gravatar imageHamid ( 2020-02-23 06:29:09 -0500 )edit

I dont understand what does this sentence mean?:

cache: When keystone’s auth_token middleware is deployed with a swift cache, use this option to have auth_token middleware share a caching backend with swift. Otherwise, use the memcached_servers option instead.

Hamid gravatar imageHamid ( 2020-02-23 06:33:42 -0500 )edit

1 answer

Sort by » oldest newest most voted

answered 2020-02-23 08:01:53 -0500

updated 2020-02-23 08:05:24 -0500

I am not 100% sure if I understand all details correctly, but I am confident that my explanation is correct at a high level.

Keystone middleware is a Python program used by other components of OpenStack to perform authentication. It validates tokens.

You need to understand how authentication works. E.g. when you log on to the GUI, it obtains a token for you. At each action, e.g. launching an instance, listing volumes, creating a router, the same token is submitted to Nova, Cinder and Neutron. It needs to be validated by talking to Keystone.

Rather than validating the same token again and again, the keystone middleware caches it, normally in memcached. Swift has its own token cache, and the swift.cache option tells the keystone middleware to use the Swift cache instead of memcached.

If you use memcached as the caching method, Swift's token caching is done separately from the caching of other OpenStack services.

To go back to the original question, you set these options in the hope that sharing the token cache with Swift will be beneficial for performance.

edit flag offensive delete link more


1.If use this option beside defining memcached server, it means that both memcached and swift will be cached the token? And when a user want to do a task, at first it should go to memcached or swift' cache?

Hamid gravatar imageHamid ( 2020-02-23 08:45:25 -0500 )edit

2.Where swift's cache , cach this kind of tokens? In wich databases?!

Hamid gravatar imageHamid ( 2020-02-23 08:49:53 -0500 )edit
  1. My guess is that it is not defined what happens when you specify both

  2. I don't know, but most likely not in a database but inside some process' memory

Bernd Bausch gravatar imageBernd Bausch ( 2020-02-23 14:35:24 -0500 )edit

I test swift proxy by defining these parameters and without "cache=swift.cache", in both scenario it didnt change in resault, but when i didnt define "cache=...." it saved token like "Token/6544456" in memcached ,but when i set that optioons it saved that like a number "545456465" in memcached.

Hamid gravatar imageHamid ( 2020-02-24 02:18:25 -0500 )edit

I think it didnt really change in resault,I prefer to define both memcached servers and swift.cache ,whats your opinion?

Hamid gravatar imageHamid ( 2020-02-24 02:19:12 -0500 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2020-02-23 05:24:16 -0500

Seen: 70 times

Last updated: Feb 23