我需要一个小的计费报告,用于在openstack停止后使用虚拟机中的虚拟机,到目前为止,我已经找到了从实例名称获取风味信息(vCPU,磁盘,内存)的方法。
我想知道VM现在的计算启动时间。
有没有什么好方法可以从openstack python API中获取它?
如果您也可以粘贴代码,那就太好了。
答案 0 :(得分:1)
(我从china-openstack community得到答案,并在此处分享)
在novaclient usage module中,list
API可以提取所有实例(有效或已终止),详细信息是通过get
API获取的,目前尚不清楚哪些信息是通过这个python文档公开。
幸运的是openstack api : os-simple-tenant-usage告诉数据结构,uptime
就是我想要的。
"tenant_usage": {
"server_usages": [
{
... (skipped)
"uptime": 3600,
"vcpus": 1
}
],
openstack仪表板(至少是Folsom版本)也使用此API。
答案 1 :(得分:1)
我只是想检索服务器的正常运行时间。我指的是服务器启动时的实际正常运行时间,而不是自创建以来。
请求 os-simple-tenant-usage 扩展(获取auth。令牌后):
GET http://rdo:8774/v2/4e1900cf21924a098709c23480e157c0/os-simple-tenant-usage/4e1900cf21924a098709c23480e157c0
(使用正确的租户ID)
响应(注意机器已停止且正常运行时间为非零值):
{
"tenant_usage": {
"total_memory_mb_usage": 0.000007111111111111112,
"total_vcpus_usage": 1.388888888888889e-8,
"start": "2014-02-25T14:20:19.660179",
"tenant_id": "4e1900cf21924a098709c23480e157c0",
"stop": "2014-02-25T14:20:19.660184",
"server_usages": [
{
"instance_id": "ca4465a8-38ca-40de-b138-82efcc88c7cf",
"uptime": 1199,
"started_at": "2014-02-25T14:00:20.000000",
"ended_at": null,
"memory_mb": 512,
"tenant_id": "4e1900cf21924a098709c23480e157c0",
"state": "stopped",
"hours": 1.388888888888889e-8,
"vcpus": 1,
"flavor": "m1.tiny",
"local_gb": 1,
"name": "m1"
}
],
"total_hours": 1.388888888888889e-8,
"total_local_gb_usage": 1.388888888888889e-8
}
}
因此,尽管名称正常运行时间,但自服务器创建以来时间。
答案 2 :(得分:0)