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

OpenStack Trove创建数据库实例报错"Invalid key_name provided"求助

问题根因

Trove创建实例时会使用配置文件中[service_credentials]段定义的trove服务账号(属于service项目)调用Nova接口创建云主机,你配置的nova_keypair = trove-mgmt需要存在于service项目下trove用户的密钥对列表中。你之前验证的admin、demo用户名下的密钥对和Trove调用时使用的身份不匹配,因此依然报错。

解决步骤
  • 第一步:切换到Trove服务对应的身份环境,确认密钥对是否存在
# 导入trove服务账号的环境变量
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=service
export OS_USERNAME=trove
export OS_PASSWORD=pass # 替换为你trove用户的实际密码
export OS_AUTH_URL=http://control:5000/identity/v3
export OS_REGION_NAME=RegionOne
export OS_IDENTITY_API_VERSION=3

# 查看当前账号的密钥对列表
openstack keypair list
  • 第二步:根据查询结果选择对应处理方案,二选一即可:
    1. 保留密钥对配置:如果查询结果中没有trove-mgmt,将已有的公钥导入到当前trove服务账号下:
    openstack keypair create --public-key /path/to/你的/trove-mgmt公钥文件路径 trove-mgmt
    
    1. 不需要密钥对配置:直接注释掉/etc/trove/trove.conf中的nova_keypair = trove-mgmt配置项,Trove创建实例时就不会携带key_name参数。
  • 第三步:修改配置后重启所有Trove服务生效:
systemctl restart openstack-trove-api openstack-trove-taskmanager openstack-trove-conductor
  • 第四步:重新执行Trove实例创建命令验证问题是否解决。
排查补充

如果操作后仍报错,可以查看Nova侧的api日志,确认收到的创建实例请求中携带的key_name值、请求所属的用户和项目信息,进一步定位不匹配的原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:06:02