Openstack Trove:数据库实例创建失败,错误"Invalid key_name provided"



在创建Trove数据库实例的过程中,我遇到了错误"提供的密钥名称无效">

openstack database instance create mysql_instance_4 
--flavor 6 
--volume-type __DEFAULT__ 
--size 6 
--nic net-id=c45740a2-8846-4e51-afba-ed8983e27748 
--databases test --users userA:password 
--datastore mysql --datastore-version mysql_5.7 
--is-public 
--debug
...
2021-12-04 23:41:15.170 1729 DEBUG trove.common.clients_admin [-] Re-use admin nova client nova_client_trove_admin /usr/lib/python3/dist-packages/trove/common/clients_admin.py:65
2021-12-04 23:41:15.440 1729 ERROR trove.taskmanager.models [-] Failed to create server for instance f3ca7c57-77ff-43d0-b20e-53f555b70d33
Invalid key_name provided. (HTTP 400) (Request-ID: req-f3893f97-130c-4047-8520-760b6311b201)
Traceback (most recent call last):
...

但是,可以从生成的卷手动启动实例。这是我的配置:

root@control:~# nova flavor-create mysql-minimum 6 512 5 1
+----+---------------+------------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name          | Memory_MiB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | Description |
+----+---------------+------------+------+-----------+------+-------+-------------+-----------+-------------+
| 6  | mysql-minimum | 512        | 5    | 0         | 0    | 1     | 1.0         | True      | -           |
+----+---------------+------------+------+-----------+------+-------+-------------+-----------+-------------+
root@control:/etc/trove# cat trove.conf
[DEFAULT]
network_driver = trove.network.neutron.NeutronDriver
management_networks = c5b9c743-d74b-47d8-a85b-751bde6ee6d4
management_security_groups = 0380d519-00b5-4673-bd28-29e0f81335d1
cinder_volume_type = lvm
nova_keypair = trove-mgmt
default_datastore = mysql
taskmanager_manager = trove.taskmanager.manager.Manager
trove_api_workers = 5
transport_url = rabbit://openstack:pass@control:5672/
control_exchange = trove
rpc_backend = rabbit
reboot_time_out = 300
usage_timeout = 900
agent_call_high_timeout = 1200
use_syslog = False
debug = True
[keystone_authtoken]
memcached_servers = control:11211
cafile = /devstack/stack/data/ca-bundle.pem
project_domain_name = Default
project_name = service
user_domain_name = Default
password = pass
username = trove
auth_url = http://control:5000/identity
auth_type = password
[service_credentials]
auth_url = http://control:5000/identity/v3
region_name = RegionOne
project_name = service
password = pass
project_domain_name = Default
user_domain_name = Default
username = trove
[database]
connection = mysql+pymysql://trove:pass@control/trove?charset=utf8
[mariadb]
tcp_ports = 3306,4444,4567,4568
[mysql]
tcp_ports = 3306
[postgresql]
tcp_ports = 5432
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_policy]
root@control:/etc/trove# cat trove-guestagent.conf
[DEFAULT]
log_file = trove-guestagent.log
log_dir = /var/log/trove/
ignore_users = os_admin
control_exchange = trove
transport_url = rabbit://openstack:pass@control:5672/
rpc_backend = rabbit
command_process_timeout = 60
use_syslog = False
debug = True
[service_credentials]
auth_url = http://control:5000/v3
region_name = RegionOne
project_name = service
password = pass
project_domain_name = Default
user_domain_name = Default
username = trove

我还用";CCD_ 1";在trove.conf中,但没有成功。它存在,对于管理员和/或演示用户,但没有影响。感谢您的帮助!

密钥对应创建为trove用户。我有同样的错误,我正在另一个用户(管理员(下创建密钥对。

正如@user2580334所写,密钥对需要创建为trove用户。

截至维多利亚发布,执行该命令的命令是

openstack keypair create --private-key <PRIVATE KEY FILE> --user trove <KEYPAIR NAME>

要列出您的密钥对,您需要在openstack密钥对列表命令中包含--user参数。

最新更新