【Glance】glanceclient学习

Glance是OpenStack的镜像服务组件,对外提供虚拟机镜像的注册、上传、下载、编辑等管理服务。


今天学习了下Glanceclient 1.2.0版本的代码,和其他组件的apiclient类似,基于requests这个http库访问对应服务的RestfulAPI。


重点提下以下3个点:

1.在新增一个镜像时,v1版本的api是需要同时提供镜像的元数据和文件数据(或者文件的uri)的;v2版本则分为2步,首先通过/v2/images创建镜像的数据库记录,然后通过/v2/images/{image_id}/file上传镜像文件


2.在下载镜像时,因为镜像文件通常都是GB级别的,因此不要将HTTP响应一次性读入内存,而是采用生成器在每次迭代中读取一个64kb的chunk


3.在上传和下载镜像文件时,可以通过--progress这个参数来显示进度,glanceclient的实现很简单,将真实的文件对象封装在一个进度条对象中,该进度条对象需要提供一个read方法,在该方法内读取返回文件对象的数据并更新显示的进度条;该进度条对象就成为了一个仅提供read方法的“伪文件对象“


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值