感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限。错误之处在所难免。欢迎指正。

假设转载,请保留作者信息。

博客地址: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 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)

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

  1. OpenStack云计算快速入门之三:OpenStack镜像管理

    原文:http://blog.chinaunix.net/uid-22414998-id-3272059.html 第三部分 OpenStack镜像管理 一.简介 很多源都有为OpenStack已经编 ...

  2. OpenStack镜像管理3

    第三部分 OpenStack镜像管理 一.简介 很多源都有为OpenStack已经编译好的各种镜像了,您可以直接下载并通过使用这些镜像来熟悉OpenStack. 不过如果是为生产环境进行部署的话,您一 ...

  3. openstack——glance镜像服务

    一.glance介绍:                Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查 ...

  4. Openstack glance 镜像服务 (五)

    Openstack glance 镜像服务 (五) 引用: 官方文档glance安装 https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/ ...

  5. OpenStack实践系列③镜像服务Glance

    OpenStack实践系列③镜像服务Glance 3.5 Glance部署 修改glance-api和glance-registry的配置文件,同步数据库 [root@node1 ~]# vim /e ...

  6. 四、OpenStack—glance组件介绍与安装

    一.glance介绍 Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚拟机镜像的metadata及 ...

  7. Openstack kvm win7镜像制作

    本文地址http://www.cnblogs.com/tcicy/p/7790956.html 网上找了很多为openstack制作win7镜像的文章,总是不成功 自己写一下,以便大家查看. 我使用c ...

  8. Openstack Restful API 开发框架 Paste + PasteDeploy + Routes + WebOb

    目录 目录 Paste PasteDeploy Routes WebOb 简介 WSGI入口 Paste和PasteDeploy 配置文件 pasteini 中间件的实现 Routes WebOb 参 ...

  9. 2、docker镜像管理

    Docker镜像管理 镜像是Docker容器的基础,想运行一个Docker容器就需要有镜像.我们上面已经学会了使用search搜索镜像.那么这个镜像是怎么创建的呢? 创建镜像 镜像的创建有以下几种方法 ...

随机推荐

  1. AngularJS学习篇(二)

    AngularJS 指令 AngularJS 通过被称为 指令 的新属性来扩展 HTML. AngularJS 通过内置的指令来为应用添加功能. AngularJS 允许你自定义指令. Angular ...

  2. Icon font font face

    font-face自定义字体,iconfont就是把各种图片做成字体.iconfont优势: 字体文件小,一般20-50kb: 容易编辑和维护,尺寸和颜色可以用css来控制: 透明完全兼容IE6:   ...

  3. 根据矩阵变化实现基于 HTML5 的 WebGL 3D 自动布局

    在数学中,矩阵是以行和列排列的数字,符号或表达式的矩形阵列,任何矩阵都可以通过相关字段的标量乘以元素.矩阵的主要应用是表示线性变换,即f(x)= 4 x等线性函数的推广.例如,旋转的载体在三维空间是一 ...

  4. 关于帧动画steps属性的理解

    CSS3的Animation有八个属性 animation-name animation-duration animation-delay animation-iteration-count anim ...

  5. python3基础视频教程

    随着目前Python行业的薪资水平越来越高,很多人想加入该行业拿高薪.有没有想通过视频教程入门的同学们?这份Python教程全集等你来学习啦! python3基础视频教程:http://pan.bai ...

  6. Java build path && Deployment assembly && 编译路径 && 发布路径

    java build path java源文件,编译后,输出的路径,默认值为: *此时的源码文件夹在 /src deployment assembly 系统发布路径设置,将完成(或未完成)的项目对应的 ...

  7. linux操作系统基础篇(七)

    Linux服务篇(二) 1.nfs服务的搭建 安装: yum install rpcbind nfs-utils -y 配置: NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要 ...

  8. tornado的非异步阻塞模式

    [优化tornado阻塞任务的三个选择] 1.优化阻塞的任务,使其执行时间更快.经常由于是一个DB的慢查询,或者复杂的上层模板导致的,这个时候首要的是加速这些任务,而不是优化复杂的webserver. ...

  9. 自定义控件,上图下字的Button,图片任意指定大小

    最近处在安卓培训期,把自己的所学写成博客和大家分享一下,今天学的是这个自定义控件,上图下字的Button安卓自带,但是苦于无法设置图片大小(可以在代码修改),今天自己做了一个,首先看一下效果图,比较实 ...

  10. Thymleaf——工作笔记本

    Thymleaf(工作笔记本)  1,循环遍历 th:each="li,information:${information}"   2,文本  th:text="${nu ...