【问题标题】:Openstack - Nova client - Retrieve servers for particular tenantOpenstack - Nova 客户端 - 检索特定租户的服务器
【发布时间】:2016-05-04 02:52:06
【问题描述】:

我需要获取特定租户可用的服务器列表。

假设租户的tenant_id如下:

ee13ef5e10644f3782179bbfac1cdab5

现在我需要获取仅适用于特定租户的服务器。

我已经尝试了如下代码:

我无法得到结果。

当我尝试相同时,它只是显示一个空列表。

from novaclient import client
import json


kwargs = {
    "tenant_name":'admin',
    "auth_url":'http://127.0.0.1:5000/v2.0',
    "username":'admin',
    "password":'password',
}

# Establish the connection Keystone
keystone = client.Client('2', 'admin', 'sop52maw', 'admin', 'http://127.0.0.1:5000/v2.0')

server_list = keystone.servers.list(search_opts={'tenant_id':'ee13ef5e10644f3782179bbfac1cdab5'})
print server_list

有人看看,指导我解决这个问题。

【问题讨论】:

    标签: python openstack openstack-nova


    【解决方案1】:

    默认情况下,nova 只返回与进行调用的租户关联的实例,在这种情况下,它是 admin 租户。要通知 nova 从所有租户返回实例,您可以将其添加到 search_opts

    nova = client.Client('2', 'admin', 'sop52maw', 'admin', 'http://127.0.0.1:5000/v2.0')
    search_opts = {'tenant_id':'ee13ef5e10644f3782179bbfac1cdab5', 'all_tenants': 1}
    server_list = nova.servers.list(search_opts=search_opts)
    

    注意:不知道你为什么打电话给 nova 客户端 keystone 但这让我很困惑。 Keystone 是身份服务,您显然是在与计算服务 (Nova) 对话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多