novaclient代码解析之---通过nova show <server-id>命令解析Nova client与Nova API之间的调用关系

本文详细解析了通过novaclient执行nova show <server-id>命令时,客户端与Nova API之间的调用流程。从获取token开始,依次调用servers.Controller.index(), servers.Controller.show(), flavors.Controller.show()和images.Controller.show()。当不使用--minimal参数时,还会获取image和flavor信息。同时,文章提出疑问:未明确请求security-groups信息,为何在返回结果中出现,暗示了Nova API内部extension机制的作用,留待下篇博客解答。" 46968391,5108723,理解ACM中的邻接表结构,"['图论算法', '数据结构', 'ACM竞赛', '图的存储']
摘要由CSDN通过智能技术生成

#nova–debug show <server-id>, (这里不讨论novaclient的认证过程)

可以client端得到的debug信息,调用过程如下:

1. 从服务器获取token
2. 调用servers.Controller.index()
3. 调用servers.Controller.show()
4. 调用flavors.Controller.show()
5. 调用images.Controller.show()

<pre name="code" class="python"><span style="font-size:14px;">REQ: curl -g -i --cacert "/opt/stack/data/ca-bundle.pem" -X GET http://9.115.122.54:35357/v3/auth/tokens -H "X-
Subject-Token: {SHA1}6b17daa3f28a43f6ce18863dfaa4374fbe59f6e0" -H "User-Agent: python-keystoneclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}6bbfbc9a37c9
ab53696017541de0df5107e9ad35"

nova.api.openstack.wsgi: Calling method '<bound method Controller.index of <nova.api
.openstack.compute.servers.Controller object at 0x7fbd39a7b7d0>>' 

nova.compute.api: Searching by: {'deleted': False, 'project_id': u'ecb571eb456242f1a
f7e37c5190382bd', u'name': u'vm1'} 
nova.osapi_compute.wsgi.server: localhost "GET /v2/ecb571eb456242f1af7e37c5190382b
d/servers?name=vm1 HTTP/1.1" status: 200 len: 553 time: 0.1614599

nova.api.openstack.wsgi: Calling method '<bound method Controller.show of <nova.api.
openstack.compute.servers.Controller object at 0x7fbd39a7b7d0>>'
nova.osapi_compute.wsgi.server: localhost "GET /v2/ecb571eb456242f1af7e37c5190382bd/servers/33b937f9-2785-4fe0-8f88-6474ff50f7bb HTTP/1.1" status: 200 len: 1892 time: 0.0848639

nova.api.openstack.wsgi: Calling method '<bound method Controller.show of <nova.api.openstack.compute.flavors.Controller object at 0x7fbd39a0b910>>' 
nova.osapi_compute.wsgi.server:localhost "GET /v2/ecb571eb456242f1af7e37c5190382bd/flavors/42 HTTP/1.1" status: 200 len: 621 time: 0.0289028

nova.api.openstack.wsgi:Calling method '<bound method Controller.show of <nova.api.openstack.compute.images.Controller object at 0x7fbd399f0bd0>>' 
nova.osapi_compute.wsgi.server: localhost "GET /v2/ecb571eb456242f1af7e37c5190382bd/images/16f62e95-57b0-4ddd-88ee-2b063ce5f1e3 HTTP/1.1"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值