博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Openstack python api 学习文档 api创建虚拟机
阅读量:6243 次
发布时间:2019-06-22

本文共 1600 字,大约阅读时间需要 5 分钟。

Openstack python api 学习文档

 

转载请注明

 

因为需要学习使用api接口调用openstack,所以上一篇写了一些使用openstack的纯api调用的方法,

但是openstack还提供了更好的python的api,只需要python的包即可,感觉更好使用。

对于compute的api,包是放在了/usr/lib/python2.7/site-packages/novaclient/目录,所以直接看看代码也蛮好的。

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

 

import osimport timefrom novaclient.v2 import clientnova = 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 ipnova.floating_ip_pools.list()#得到[
],这是我之前创建的一个名叫ext的floating_ip的pool#取得一个ipfloating_ip = nova.floating_ips.create(pool='ext')#分配floating_ipserver.add_floating_ip(floating_ip)#删除floating_ipserver.remove_floating_ip(floating_ip)# 删除虚拟机server.delete()

  

 

使用keystone

from keystoneclient.v2_0 import client as ks2clientkeystone2 = 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 :    

 

你可能感兴趣的文章
sqlmap使用笔记
查看>>
U盾技术学习笔记
查看>>
云计算面临的安全挑战 访北大计算机学院院长陈钟
查看>>
一起谈.NET技术,C#中标准Dispose模式的实现
查看>>
艾伟:C#对游戏手柄的编程开发-API篇(2)
查看>>
关于defineProperty的一点理解
查看>>
如何创建只读域控制器RODC(Read-Only Domain Controller)
查看>>
python-字符串
查看>>
LabVIEW串口通信
查看>>
2017UGUI之slider
查看>>
python下载酷狗音乐源码
查看>>
MySQL学习----explain查看一条sql 的性能
查看>>
第零次作业
查看>>
Android + eclipse +ADT安装完全教程
查看>>
【批处理学习笔记】第七课:简单的批处理命令(6)
查看>>
leetcode 【 Subsets 】python 实现
查看>>
leetcode 【 Intersection of Two Linked Lists 】python 实现
查看>>
codeforces 767A Snacktower(模拟)
查看>>
用 Quartz 画聊天对话框背景实例
查看>>
Quartz2D简单绘制之饼状图
查看>>