OpenStack Havana 刷新 token 手动操作

shan

一直以来,在 MySQL 中管理 token 都是一件非常麻烦的事情,尤其是在使用 PKI token 的情况下,因为它们比 UUID token 更大。 差不多一年前,我写了一篇 关于通过脚本清除 token 的文章。 所以,最终,我们有一个简单的选项来清除所有过期的 token。

1
$ sudo keystone-manage token_flush

定期执行的脚本

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash

# Purpose of the script
# Everytime a service wants to be do 'something' it has to retrieve an autentication token
# Nova/Glance/Cinder services are manage by Pacemaker and monitor functions (from the RA) ask for a token every 10 sec
# There is no cleanup procedure nor periodical task running to delete expire token

logger -t keystone-cleaner "Starting token cleanup"
keystone-manage token_flush
logger -t keystone-cleaner "Ending token cleanup"

exit 0

对于那些好奇的人,这是该命令的作用

DELETE FROM token WHERE token.expires < %s' (datetime.datetime(2013, 11, 19, 15, 20, 26, 115332),)

其中 2013, 11, 19, 15, 20, 26, 115332 是您当前的时间和日期。

希望对您有所帮助!