设为首页 收藏本站
查看: 657|回复: 0

[经验分享] openstack nova 深入

[复制链接]

尚未签到

发表于 2017-6-26 15:22:00 | 显示全部楼层 |阅读模式
一、概述:
  由nova --debug list查看到:



#nova --debug list
DEBUG (session:195) REQ: curl -g -i -X GET http://192.168.39.172:5000/v2.0 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
INFO (connectionpool:203) Starting new HTTP connection (1): 192.168.39.172
DEBUG (connectionpool:383) "GET /v2.0 HTTP/1.1" 200 340
DEBUG (session:224) RESP: [200] content-length: 340 vary: X-Auth-Token connection: keep-alive date: Tue, 06 Jun 2017 08:18:26 GMT content-type: application/json x-openstack-request-id: req-7a31faa4-497d-46e2-a137-51255744bd01
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://192.168.39.172:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}
DEBUG (v2:76) Making authentication request to http://192.168.39.172:5000/v2.0/tokens
DEBUG (connectionpool:383) "POST /v2.0/tokens HTTP/1.1" 200 3327
DEBUG (session:195) REQ: curl -g -i -X GET http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/detail -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}eaa78ad5bbad815caccc425100e97714d032eb71"

INFO (connectionpool:203) Starting new HTTP connection (1): 192.168.39.172
DEBUG (connectionpool:383) "GET /v2/b8a56795b6d749cd8434f841868ee6a4/servers/detail HTTP/1.1" 200 4848
DEBUG (session:224) RESP: [200] date: Tue, 06 Jun 2017 08:18:26 GMT connection: keep-alive content-type: application/json content-length: 4848 x-compute-request-id: req-0452bc14-9ae0-46ad-b857-4102a0a23d72
RESP BODY: {"servers": [{"status": "ACTIVE", "updated": "2017-06-05T03:31:36Z", "hostId": "4c820983066e6ff21f0753adca9b55e75797235c0fb8fa1141efab4d", "OS-EXT-SRV-ATTR:host": "TS-M2-Cloud173", "addresses": {"NW": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:d5:ed:11", "version": 4, "addr": "192.168.0.189", "OS-EXT-IPS:type": "fixed"}]}, "links": [{"href": "http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/2e3dd89c-ad59-4499-a3ff-6444ca74f7c3", "rel": "self"}, {"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/servers/2e3dd89c-ad59-4499-a3ff-6444ca74f7c3", "rel": "bookmark"}], "key_name": null, "image": "", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-000000d1", "OS-SRV-USG:launched_at": "2017-05-25T07:12:27.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "TS-M2-Cloud173", "flavor": {"id": "c0540dff-eadd-44b2-a6d4-a4f74409b9c4", "links": [{"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/flavors/c0540dff-eadd-44b2-a6d4-a4f74409b9c4", "rel": "bookmark"}]}, "id": "2e3dd89c-ad59-4499-a3ff-6444ca74f7c3", "security_groups": [{"name": "default"}], "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "ACTIVE", "user_id": "c2102ee1835440e39eea98cf264f118e", "name": "New", "created": "2017-05-25T07:11:56Z", "tenant_id": "b8a56795b6d749cd8434f841868ee6a4", "OS-DCF:diskConfig": "AUTO", "os-extended-volumes:volumes_attached": [{"id": "a79fe8d0-efe9-47be-a54e-033a1ad08f71"}], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive": "", "metadata": {}}, {"status": "ACTIVE", "updated": "2017-05-25T07:12:57Z", "hostId": "fbd0e31d7dd6d0f516942bc9b19f6a1733e0108121008d884e44d5b9", "OS-EXT-SRV-ATTR:host": "TS-M2-Cloud177", "addresses": {"NW": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:12:a4:f0", "version": 4, "addr": "192.168.0.188", "OS-EXT-IPS:type": "fixed"}]}, "links": [{"href": "http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/8e61920f-150a-43e9-addd-85e3108ea771", "rel": "self"}, {"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/servers/8e61920f-150a-43e9-addd-85e3108ea771", "rel": "bookmark"}], "key_name": null, "image": "", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-000000d0", "OS-SRV-USG:launched_at": "2017-05-25T07:12:56.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "TS-M2-Cloud177", "flavor": {"id": "c0540dff-eadd-44b2-a6d4-a4f74409b9c4", "links": [{"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/flavors/c0540dff-eadd-44b2-a6d4-a4f74409b9c4", "rel": "bookmark"}]}, "id": "8e61920f-150a-43e9-addd-85e3108ea771", "security_groups": [{"name": "default"}], "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "ACTIVE", "user_id": "c2102ee1835440e39eea98cf264f118e", "name": "test-1", "created": "2017-05-25T07:11:55Z", "tenant_id": "b8a56795b6d749cd8434f841868ee6a4", "OS-DCF:diskConfig": "AUTO", "os-extended-volumes:volumes_attached": [{"id": "dfc6abad-49bd-40a9-a7a5-4c868eb9e211"}], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive": "", "metadata": {}}, {"status": "ACTIVE", "updated": "2017-05-19T03:35:37Z", "hostId": "fbd0e31d7dd6d0f516942bc9b19f6a1733e0108121008d884e44d5b9", "OS-EXT-SRV-ATTR:host": "TS-M2-Cloud177", "addresses": {"Office": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:82:15:4e", "version": 4, "addr": "192.168.39.68", "OS-EXT-IPS:type": "fixed"}]}, "links": [{"href": "http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/34f0b3a5-4142-4276-b27d-bac7c64f9f90", "rel": "self"}, {"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/servers/34f0b3a5-4142-4276-b27d-bac7c64f9f90", "rel": "bookmark"}], "key_name": null, "image": "", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-000000c8", "OS-SRV-USG:launched_at": "2017-05-19T03:35:37.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "TS-M2-Cloud177", "flavor": {"id": "665a38e6-6f80-4dc2-ad97-89ca335358e6", "links": [{"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/flavors/665a38e6-6f80-4dc2-ad97-89ca335358e6", "rel": "bookmark"}]}, "id": "34f0b3a5-4142-4276-b27d-bac7c64f9f90", "security_groups": [{"name": "default"}], "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "ACTIVE", "user_id": "c2102ee1835440e39eea98cf264f118e", "name": "test01", "created": "2017-05-19T03:35:24Z", "tenant_id": "b8a56795b6d749cd8434f841868ee6a4", "OS-DCF:diskConfig": "AUTO", "os-extended-volumes:volumes_attached": [{"id": "48e6d225-c43e-41a3-8890-8a3d40b4a38e"}], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive": "", "metadata": {}}]}
+--------------------------------------+------------------+--------+------------+-------------+----------------------+
| ID                                   | Name             | Status | Task State | Power State | Networks             |
+--------------------------------------+------------------+--------+------------+-------------+----------------------+
| 2e3dd89c-ad59-4499-a3ff-6444ca74f7c3 | New              | ACTIVE | -          | Running     | NW=192.168.0.189     |
| 34f0b3a5-4142-4276-b27d-bac7c64f9f90 | test01           | ACTIVE | -          | Running     | Office=192.168.39.68 |
| 8e61920f-150a-43e9-addd-85e3108ea771 | test-1           | ACTIVE | -          | Running     | NW=192.168.0.188     |
+--------------------------------------+------------------+--------+------------+-------------+----------------------+
  由第二个请求可知,获取请求结果实质是通过二个请求即可(ps:第一个请求为token)



curl -g -i -X GET http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/detail -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: 28db6fe8c2ac45db850b96189c939629"
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4848
X-Compute-Request-Id: req-cff95650-9cf8-442f-8a2c-fdc90c21443b
Date: Tue, 06 Jun 2017 08:21:06 GMT
{"servers": [{"status": "ACTIVE", "updated": "2017-06-05T03:31:36Z", "hostId": "4c820983066e6ff21f0753adca9b55e75797235c0fb8fa1141efab4d", "OS-EXT-SRV-ATTR:host": "TS-M2-Cloud173", "addresses": {"NW": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:d5:ed:11", "version": 4, "addr": "192.168.0.189", "OS-EXT-IPS:type": "fixed"}]}, "links": [{"href": "http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/2e3dd89c-ad59-4499-a3ff-6444ca74f7c3", "rel": "self"}, {"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/servers/2e3dd89c-ad59-4499-a3ff-6444ca74f7c3", "rel": "bookmark"}], "key_name": null, "image": "", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-000000d1", "OS-SRV-USG:launched_at": "2017-05-25T07:12:27.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "TS-M2-Cloud173", "flavor": {"id": "c0540dff-eadd-44b2-a6d4-a4f74409b9c4", "links": [{"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/flavors/c0540dff-eadd-44b2-a6d4-a4f74409b9c4", "rel": "bookmark"}]}, "id": "2e3dd89c-ad59-4499-a3ff-6444ca74f7c3", "security_groups": [{"name": "default"}], "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "ACTIVE", "user_id": "c2102ee1835440e39eea98cf264f118e", "name": "New", "created": "2017-05-25T07:11:56Z", "tenant_id": "b8a56795b6d749cd8434f841868ee6a4", "OS-DCF:diskConfig": "AUTO", "os-extended-volumes:volumes_attached": [{"id": "a79fe8d0-efe9-47be-a54e-033a1ad08f71"}], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive": "", "metadata": {}}, {"status": "ACTIVE", "updated": "2017-05-25T07:12:57Z", "hostId": "fbd0e31d7dd6d0f516942bc9b19f6a1733e0108121008d884e44d5b9", "OS-EXT-SRV-ATTR:host": "TS-M2-Cloud177", "addresses": {"NW": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:12:a4:f0", "version": 4, "addr": "192.168.0.188", "OS-EXT-IPS:type": "fixed"}]}, "links": [{"href": "http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/8e61920f-150a-43e9-addd-85e3108ea771", "rel": "self"}, {"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/servers/8e61920f-150a-43e9-addd-85e3108ea771", "rel": "bookmark"}], "key_name": null, "image": "", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-000000d0", "OS-SRV-USG:launched_at": "2017-05-25T07:12:56.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "TS-M2-Cloud177", "flavor": {"id": "c0540dff-eadd-44b2-a6d4-a4f74409b9c4", "links": [{"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/flavors/c0540dff-eadd-44b2-a6d4-a4f74409b9c4", "rel": "bookmark"}]}, "id": "8e61920f-150a-43e9-addd-85e3108ea771", "security_groups": [{"name": "default"}], "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "ACTIVE", "user_id": "c2102ee1835440e39eea98cf264f118e", "name": "test-1", "created": "2017-05-25T07:11:55Z", "tenant_id": "b8a56795b6d749cd8434f841868ee6a4", "OS-DCF:diskConfig": "AUTO", "os-extended-volumes:volumes_attached": [{"id": "dfc6abad-49bd-40a9-a7a5-4c868eb9e211"}], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive": "", "metadata": {}}, {"status": "ACTIVE", "updated": "2017-05-19T03:35:37Z", "hostId": "fbd0e31d7dd6d0f516942bc9b19f6a1733e0108121008d884e44d5b9", "OS-EXT-SRV-ATTR:host": "TS-M2-Cloud177", "addresses": {"Office": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:82:15:4e", "version": 4, "addr": "192.168.39.68", "OS-EXT-IPS:type": "fixed"}]}, "links": [{"href": "http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/34f0b3a5-4142-4276-b27d-bac7c64f9f90", "rel": "self"}, {"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/servers/34f0b3a5-4142-4276-b27d-bac7c64f9f90", "rel": "bookmark"}], "key_name": null, "image": "", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-000000c8", "OS-SRV-USG:launched_at": "2017-05-19T03:35:37.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "TS-M2-Cloud177", "flavor": {"id": "665a38e6-6f80-4dc2-ad97-89ca335358e6", "links": [{"href": "http://192.168.39.172:8774/b8a56795b6d749cd8434f841868ee6a4/flavors/665a38e6-6f80-4dc2-ad97-89ca335358e6", "rel": "bookmark"}]}, "id": "34f0b3a5-4142-4276-b27d-bac7c64f9f90", "security_groups": [{"name": "default"}], "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "ACTIVE", "user_id": "c2102ee1835440e39eea98cf264f118e", "name": "chengpeng_test01", "created": "2017-05-19T03:35:24Z", "tenant_id": "b8a56795b6d749cd8434f841868ee6a4", "OS-DCF:diskConfig": "AUTO", "os-extended-volumes:volumes_attached": [{"id": "48e6d225-c43e-41a3-8890-8a3d40b4a38e"}], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive": "", "metadata": {}}]}
  分析该url:http://192.168.39.172:8774/v2/b8a56795b6d749cd8434f841868ee6a4/servers/detail; 如何转换为底层请求具体的方法呢?
  1、nova-api来接收请求;其底层配置配置为/etc/nova/api-paste.ini
DSC0000.png

  2、可知app_factory路径为:nova/api/openstack/compute包中,查看其__init__.py文件:
DSC0001.png

  由此路由函数即可进行转换;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-388234-1-1.html 上篇帖子: 【openstack N版】——块存储服务cinder 下篇帖子: libcloud----keystone----openstack SAIO
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表