感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限。错误之处在所难免。欢迎指正。
假设转载,请保留作者信息。
博客地址: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 镜像管理的部分实现和样例的更多相关文章
-
OpenStack云计算快速入门之三:OpenStack镜像管理
原文:http://blog.chinaunix.net/uid-22414998-id-3272059.html 第三部分 OpenStack镜像管理 一.简介 很多源都有为OpenStack已经编 ...
-
OpenStack镜像管理3
第三部分 OpenStack镜像管理 一.简介 很多源都有为OpenStack已经编译好的各种镜像了,您可以直接下载并通过使用这些镜像来熟悉OpenStack. 不过如果是为生产环境进行部署的话,您一 ...
-
openstack——glance镜像服务
一.glance介绍: Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查 ...
-
Openstack glance 镜像服务 (五)
Openstack glance 镜像服务 (五) 引用: 官方文档glance安装 https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/ ...
-
OpenStack实践系列③镜像服务Glance
OpenStack实践系列③镜像服务Glance 3.5 Glance部署 修改glance-api和glance-registry的配置文件,同步数据库 [root@node1 ~]# vim /e ...
-
四、OpenStack—glance组件介绍与安装
一.glance介绍 Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找.注册和检索等. Glance提供Restful API可以查询虚拟机镜像的metadata及 ...
-
Openstack kvm win7镜像制作
本文地址http://www.cnblogs.com/tcicy/p/7790956.html 网上找了很多为openstack制作win7镜像的文章,总是不成功 自己写一下,以便大家查看. 我使用c ...
-
Openstack Restful API 开发框架 Paste + PasteDeploy + Routes + WebOb
目录 目录 Paste PasteDeploy Routes WebOb 简介 WSGI入口 Paste和PasteDeploy 配置文件 pasteini 中间件的实现 Routes WebOb 参 ...
-
2、docker镜像管理
Docker镜像管理 镜像是Docker容器的基础,想运行一个Docker容器就需要有镜像.我们上面已经学会了使用search搜索镜像.那么这个镜像是怎么创建的呢? 创建镜像 镜像的创建有以下几种方法 ...
随机推荐
-
2016古装动作喜剧《笨贼别跑》HD720P.国语中字
导演: 雷金克编剧: 郭卫鹏 / 李诗怡 / 马强主演: 彭波 / 李添诺 / 董向荣 / 韩丰 / 董怡君类型: 喜剧 / 动作 / 古装制片国家/地区: *语言: 汉语普通话上映日期: 20 ...
-
组合数学 - 波利亚定理 --- poj : 2154 Color
Color Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7873 Accepted: 2565 Description ...
-
BootStraps 布局
<div class="container"> //创建一个容器 <div class="row"> //创建行,每行总有12个格数 ...
-
node.js在windows下的学习笔记(7)---express的app.js的详细配置说明
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon') ...
-
Cas Server中各配置文件介绍
Cas Server中所有的配置文件都是放在WEB-INF目录及其子目录下的. 在WEB-INF/classes下的配置文件有: l cas-theme-default.properties:该文件 ...
-
苹果快速的修复了Mac OS High Sierra 上出现了root的漏洞
最近苹果因为Mac最新系统 Mac OS High Sierra 上出现了root的漏洞走上了风口浪尖,不过还好,在一封苹果给科技媒体'9to5 Mac'的回复中得知,苹果在接收到报告之后,立即展开修 ...
-
php array_map与array_walk使用对比
array_map(): 1.array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组,若函数作用后无返回值,则对应的新值数组中为空. 2.回调函 ...
-
趣味编程:FizzBuzz(Swift版)
func toFizzBuzzExpr(n: Int) -> String { return n % 3 == 0 && n % 5 == 0 ? "FizzBuzz& ...
-
sys模块 常用函数
sys模块是和python解释器打交道的 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1) s ...
-
UILabel居中显示的方法
在IB中拖出一个UIView @IBOutlet weak var myView: UIView! 下面创建的UILabel是在myView中居中显示 方法1: var label = UILabel ...