Openstack python api 学习文档 api创建虚拟机
2015-11-10 15:25
776 查看
[b]Openstack python api 学习文档[/b]
[b]转载请注明/article/6492075.html[/b]
因为需要学习使用api接口调用openstack,所以上一篇写了一些使用openstack的纯api调用的方法,
但是openstack还提供了更好的python的api,只需要python的包即可,感觉更好使用。
对于compute的api,包是放在了/usr/lib/python2.7/site-packages/novaclient/目录,所以直接看看代码也蛮好的。
下面演示使用api调取信息:
使用keystone
其中主要参数的解释大家参照最后文档中python api的文档即可,这里仅作简单介绍,希望大家有问题多多指正。
[b]参考文档:[/b]
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/
[b]转载请注明/article/6492075.html[/b]
因为需要学习使用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的文档即可,这里仅作简单介绍,希望大家有问题多多指正。
[b]参考文档:[/b]
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/
相关文章推荐
- python去除停用词(结巴分词下)
- python列表和元组
- Python核心数据类型——字符串(1)
- [Python]小笔记-queue
- [Machine Learning]Numpy
- python基础9之IO
- Python 3读写文件和Python2的区别
- python and C
- Python——动态数据类型
- Python Selenium 键盘和鼠标操作
- [LeetCode]题解(python):045-Jump Game II
- Python核心数据类型——布尔型
- Python核心数据类型——集合(Set)
- (转)Python 字典排序
- python数据分析实战之泰坦尼克号统计
- Python 定时执行线程 执行任务
- python控制台中实现进度条功能
- python学习问题之-编码
- Python - 开发环境Vim设置
- Python - 多进程编程, 不怕GIL