Nova 通过Python API 查询,创建,删除flavor
[root@controller ~]# cat flavor.py
from novaclient import client as nvclient
from novaclient import utils
from novaclient import base from keystoneauth1.identity import v3
from keystoneauth1 import session
from keystoneclient.v3 import client import time
import sys
import keystoneclient.v3.client as ksclient
from neutronclient.v2_0 import client as netclient # Keystone get project_id
auth = v3.Password(user_domain_name='Default',
username='admin',
password='openstack',
project_domain_name='Default',
project_name='admin',
auth_url='http://controller:35357/v3')
sess = session.Session(auth=auth)
keystone = client.Client(session=sess) projects_list = keystone.projects.list()
for o in projects_list:
name = getattr(o, "name", '')
if name == "admin":
project_id = getattr(o, "id", '')
break # Nova
nova = nvclient.Client('2.42', 'admin', 'openstack', project_id, 'http://controller:5000/v2.0') def flavors_list():
flavors_list = nova.flavors.list()
print "================ list flavor =============="
for data in flavors_list:
print "ID :" + data.id
print "Name:" + data.name
print "CPU :" + str(data.vcpus)
print "MEM :" + str(data.ram)
print "Disk:" + str(data.disk)
print "==========================================="
print "" def flavors_create(name, ram, vcpus, disk):
print "=============== create flavor ============="
flavors_create = nova.flavors.create(name, ram, vcpus, disk, flavorid="auto",
ephemeral=0, swap=0, rxtx_factor=1.0, is_public=True)
print flavors_create
print "=================== end ================="
print "" def set_key_flavor(name):
print "============== set key flavor ============="
key = {'hw:cpu_cores':'', 'hw:cpu_sockets':''}
flavors_list = nova.flavors.list()
for data in flavors_list:
if data.name == name:
print data
data.set_keys(key)
print "=================== end ================="
print "" def flavors_delete(name):
print "=============== delete flavor ============="
flavors_list = nova.flavors.list()
for data in flavors_list:
if data.name == name:
print data
nova.flavors.delete(data)
print "=================== end =================" flavors_list()
flavors_create(name='flavor_demo', ram=4096, vcpus='', disk=0)
set_key_flavor(name='flavor_demo')
flavors_list()
flavors_delete(name='flavor_demo')
运行效果:
[root@controller ~]# python flavor.py
================ list flavor ==============
=============== create flavor =============
<Flavor: flavor_demo>
=================== end =================
============== set key flavor =============
<Flavor: flavor_demo>
=================== end =================
[root@controller ~]# vim flavor.py
[root@controller ~]# python flavor.py
================ list flavor ==============
=============== create flavor =============
<Flavor: flavor_demo>
=================== end =================
============== set key flavor =============
<Flavor: flavor_demo>
=================== end =================
================ list flavor ==============
ID :c2c99abd-82d2-4ef5-9656-10bfaca5b8e8
Name:flavor_demo
CPU :4
MEM :4096
Disk:0
===========================================
=============== delete flavor =============
<Flavor: flavor_demo>
=================== end =================
Nova 通过Python API 查询,创建,删除flavor的更多相关文章
- python 读取 查询 更新 删除 sql2008 类及应用
import pymssql class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user s ...
- Python mysql-表的创建,删除和更新
2017-09-06 20:59:56 数据库的创建 CREATE DATEBASE <数据库的名称> 表的创建 CREATE TABLE <表名> (<列名1> ...
- Openstack python api 学习文档 api创建虚拟机
Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...
- 手把手教你使用C#操作SQLite数据库,新建数据库,创建表,插入,查询,删除,运算符,like
目录: 一.新建项目,添加引用 二.创建数据库 三.创建表 四.插入数据 五.查询数据 六.删除数据 七.运算符 八.like语句 我的环境配置:windows 64,VS,SQLite(点击下 ...
- elasticsearch 中文API 基于查询的删除(九)
基于查询的删除API 基于查询的删除API允许开发者基于查询删除一个或者多个索引.一个或者多个类型.下面是一个例子. import static org.elasticsearch.index.que ...
- Python API:openstack
OpenStack 是一个越来越流行的.用于部署基础架构即服务 (IaaS) 云的开源解决方案.OpenStack 附带了一个仪表板 Web 应用程序,非常适合执行手动任务,比如启动单个虚拟机 (VM ...
- 《Spark Python API 官方文档中文版》 之 pyspark.sql (一)
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
- 初识Django —Python API接口编程入门
初识Django —Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言, ...
- The novaclient Python API
The novaclient Python API Usage First create a client instance with your credentials: >>> f ...
随机推荐
- 用API处理位图
procedure TForm1.Button1Click(Sender: TObject); var dc : hdc; MemDc : hdc; MemBitmap : hBitmap; OldM ...
- 关于Url传递参数
Url传递参数时,后台取值会直接取等号后面的内容,包括引号在内. 比如: http://localhost:8080/user?name='admin' 这是错误的做法,后台获取到的参数是包括引号 ...
- Matlab界面清洗
保持干净清爽的编程界面可以给人以简洁明朗的享受,Matlab可以对涉及到的4个界面进行清洗: ① Clear Figure ; ② Clear Command window; ③ Clear Wor ...
- 06-SSH综合案例:前台首页访问
1.5 编码实现: 1.5.1 首页显示: 复制所有文件到工程下: * css * js * image 复制页面到工程WEB-INF/jsp/ * 将后缀.htm改为jsp 访问一个Actio ...
- Python小程序之「读取站点地图 自动为Gitalk创建Issues」
首发于个人博客 想获得更好的阅读体验,烦请移步⬆️ 前言 前些天给博客加了评论功能,试了Disqus.Valine等一干评论系统,最后还是选择了在大陆相对友好而且符合技术博客风格的Gitalk.但是由 ...
- 8-@Pointcut( "execution(* com.ctgu.controller.AccountController.transfer(..))" ) 拦截配置问题
@pointcut()可以直接指定到某个包下的某个类的某个方法上:
- android4.2 高用zing拍照后,返回其它页面操作时,主线程关掉或程序退出的问题解决
产生错误的代码: @Override protected void onCreate(Bundle savedInstanceState) { StrictMode.setThreadPolicy(n ...
- Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using
using Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using 2015-06-29 浏览 ...
- CoreImage
[CoreImage] CIContext is an object through which Core Image draws the results produced by a filter. ...
- 信息增益(Information Gain)(转)
当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设.在这种情况下,概率分布最均匀,预测的风险最小.因为这时概率分布的信息熵最大,所以称之为 ...