在上一篇文章使用Postman简单测试发现,Restful API客户端能够调用keytone、nova、glance服务。本文将以创建虚拟机为例,讲述使用Restful API客户端完成OpenStack各组件复杂的操作。
1.准备工作
OpenStack创建本地虚拟机需要提供镜像(image)、规格(flavor)、网络(network)三大信息。参看官方文档中nova服务的API的描述(https://developer.openstack.org/api-ref/compute/),创建虚拟机的请求地址如下:
Example Create Server
{
"server": {
"name": "VM",
"imageRef": "xxxxxxx",
"flavorRef": "xxxxxx",
"networks": [{"uuid": "xxxxxxx"}]
}
}
创建一个本地虚机需要在Postman填写以上四个基本信息。上篇已经知道如何使用Postman工具获取image信息,故参看官方API文档能够查询flavor、network信息,下面给出所需的imageRef、flavorRef、networks的id信息。
2.创建本地虚拟机
根据API手册,在Postman工具中注入查询到的body信息,注意network的格式。
{
"server": {
"name": "MY_VM",
"imageRef": "53329233-8fce-4437-83ff-89792bcd43fc",
"flavorRef": "1",
"networks": [{"uuid": "868cdf02-8dda-4f5d-b2b5-419829bf7dd1"}]
}
}
根据官网给出的参数,类型+URL+body。类型为POST,UEL为v2/servers,Header中填写拿到的token,body为上面填写好的内容。
返回请求成功状态Status:202,具体信息如下:
接下来验证虚机列表中的确存在刚刚创建的名为"MY_VM"的虚拟机
3.总结
OpenStack各自独立的项目是通过Restful API对外提供服务,通过发送Http请求,终端用户可以实现对OpenStack各组件服务的操作,可以查看环境中的各种数据信息,也可以创建虚机。本文只是简单以创建本地虚机为例,实际上更多对虚机、镜像、网络的操作,都可以通过查看官方API文档使用Restful API去实现。