You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询OpenStack租户的创建日期?Keystone数据库无created_at字段

嘿,这个问题我之前踩过坑——用实例最早创建日期来替代租户创建时间确实太不靠谱了,空租户直接就被漏掉了。下面给你几个精准的解决方案:

1. 用OpenStack命令行/API直接查(最推荐)

Keystone从v3版本开始就已经在project(也就是你说的租户)的返回数据里包含created_at字段了,不用绕弯子查实例。

  • 用openstack客户端的话,直接执行:
    openstack project show <你的租户ID或名称> -c created_at
    
    比如查名为demo的租户:openstack project show demo -c created_at,输出会直接显示创建时间。
  • 如果没有装客户端,也可以用curl调用Keystone的v3 API:
    先获取认证token(需要用到你的OpenStack认证地址、用户名密码等信息),然后发送请求:
    curl -H "X-Auth-Token: <你的认证token>" https://<keystone地址>:5000/v3/projects/<租户ID>
    
    返回的JSON数据里肯定能找到created_at字段。

2. 直接查Keystone数据库(找对表就有)

你说找不到created_at字段,大概率是查错表了😅。Keystone的租户数据默认存在project表(如果你的数据库有自定义前缀,可能是keystone_project),这个表里明确有created_at和updated_at字段。
直接跑SQL查询就行:

SELECT id, name, created_at FROM project;

如果是多域部署,还可以加上域的过滤条件:

SELECT id, name, created_at FROM project WHERE domain_id = '<你的域ID>';

要是你用的是非常老的Keystone v2版本,那确实没有这个字段,这时候就得看下面的方法了。

3. 极端情况:老版本Keystone无字段的处理

如果真碰到没有created_at字段的老版本,针对无实例的租户,可以试试这些办法:

  • 翻Keystone的日志文件:默认日志路径一般是/var/log/keystone/keystone.log,搜索关键词Created project,日志里会记录创建租户的时间戳和租户ID/名称。
  • 查计量服务记录:如果你的OpenStack部署了Ceilometer或者Gnocchi,这些服务会记录租户创建的事件,你可以通过它们的API或者数据库查询对应的事件时间。
  • 查部署配置记录:如果是用Ansible、Terraform这类工具部署的OpenStack,部署脚本或日志里可能会有创建租户的时间点。

内容的提问来源于stack exchange,提问作者Lauden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:47:15