如何使用curl调试openstack的api

Posted 虚拟化云计算

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用curl调试openstack的api相关的知识,希望对你有一定的参考价值。

访问openstack的API之前,用户使用用户名和密码向keystone进行认证。在通过keystone认证后,keystone会在返回数据中包含一个ServiceCatalog。此ServiceCatalog中包含keystone中的所有service endpoints。用户即可根据这些endpoint来进行后续的RestAPI调用。


本文中控制节点hostname是mycontroller,admin用户是myadmin,密码是mypasswd


一。获取token

# curl -i 'http://mycontroller:5000/v2.0/tokens'; -X POST -H "Content-Type: application/json" -H "Accept: application/json"  -d '{"auth":{"tenantName": "admin", "passwordCredentials": {"username": "myadmin", "password": "mypasswd"}}}'


curl会返回access信息,其中包含token、serviceCatalog、user、metadata。如下图:

二。使用获取到的token-id,tenant-id以及endpoint来访问api。


get方法(举例获取虚拟机列表):

# curl -i 'http://mycontroller:8774/v2.1/tenant-id/servers'; -v -H "X-Auth-Token:token-id" 

会返回虚拟机的列表,如下图:

如何使用curl调试openstack的api


post方法(举例启动虚拟机):

# curl -i 'http://mycontroller:8774/v2.1/tenant-id/servers/server-id/action'; -X POST -d '{"os-start": null}'  -H "Content-Type: application/json" -H "Accept: application/json"  -H "X-Auth-Token:token-id" 

启动一个已经开机的虚拟机,如下图:




以上是关于如何使用curl调试openstack的api的主要内容,如果未能解决你的问题,请参考以下文章

openstack中使用curl命令获取token并访问底层的API

如何开始使用OpenStack命令行和API

如何使用curl在php中调试get请求

转载如何开始使用OpenStack命令行和API

如何开始使用OpenStack命令行和API-openstack学习

如何将 Curl api 示例写入 PHP curl