OpenStack Python CLI-“ nova”无法识别云配置

问题描述

我在~/.config/openstack/clouds.yaml

中明确定义了我的云配置

运行CLI openstack命令可以正常工作(例如:openstack domains list等)

尝试运行CLI nova命令(例如:nova service-list)将返回ERROR (CommandError): You must provide a user name/id (via --os-username,--os-user-id,env[OS_USERNAME] or env[OS_USER_ID]) or an auth token (via --os-token).

nova是否应该使用相同的clouds.yaml配置?

注意:这会在所有云上发生(使用export OS_CLOUD=<name>进行切换),并且仅在nova上失败。

编辑:这不是我可以控制的devstack部署。我只有每个云的配置信息和用于根据需要进行更改的管理员凭据。

解决方法

您应该使用openstack-commands,因为不建议使用nova-command之类的客户端库。因此,请使用openstack compute service list而不是nova service-list

除此之外,nova命令还需要相同的身份验证,例如openstack命令,因此,如果您的登录凭据位于cloud.yaml中,那么您的nova命令也需要此身份验证。