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/目录,所以直接看看代码也蛮好的。

下面演示使用api调取信息:

import os
import time
from novaclient.v2 import client nova = client.Client('username','password','project_name','http://controller_ip:5000/v2.0')
#print nova.servers.list()
#print nova.flavors.list()
#print nova.images.list() # 镜像,flavor,网络肯定都是之前已经自己创建好了的
image = nova.images.find(name='cirros-0.3.4-x86_64')
flavor = nova.flavors.find(name='m1.medium')
network = nova.networks.find(label='int') #这里选择一个名叫int的网段 # launch a instance
# 注意,这里网络的参数和v1_1版本的不一样,以前是传入network就可以,现在是创建网卡,当然也可以创建多个网卡
server = nova.servers.create(name="test-vm", image=image, flavor=flavor,nics=[{'net-id':network.id}]) # 创建snapshot, 这里传入虚机和要创建的名字两个参数即可,我加了一个时间来命名。
image = nova.servers.create_image(server, image_name=server.name + time.strftime("_%Y%m%d",time.localtime())) # 分配floating ip
nova.floating_ip_pools.list()
#得到[<FloatingIPPool: name=ext>],这是我之前创建的一个名叫ext的floating_ip的pool #取得一个ip
floating_ip = nova.floating_ips.create(pool='ext') #分配floating_ip
server.add_floating_ip(floating_ip) #删除floating_ip
server.remove_floating_ip(floating_ip) # 删除虚拟机
server.delete()

  

使用keystone

from keystoneclient.v2_0 import client as ks2client

keystone2 = ks2client.Client(username='admin',password='openstack1',tenant_name='service',auth_url='http://9.112.233.24:5000/v2.0')

user = keystone2.users.find(id='asdfdsf-dads978s-sadfsdfsdf-2323')

  

其中主要参数的解释大家参照最后文档中python api的文档即可,这里仅作简单介绍,希望大家有问题多多指正。

参考文档:

openstack python api : http://developer.openstack.org/api-ref.html   http://docs.openstack.org/developer/python-novaclient/

https://albertomolina.wordpress.com/2013/11/20/how-to-launch-an-instance-on-openstack-iii-python-novaclient-library/

Openstack python api 学习文档 api创建虚拟机的更多相关文章

  1. Openstack api 学习文档 & restclient使用文档

    Openstack api 学习文档 & restclient使用文档 转载请注明http://www.cnblogs.com/juandx/p/4943409.html 这篇文档总结一下我初 ...

  2. python相关学习文档收集

    bs4中文文档: 用于网页爬虫 https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/   GitLab-CI 从安装到差点放弃 https://segm ...

  3. golang学习笔记7 使用beego swagger 实现API自动化文档

    golang学习笔记7 使用beego swagger 实现API自动化文档 API 自动化文档 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/doc ...

  4. 构建标准OpenStack API接口文档

    1.构建API接口文档标准参考: http://docs.openstack.org/contributor-guide/api-guides.html 2.构建API接口文档步骤参考下面的Patch ...

  5. Api接口文档管理工具,你知道哪些呢?

    上周看到有人在我的Github开源项目中提了个issue,说是否考虑接入swagger.那今天我就用swagger与其他接口文档工具做对比,同时说说Api接口文档工具的那点事.如今,在前后端分离开发的 ...

  6. Swagger解决你手写API接口文档的痛

    首先,老规矩,我们在接触新事物的时候, 要对之前学习和了解过的东西做一个总结. 01 痛     苦 不做.不行 之前,前后端分离的系统由前端和后端不同的编写,我们苦逼的后端工程师会把自己已经写完的A ...

  7. CYQ.Data 轻量数据层之路 优雅V1.4 现世 附API帮助文档(九)

    继上一版本V1.3版本发布到现在,时隔N天了:[V1.3版本开源见:CYQ.Data 轻量数据层之路 华丽V1.3版本 框架开源] N天的时间,根据各路网友的反映及自身的想法,继续修改优化着本框架,力 ...

  8. asp.net web api 构建api帮助文档

    1 概要 创建ASP.NET Web Api 时模板自带Help Pages框架. 2 问题 1)使用VS创建Web Api项目时,模板将Help Pages框架自动集成到其中,使得Web Api项目 ...

  9. RESTful API接口文档规范小坑

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 前后端分离的开发模式,假如使用的是基于RESTful API的七层通讯协议,在联调的时候,如何避免配合过程中出现问 ...

随机推荐

  1. Linux - Yum的常用方法总结

    简述 rpm是由红帽公司开发的软件包管理方式,使用rpm可以方便的进行软件的安装.查询.卸载.升级等工作. 但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时. Yum(全称 ...

  2. Angular系列----AngularJS入门教程04:迭代器过滤(转载)

    我们在上一步做了很多基础性的训练,所以现在我们可以来做一些简单的事情喽.我们要加入全文检索功能(没错,这个真的非常简单!).同时,我们也会写一个端到端测试,因为一个好的端到端测试可以帮上很大忙.它监视 ...

  3. JavaScript学习总结 Ajax和Http状态字

    Ajax及其工作原理 AJAX 是一种与服务器交换数据无需刷新网页的技术,最早由Google公司在谷歌地图里使用,并迅速风靡. AJAX是不能跨域的,如需跨域,可以使用document.domain= ...

  4. Winform里面的缓存使用

    缓存在很多情况下需要用到,合理利用缓存可以一方面可以提高程序的响应速度,同时可以减少对特定资源访问的压力.本文主要针对自己在Winform方面的缓存使用做一个引导性的介绍,希望大家能够从中了解一些缓存 ...

  5. [水煮 ASP.NET Web API2 方法论](3-4)设置路由可选项

    问题 怎么样创建一个路由,不管客户端传不传这个参数,都可以被成功匹配. 解决方案 ASP.NET WEB API 的集中式路由和属性路由都支持路由声明可选参数. 在用集中式路由中可以通过 RouteP ...

  6. Ubuntu系统操作快捷键

    Ubuntu操作基本快捷键* 打开主菜单 = Alt + F1* 运行 = Alt + F2* 显示桌面 = Ctrl + Alt + d* 最小化当前窗口 = Alt + F9* 最大化当前窗口 = ...

  7. csharp: MongoDB

    安装配置: Install MongoDB on Windows(安装配置官方参考) http://docs.mongodb.org/manual/tutorial/install-mongodb-o ...

  8. PHP常规模板引擎中与CSS/JSON冲突的解决

    主要针对对象:Smarty/Dwoo 参考:http://developer.51cto.com/art/201009/224929.htm 其实以前都不怎么关注模板引擎,觉得没必要使用.但随着年龄的 ...

  9. C++ Qt 框架静态编译 操作记录

    谁愿意写个程式出来之后还附带一堆DLL,尤其是名字如此明显的名字. 于是在网上看了看,是需要下载源代码然后进行编译的,但是看了看别人说的编译时间,长达几个小时,瞬间就感觉不想做了.因为我还需要抓紧时间 ...

  10. ArrayList,Hashtable,List<T>,Dictionary<K,V>

    1.ArrayList ArrayList list = new ArrayList(); //for遍历 ; i < list.Count; i++) { SE se=(SE)list[i]; ...