如何使用curl调试openstack的api

(文章来自作者维护的社区微信公众号【虚拟化云计算】)
目前有两个微信群《kvm虚拟化》和《openstack》,扫描二维码点击“云-交流”,进群交流提问

访问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: a
pplication/json"  -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "myadmin", "password": "mypass
wd"}}}'

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"

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

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"

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

 

===============================================================
关注微信公众号【虚拟化云计算】,阅读更多虚拟化云计算知识,纯技术干货更新不停。
 
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值