openstack-wsgi的route中增加api流程詳解(os-networks)增加
阿新 • • 發佈:2019-01-27
感謝朋友支援本部落格,歡迎共同探討交流,由於能力和時間有限,錯誤之處在所難免,歡迎指正!
如有轉載,請保留源作者部落格資訊。
如需交流,歡迎大家部落格留言。
在前面文章中,已經詳細介紹了,如何從頁面dashboard呼叫novaclient然後生成一個url地址 ,或從啟動nova --debug list 然後呼叫novaclient然後生成URL地址 url地址形如: GET /v2/b077619bde964a4eb924db869fba977d/servers/detail 今天文章中要講解的是當我們以後生成了這樣一個url了,下一步wsgi框架又是如何根據url去呼叫nova底層相應的程式碼。vim /usr/lib/python2.6/site-packages/nova/api/openstack/__init__.py |
重啟openstack-nova-api服務
service openstack-nova-api restart tailf /var/log/nova/api.log |
vim /usr/lib/python2.6/site-packages/nova/api/openstack/compute/contrib/os_networks.py |
1:用dashboard通過novaclient組裝。(網路的由neutronclient組裝,簡單起見,後續文章預設只提及novaclient) 2:通過系統命令例如nova list產生。 3:通過curl自己組裝。 |
curl -i 'http://192.168.1.158:8774/v2/b077619bde964a4eb924db869fba977d/os-networks/test_collection' -X POST -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token:$token" |
開啟route釋出原始碼:
vim /usr/lib/python2.6/site-packages/nova/api/openstack/compute/contrib/os_networks.py |
curl -i 'http://192.168.1.158:8774/v2/b077619bde964a4eb924db869fba977d/os-networks/test_collection' -X POST -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token:$token" |
在test_collection函式中,新增自定義的底層程式碼即可。 到此新增底層api完成。