openstack-glance API 镜像管理的部分实现和例子

Openstack-glance API

为了方便,可先自定义一个函数 放在credentials.py里面

# vi credentials.py

#!/usr/bin/env python

import os

def get_keystone_creds():

d = {}

d[‘username‘] =os.environ[‘OS_USERNAME‘]

d[‘password‘] =os.environ[‘OS_PASSWORD‘]

d[‘auth_url‘] =os.environ[‘OS_AUTH_URL‘]

d[‘tenant_name‘] = os.environ[‘OS_TENANT_NAME‘]

return d

def get_nova_creds():

d = {}

d[‘username‘] =os.environ[‘OS_USERNAME‘]

d[‘api_key‘] =os.environ[‘OS_PASSWORD‘]

d[‘auth_url‘] =os.environ[‘OS_AUTH_URL‘]

d[‘project_id‘]= os.environ[‘OS_TENANT_NAME‘]

return d

使用API时

import keystoneclient.v2_0.client as ksclient

import glanceclient

import glanceclient.v2.client as glclient

from credentials import get_keystone_creds

(1)查询虚拟机信息

images = glance.images.list() 获取img的队列

images.next() 依次输出

部分代码:

creds = get_keystone_creds()

keystone = ksclient.Client(**creds)

glance_endpoint=keystone.service_catalog.url_for(service_type=‘image‘,endpoint_type=‘publicURL‘)

glance = glclient.Client(glance_endpoint,token=keystone.auth_token)

images = glance.images.list()

print images

print images.next()

(2)上传img

with open(img_url) as fimage: #img_url
镜像存放路径

glance.images.create(name="cirros_zy",is_public=True,disk_format="qcow2",container_format="bare",data=fimage)

部分代码:

keystone = ksclient.Client(**creds)

glance_endpoint=keystone.service_catalog.url_for(service_type=‘image‘,endpoint_type=‘publicURL‘)

glance=glanceclient.Client(‘1‘,glance_endpoint,token=keystone.auth_token)

with open(img_url) as fimage:

glance.images.create(name="cirros_zy",is_public=True,disk_format="qcow2",container_format="bare",data=fimage)

(3)删除img

glance.images.delete(image_id)

(4)成员绑定

glance.image_members.create(image_id,mem_id,can_share=True)

(5)成员删除

glance.image_members.delete(image_id,mem_id)

(6)img下载

由于glance
v2没有支持镜像下载的API 所以直接使用命令行的方式下载

代码如下:

Import os

string_1 = ‘glance image-download --file ‘ + image_url +‘ ‘ + image_id

os.system(string_1)

时间: 2024-10-18 14:57:33

openstack-glance API 镜像管理的部分实现和例子的相关文章

openstack-glance API 镜像管理的部分实现和样例

感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限.错误之处在所难免.欢迎指正. 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地址:http://blog.csdn.net/qq_21398167/article/details/46422629 Openstack-glance API 为了方便,可先自己定义一个函数 放在credentials.py里面 # vi credentials.py #!/usr/bin/env

OpenStack镜像管理3

第三部分 OpenStack镜像管理 一.简介 很多源都有为OpenStack已经编译好的各种镜像了,您可以直接下载并通过使用这些镜像来熟悉OpenStack. 不过如果是为生产环境进行部署的话,您一定需要构建含有定制软件或配置的镜像文件.不要着急,本章将引领您完成几种较为流行的Linux发行版镜像,最后也将制作一份Windows的镜像. 由不同的Linux发行版制作镜像时,过程几乎一样,仅有微小的差别而已.由于含有cloud-ini软件包,人们用Ubuntu系统制作镜像文件变得非常容易.Clo

openstack glance存储image目录

glance是openstack管理镜像的一个组件,从web client上传的镜像或者从命令行上传的镜像默认保存到了那个目录下,可以在: # cat /etc/glance/glance-api.conf | grep -v "^$" | grep -v "^#" filesystem_store_datadir=/var/lib/glance/images/    #这行中是显示的image存储目录 # cd /var/lib/glance/images/ [[

OpenStack REST API使用

以前一直想写博客,但因各种因素一直没写.最近在做OpenStack,而OpenStack对外提供REST API,今天就简要介绍一下OpenStack REST API 使用,关于什么是REST API可以参考以下两篇博文: http://www.choudan.net/2013/07/28/OpenStack-Restful-API.html http://www.ruanyifeng.com/blog/2011/09/restful.html 简单的来说,一切都是资源,每个资源对应一个URI

OpenStack Identity API v3

Table Of Contents OpenStack Identity API v3 What’s New in Version 3.7 What’s New in Version 3.6 What’s New in Version 3.5 What’s New in Version 3.4 What’s New in Version 3.3 What’s New in Version 3.2 What’s New in Version 3.1 What’s New in Version 3.

fix [Errno 13] Permission denied: '/var/log/glance/api.log'

[email protected] glance]# su -s /bin/sh -c "glance-manage db_sync" glanceTraceback (most recent call last):  File "/usr/bin/glance-manage", line 10, in <module>    sys.exit(main())  File "/usr/lib/python2.6/site-packages/gl

Openstack python api 学习文档

Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack,所以上一篇写了一些使用openstack的纯api调用的方法, 但是openstack还提供了更好的python的api,只需要python的包即可,感觉更好使用. 对于compute的api,包是放在了/usr/lib/python2.7/site-packages/novaclient/目录,

禁用glance api v1 引起nova image-list 报错

在部署glance时禁用了v1 api,使用nova image-list出现了报错 nova image-list ERROR (ClientException): The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-70664768-3d60-434b-b812-e0251029a9df) 从nova-api日志上看到有下面

KVM镜像管理利器-guestfish使用详解

本文介绍以下内容: 1. 虚拟机镜像挂载及w2k8虚拟机启动自检慢问题解决办法 2. KVM虚拟化与guestfish套件 3. guestfish安装与注意事项 4. 使用guestfish查看虚拟机信息 5. 使用guestfish查看虚拟机分区及文件系统 6. 去掉磁盘空洞--KVM虚拟镜像的稀疏问题 7. 用guestfish操作虚拟机内部文件 8. guestfish修改镜像格式和大小 9. guestfish挂载.修改.运行救援方式 1. 虚拟机镜像挂载及w2k8虚拟机启动自检慢问题