2015-03-19 5 views
0

Я новичок в openstack, пытаясь использовать Ceilometer python API, чтобы вытащить некоторые данные с тестового сервера, но я получаю эту ошибку, которую я не понимаю, что ей нужно в качестве конечной точки?Что означает конечная точка в терминах API-интерфейса Ceilometer API python?

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

Термин "конечная точка" просто означает "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 услугу, вы, вероятно, должны следовать these instructions (обратите внимание на шаг с надписью «телеметрическая службой с идентификацией службой так, чтобы другие услуги OpenStack могут найти его»).

+0

ОК, я понимаю часть url, но как добавить конечную точку в свой код, OS_ENDPOIN = "url" не работает, – Imi