一、概述:

  由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

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

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

openstack nova 深入的更多相关文章

  1. OpenStack nova VM migration (live and cold) call flow

    OpenStack nova compute supports two flavors of Virtual Machine (VM) migration: Cold migration -- mig ...

  2. 如何删除 OpenStack Nova 僵尸实例

    转自:http://www.vpsee.com/2011/11/how-to-delete-a-openstack-nova-zombie-instance/ 前天强制重启一台 OpenStack N ...

  3. OpenStack Nova 制作 Windows 镜像

    OpenStack Nova 制作 Windows 镜像   windows虚拟机ubuntuimage防火墙云计算 本贴转自http://www.vpsee.com 上次 VPSee 给 OpenS ...

  4. 深挖Openstack Nova - Scheduler调度策略

    深挖Openstack Nova - Scheduler调度策略   一.  Scheduler的作用就是在创建实例(instance)时,为实例选择出合适的主机(host).这个过程分两步:过滤(F ...

  5. OpenStack Nova

    OpenStack Nova 简介 OpenStack 中的 Nova 负责维护和管理云环境的计算资源 Nova 在现有 Linux 服务器上作为一组守护线程来提供服务 Nova 由多个服务器进程组成 ...

  6. OpenStack Nova Release(Rocky to Train)

    目录 文章目录 目录 前言 演进方向 Cellv2 更新 Rocky Support disabling a cell Stein Handling a down cell Train Count q ...

  7. OpenStack Nova 高性能虚拟机之 CPU 绑定

    目录 文章目录 目录 前文列表 KVM KVM 的功能列表 KVM 工具集 KVM 虚拟机的本质是什么 vCPU 的调度与性能问题 Nova 支持的 vCPU 绑定 vcpu\_pin\_set 配置 ...

  8. OpenStack Nova 高性能虚拟机之 NUMA 架构亲和

    目录 文章目录 目录 写在前面 计算平台体系结构 SMP 对称多处理结构 NUMA 非统一内存访问结构 MPP 大规模并行处理结构 Linux 上的 NUMA 基本对象概念 NUMA 调度策略 获取宿 ...

  9. Openstack Nova 源码分析 — 使用 VCDriver 创建 VMware Instance

    目录 目录 前言 流程图 nova-compute vCenter 前言 在上一篇Openstack Nova 源码分析 - Create instances (nova-conductor阶段)中, ...

  10. Openstack Nova 源码分析 — Create instances (nova-conductor阶段)

    目录 目录 前言 Instance Flavor Instance Status Virt Driver Resource Tracker nova-conductor Create Instance ...

随机推荐

  1. 转: xshell远程连接自动断开的问题解决办法

    转:http://blog.csdn.net/haijiaoqihao20160106/article/details/50623431 2.客户端的配置 Keep Alive修改.我的xshell的 ...

  2. Angular 2的12个经典面试问题汇总(文末附带Angular測试)

    Angular作为眼下最为流行的前端框架,受到了前端开发者的普遍欢迎.不论是初学Angular的新手.还是有一定Angular开发经验的开发者,了解本文中的12个经典面试问题,都将会是一个深入了解和学 ...

  3. Return array from functions in C++

    C++ does not allow to return an entire array as an argument to a function. However, you can return a ...

  4. spring 读取配置文件,将值注入到静态字段

    resources/config/config-dev.properties es.ip.node=xxxxxxxcluster.name=xxxxxxxclient.transport.sniff= ...

  5. 【Python】使用hashlib进行MD5和sha1摘要计算

    代码: import hashlib hash = hashlib.md5() hash.update('http://www.cnblogs.com/xiandedanteng'.encode('u ...

  6. c++ 11 游记 之 decltype constexpr

    title: c++ 11 游记 1 keyword :c++ 11 decltype constexpr 作者:titer1 zhangyu 出处:www.drysaltery.com 联系:130 ...

  7. GB2312码表

    GB2312码表 code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F A1A0 . . · ˉ ˇ ¨ " 々 — - | … ‘ ’ ...

  8. CAD2006您没有足够的权限来安装本产品

    在Win10的环境下安装CAD2006,可能会报错"您没有足够的权限来安装本产品". 解决方法是,右键以"兼容性疑难解答"运行 在弹出的对话框中,点击 &quo ...

  9. springmvc转换JSON数据

    1.引入jackson包 要想在springmvc框架下支持json的转换,需要引入jackson的包,在pom.xml中添加如下代码: <dependency> <groupId& ...

  10. DFS研究

    1.DFS和杀毒软件的影响:http://www.symantec.com/connect/forums/sep-and-dfs-replication 2.DFS深度:http://technet. ...