关于opentack的(2)--利用debug信息大概了解api的调用过程
2016-12-15 17:10
417 查看
进入openshit文件夹,执行(如果是通过openshit部署的)
然后再执行查看虚拟机实例:
加调试选项debug看到更多信息:
可以看到有两个调用过程:
1.http://192.168.16.190:35357/v2.0/tokens
这是访问keystone,获取token以及其他信息(这里是租户id等),需要附带管理用户名和密码
2.http://192.168.16.190:8774/v2/6ff51bde9ba940e8b90892988a0c3a82/servers/detail
这是访问nova,获取租户的虚拟机实例,需要附带第一步获取的token
root@os:~/openshit# source admin-env.sh
然后再执行查看虚拟机实例:
root@os:~/openshit# nova list +--------------------------------------+------+--------+------------+-------------+----------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+------+--------+------------+-------------+----------+ | 2342b4c2-236c-4d49-9707-af77529f490b | test | ACTIVE | - | Running | | +--------------------------------------+------+--------+------------+-------------+----------+
加调试选项debug看到更多信息:
root@os:~/openshit# nova --debug list REQ: curl -i 'http://192.168.16.190:35357/v2.0/tokens' -X POST -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: python-novaclient" -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "{SHA1}7c4a8d09ca3762af61e59520943dc26494f8941b"}}}' INFO (connectionpool:264) Starting new HTTP connection (1): 192.168.16.190 DEBUG (connectionpool:395) Setting read timeout to 600.0 DEBUG (connectionpool:435) "POST /v2.0/tokens HTTP/1.1" 200 2307 RESP: [200] {'date': 'Thu, 15 Dec 2016 08:30:59 GMT', 'vary': 'X-Auth-Token', 'content-length': '2307', 'content-type': 'application/json', 'x-distribution': 'Ubuntu'} RESP BODY: {"access": {"token": {"issued_at": "2016-12-15T08:30:59.009319", "expires": "2016-12-15T09:30:58Z", "id": "{SHA1}59d96d9b7a72c09d3dce05d0e527219b5a98822b", "tenant": {"enabled": true, "description": "admin Tenant", "name": "admin", "id": "6ff51bde9ba940e8b90892988a0c3a82"}, "audit_ids": ["l3xAQuuHSg-O8UELaCkVpA"]}, "serviceCatalog": [{"endpoints_links": [], "endpoints": [{"adminURL": "http://192.168.16.190:8776/v1/6ff51bde9ba940e8b90892988a0c3a82", "region": "regionOne", "publicURL": "http://192.168.16.190:8776/v1/6ff51bde9ba940e8b90892988a0c3a82", "internalURL": "http://192.168.16.190:8776/v1/6ff51bde9ba940e8b90892988a0c3a82", "id": "04de36482fd04ef49079deb5a76b13bf"}], "type": "volume", "name": "cinder"}, {"endpoints_links": [], "endpoints": [{"adminURL": "http://192.168.16.190:9292", "region": "regionOne", "publicURL": "http://192.168.16.190:9292", "internalURL": "http://192.168.16.190:9292", "id": "00b57b5cb4c341deabc88732e95b0bc4"}], "type": "image", "name": "glance"}, {"endpoints_links": [], "endpoints": [{"adminURL": "http://192.168.16.190:8774/v2/6ff51bde9ba940e8b90892988a0c3a82", "region": "regionOne", "publicURL": "http://192.168.16.190:8774/v2/6ff51bde9ba940e8b90892988a0c3a82", "internalURL": "http://192.168.16.190:8774/v2/6ff51bde9ba940e8b90892988a0c3a82", "id": "08999ef5b43b48d3b3c67958e3ffb820"}], "type": "compute", "name": "nova"}, {"endpoints_links": [], "endpoints": [{"adminURL": "http://192.168.16.190:8776/v2/6ff51bde9ba940e8b90892988a0c3a82", "region": "regionOne", "publicURL": "http://192.168.16.190:8776/v2/6ff51bde9ba940e8b90892988a0c3a82", "internalURL": "http://192.168.16.190:8776/v2/6ff51bde9ba940e8b90892988a0c3a82", "id": "03d28e53f1334aa7844412f2e85fa9a7"}], "type": "volumev2", "name": "cinderv2"}, {"endpoints_links": [], "endpoints": [{"adminURL": "http://192.168.16.190:35357/v2.0", "region": "regionOne", "publicURL": "http://192.168.16.190:5000/v2.0", "internalURL": "http://192.168.16.190:5000/v2.0", "id": "4012ae8da5774180b4dfcab52a662536"}], "type": "identity", "name": "keystone"}], "user": {"username": "admin", "roles_links": [], "id": "f7e89dfd9acb4ab3a748f0909587ff6b", "roles": [{"name": "admin"}, {"name": "_member_"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles": ["bf7d93f998674d5392a4ada451caef9f", "614cc518de014eda8aecc2ffb3e15a00"]}}} REQ: curl -i 'http://192.168.16.190:8774/v2/6ff51bde9ba940e8b90892988a0c3a82/servers/detail' -X GET -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Project-Id: admin" -H "X-Auth-Token: {SHA1}59d96d9b7a72c09d3dce05d0e527219b5a98822b" INFO (connectionpool:264) Starting new HTTP connection (1): 192.168.16.190 DEBUG (connectionpool:395) Setting read timeout to 600.0 DEBUG (connectionpool:435) "GET /v2/6ff51bde9ba940e8b90892988a0c3a82/servers/detail HTTP/1.1" 200 1562 RESP: [200] {'date': 'Thu, 15 Dec 2016 08:30:59 GMT', 'content-length': '1562', 'content-type': 'application/json', 'x-compute-request-id': 'req-25b59964-f6c2-429c-8fcd-30fec49b3a34'} RESP BODY: {"servers": [{"OS-EXT-STS:task_state": null, "addresses": {}, "links": [{"href": "http://192.168.16.190:8774/v2/6ff51bde9ba940e8b90892988a0c3a82/servers/2342b4c2-236c-4d49-9707-af77529f490b", "rel": "self"}, {"href": "http://192.168.16.190:8774/6ff51bde9ba940e8b90892988a0c3a82/servers/2342b4c2-236c-4d49-9707-af77529f490b", "rel": "bookmark"}], "image": {"id": "ffd82d61-0190-4fdf-b423-4f28d1bdb8b3", "links": [{"href": "http://192.168.16.190:8774/6ff51bde9ba940e8b90892988a0c3a82/images/ffd82d61-0190-4fdf-b423-4f28d1bdb8b3", "rel": "bookmark"}]}, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-00000005", "OS-SRV-USG:launched_at": "2016-12-15T07:31:24.000000", "flavor": {"id": "2", "links": [{"href": "http://192.168.16.190:8774/6ff51bde9ba940e8b90892988a0c3a82/flavors/2", "rel": "bookmark"}]}, "id": "2342b4c2-236c-4d49-9707-af77529f490b", "security_groups": [{"name": "default"}], "user_id": "f7e89dfd9acb4ab3a748f0909587ff6b", "OS-DCF:diskConfig": "AUTO", "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "status": "ACTIVE", "updated": "2016-12-15T07:45:44Z", "hostId": "000c52ed6004ea88e85fbfa6b56225b3b8bf1861d1433db10695d9b8", "OS-EXT-SRV-ATTR:host": "os", "OS-SRV-USG:terminated_at": null, "key_name": null, "OS-EXT-SRV-ATTR:hypervisor_hostname": "domain-c13(cluster)", "name": "test", "created": "2016-12-15T07:31:09Z", "tenant_id": "6ff51bde9ba940e8b90892988a0c3a82", "os-extended-volumes:volumes_attached": [], "metadata": {}}]} +--------------------------------------+------+--------+------------+-------------+----------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+------+--------+------------+-------------+----------+ | 2342b4c2-236c-4d49-9707-af77529f490b | test | ACTIVE | - | Running | | +--------------------------------------+------+--------+------------+-------------+----------+
可以看到有两个调用过程:
1.http://192.168.16.190:35357/v2.0/tokens
这是访问keystone,获取token以及其他信息(这里是租户id等),需要附带管理用户名和密码
2.http://192.168.16.190:8774/v2/6ff51bde9ba940e8b90892988a0c3a82/servers/detail
这是访问nova,获取租户的虚拟机实例,需要附带第一步获取的token
相关文章推荐
- 关于I/O流中输入输出过程中利用装饰器所需了解的内容
- 记录一次利用python调用chrome爬取天眼查网址工商信息的过程
- C#利用反射在debug状态下获取调用代码所在文件及行信息
- 关于在 oracle trigger(insert)事件中调用存储过程的问题
- 关于(WTL),怎么在OnCreate中调用DwmExtendFrameIntoClientArea()这个API(vista系统的毛玻璃效果)
- 利用Google来调用其他网站查询信息
- 利用Sql作业在asp.net 里面实现异步调用存储过程.
- VFP下利用API调用帮助
- 在Visual C#中调用API的基本过程:
- 关于存储过程的ADO调用的一些心得(输出参数,返回值)
- 利用hook截获进程的API调用
- 在C#中调用API获取网络信息和流量
- iceman写的关于Debug API的文章,特别是关于CONTEXT结构的描述,有空再翻译(转贴)
- 关于多态性的动态绑定问题, 对象调用方法的执行过程.
- 利用动态代理实现通用存储过程的调用
- 几篇关于在.Net中调用存储过程的示例文章
- Delphi 利用注册表和API取WIN系统下硬件信息
- 利用Windows自带的Debug程序测试DOS的21#功能调用
- 关于delphi调用.net com的详细过程
- 利用 Debug API 编写一个简单的脱壳机