【问题标题】:how to impliment auth_token in Ceilometer Python Client API如何在 Ceilometer Python 客户端 API 中实现身份验证令牌
【发布时间】:2015-03-27 14:04:59
【问题描述】:

我真的很难理解 Ceilometerclient。我不明白为什么它无法识别 auth_token 属性,它写在他们的documentation,我做错了什么

import ceilometerclient
import ceilometerclient.client
import keystoneclient.v2_0.client as ksclient
import ceilometerclient.v2 as c_client
from ceilometerclient import client

OS_USERNAME="username"
OS_PASSWORD="pass"
OS_TENANT_NAME="project"
OS_AUTH_URL="hosturl:5000/v2.0/"
CEILOMETER_ENDPOINT="hosturl:8777"

ceilometer_client= 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)


auth_token = ceilometer_client.auth_token
ceilometer = c_client.Client(endpoint=CEILOMETER_ENDPOINT, token= lambda : auth_token )

meterlist = ceilometer_client.meters.list()

cpu_util_sample = ceilometer.samples.list('cpu_util')
for each in cpu_util_sample:
    print each.timestamp, each.resource_id, each.counter_volume

错误

auth_token = ceilometer_client.auth_token
AttributeError: 'Client' object has no attribute 'auth_token'

【问题讨论】:

    标签: python openstack keystone ceilometer


    【解决方案1】:

    试试这个代码:

    from keystoneclient.auth.identity import v2
    from keystoneclient import session
    from ceilometerclient import client
    
    auth=v2.Password(auth_url="hosturl:5000/v2.0/", username="admin", password="pass", tenant_id='123456')
    
    sess = session.Session(auth=auth,verify=False)     # verify=False may not be required for you    
    token = auth.get_token(sess)
    
    cclient = client.get_client(2, ceilometer_url="hosturl:8777/", token=token,verify=False)
    cclient.meters.list()
    

    【讨论】:

    • 谢谢你至少有人回复了
    • @tuathail,是否可以使用tenant_name 代替tenant_id。
    猜你喜欢
    • 2013-08-19
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 2017-06-11
    • 2019-06-16
    • 1970-01-01
    相关资源
    最近更新 更多