我是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;
答案 0 :(得分:0)
"端点"只是表示"您联系服务的网址"。在OpenStack中,keystone
服务维护一个"目录" API端点。创建Ceilometer客户端对象时,它会向服务目录询问metering
服务的URL。
如果您的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
服务,您可能就是这样
需要遵循these instructions(查找标有&#34的步骤;使用身份服务的遥测服务,以便其他OpenStack服务可以找到它")。