Architecture of keystone, swift and memcached together

asked 2020-02-12 04:09:40 -0600

Hamid gravatar image

updated 2020-02-12 04:11:53 -0600

Hi I've been installed openstack swift and keystone and memcached together;

(I installed openstack Queen on ubuntue 16.04 LTS) After installation i read some documents that i didnt understand what did it mean exactly 1.First is about middleware architecture, i want to user be authenticate and authorize on the keystone and controller node and i dont wanna delegate this to openstack services, for this purpose which parameters should be change and which parameters related to this purpose? And if oneday i wanna use Delegated mode which options should changed?

Second: 2.I wan to use memcached as a cache server for my keys and i dont want every time users with same username or AUTH_Key goes to keystone How can i set that swift first send request to memcached and then if there wasnt any answer it goes to keystone and then it stores in memcached? and which options should set in swift proxy config file?

3.what is this two following options and diffrent between them?

memcached_servers = controller-1:11211
cache = swift.cache

this is explanation of swift Documentation about these two parameters:

 Request environment key where the Swift cache object is stored. When  auth_token middleware is deployed with a Swift cache, use this option to have  the middleware share a caching backend with swift. Otherwise, use the ``memcached_servers`` option instead. (string value)
cache = <None>

 Optionally specify a list of memcached server(s) to use for caching. If left  undefined, tokens will instead be cached in-process. (list value). Deprecated group/name -                                   [keystone_authtoken]/memcache_servers
memcached_servers = <None>

I didnt understand what did it mean? when i wanna use caching on my servers , which options should i use? should i only use " cache = swift.cache" (i dont know even what is swift.cache!!!) for caching if it is true how can i define my memcach servers?

4. And at the end how can i understand that memcached are caching key values? how can check its database? with which commands

Please answer all, Thanks

Best regards.

edit retag flag offensive close merge delete


Can anyone help me for this questions?

Hamid gravatar imageHamid ( 2020-02-13 01:54:23 -0600 )edit

2- I think you have to write your own authentication solution. Perhaps helps.


Bernd Bausch gravatar imageBernd Bausch ( 2020-02-23 15:02:49 -0600 )edit

Another question is that can i seprate account and container DBs from object storage? How can i do this? should i run first command on some nodes and second on all nodes?

swift-ring-builder account/container.builder add r1z1-$ip:$port/sdb 100

swift-ring-builder object.builder add r1z1-$ip:$port/sd

Hamid gravatar imageHamid ( 2020-02-24 04:34:47 -0600 )edit

Yes you can have servers dedicated for objects and other servers dedicated for accounts and containers. I suppose you would run the ring builder commands with different sets of IPs.

Bernd Bausch gravatar imageBernd Bausch ( 2020-02-24 04:56:03 -0600 )edit

So, i wanted to have objects and their metadata's on all nodes but account and containers just in 4 nodes i should run ring builder commands for all nodes (with their ips) but for accounts and containers run it just for 4 specifics servers?

Hamid gravatar imageHamid ( 2020-02-24 06:22:17 -0600 )edit

1 answer

Sort by ยป oldest newest most voted

answered 2020-03-25 10:34:53 -0600

memcached_servers = controller-1:11211

cache = swift.cache

controller-1 is IP or hostname of memcached server

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2020-02-12 04:09:40 -0600

Seen: 225 times

Last updated: Feb 12 '20