利用OpenStack Rest API 创建镜像

服务端点:

    image

API:

    POST     /v2/images

Request1:

    Method:Post

    Url: http://192.168.31.147:9292/v2/images

    Headers:

Content-Type: application/json
X-Auth-Token: 4e045ef71a994f8d8caeeab683a11419

    Body:

{
    "name": "registry:5000/centos:v1.0",
    "container_format": "docker",
    "disk_format": "raw"
}
Reponse1:

    Headers:

Status Code: 201 

    Body:

{
    "status": "queued",
    "name": "registry:5000/centos:v1.0",
    "tags": [],
    "container_format": "docker",
    "created_at": "2015-05-22T06:38:10Z",
    "disk_format": "raw",
    "updated_at": "2015-05-22T06:38:10Z",
    "visibility": "private",
    "self": "/v2/images/0482eff2-8406-46a7-8bbb-d43e1ca9c14f",
    "min_disk": 0,
    "protected": false,
    "id": "0482eff2-8406-46a7-8bbb-d43e1ca9c14f",
    "file": "/v2/images/0482eff2-8406-46a7-8bbb-d43e1ca9c14f/file",
    "owner": "67f095375f414c3b8fde844a5e08b88e",
    "min_ram": 0,
    "schema": "/v2/schemas/image"
}
Request2:
$ curl -i -X PUT -H "X-Auth-Token: 94f2b7bf4cee4f2c9d2bbe1f2ca785a2" -H "Content-Type: application/octet-stream"  --upload-file /home/centos.tar http://192.168.31.147:9292/v2/images/0482eff2-8406-46a7-8bbb-d43e1ca9c14f/file
Reponse2:

    Headers:

HTTP/1.1 100 Continue

HTTP/1.1 204 No Content
Content-Type: text/html; charset=UTF-8
Content-Length: 0
X-Openstack-Request-Id: req-98582037-dca6-4792-8d4a-a76d04464834
Date: Fri, 22 May 2015 06:38:47 GMT

    个人感想:Openstack官网对创建镜像的API描述真心的少啊,而且只有第一步,就是上文提到的request1。request2是笔者废了九牛二虎之力才找到的,且一开始数据源的上传用的是 -d @/home/centos.tar  这个选项,但是经过反复试验,这个选项TM上传文件不完整,800M的文件只能上传230M,反复查找问题也找不到,最终换成--upload-file选项,上传成功,且根据此镜像可正常启动实例。

    另外,对于curl 中 --upload-file选项该如何转变为正常的httpClient请求,笔者至今还没有头绪,请大家帮忙

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值