0

我是 openstack 的新手,试图使用 Ceilometer python API 从测试台服务器中提取一些数据,但我收到这个错误,我不明白,它需要什么作为端点?

raise exceptions.EndpointNotFound()
keystoneclient.openstack.common.apiclient.exceptions.EndpointNotFound

我的代码很简单,

import ceilometerclient
import ceilometerclient.client
import ceilometerclient.v2 as c_client


OS_USERNAME="myusername"
OS_PASSWORD="mypassword"
OS_TENANT_NAME="myproject"
OS_AUTH_URL="url"

cclient = ceilometerclient.client.get_client(2, os_username=OS_USERNAME, os_password=OS_PASSWORD, os_tenant_name=OS_TENANT_NAME, os_auth_url=OS_AUTH_URL)

samples = cclient.meters.list()
for s in sample:
    print s;
    print;
4

1 回答 1

0

“端点”仅表示“您联系服务的 URL”。在 OpenStack 中,keystone服务维护 API 端点的“目录”。创建 Ceilometer 客户端对象时,它会向服务目录询问服务的 URL metering

如果此服务未列在 Keystone 目录中,您将看到此错误。

您可以通过运行查看当前在目录中配置的端点openstack endpoint list(如果您有openstack可用的统一客户端):

$ openstack endpoint list
+------...+-----------+--------------+---------------+
| ID   ...| Region    | Service Name | Service Type  |
+------...+-----------+--------------+---------------+
| c700a...| RegionOne | myservice    | messagequeue  |
| 4bd81...| RegionOne | keystone     | identity      |
| a2e5f...| RegionOne | nova         | compute       |
| 30483...| RegionOne | heat         | orchestration |
| f4ab0...| RegionOne | neutron      | network       |
| 482d9...| RegionOne | cinder       | volume        |
| e2615...| RegionOne | myservice    | messagequeue  |
| e7ef8...| RegionOne | ceilometer   | metering      |
| 41a1d...| RegionOne | nova_ec2     | ec2           |
| 9a7b8...| RegionOne | glance       | image         |
| 5bb58...| RegionOne | cinder_v2    | volumev2      |
+------...+-----------+--------------+---------------+

如果您没有可用的统一客户端,您可以使用keystone service-list和的组合keystone endpoint-list来获取相同的信息。

如果您的环境没有列出该metering服务,您可能需要遵循这些说明(查找标记为“带有身份服务的遥测服务以便其他 OpenStack 服务可以找到它”的步骤)。

于 2015-03-19T19:32:27.020 回答