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命令也需要此身份验证。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...