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 ...
随机推荐
- C# DataTable添加行和列
方法一: DataTable tblDatas = new DataTable("Datas"); DataColumn dc = null; dc = tblDatas.Colu ...
- String(byte[] bytes, Charset charset) 和 getBytes() 使用
转自:https://techbirds.iteye.com/blog/1855960 @Test public void testBytes(){ //字节数 //中文:ISO:1 GBK:2 UT ...
- LInux Centos7 重装yum
Linux yum默认安装python2.7,犹豫2020年之后不更新, 安装python3.6,出现了yum运行失败, 因为yum是依赖python的 1:先删除原有YUM rpm -aq|grep ...
- 记一次 .net core publish 之后找不到视图文件的问题
周末将VS从15.3 升级到15.5 ,之后又将VS版本由社区版,升级为企业版. 于是问题来了: 项目publish 之后找不到视图文件了??? 问题很是蛋疼,后来仔细想了一下,也没有动什么东西.查看 ...
- jsp脚本语法
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 什么是2MSL
[什么是2MSL] MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃.因为tcp报文( ...
- 非root用户使用1024以下端口
如果你有一个最新的内核,确实有可能使用它作为非root用户启动服务,但绑定低端口.最简单有效的办法是: #setcap 'cap_net_bind_service=+ep' /path/to/pr ...
- 40. Combination Sum II (Back-Track)
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...
- assetBundle打包脚本与LUA
AssetBundles与脚本 所有Unity的AssetBundle,无论是从本地获取 还是www,或者打包整个场景.物体上的脚本都不会被编译.所以AssetBundle打包的时候即使物体上有脚本. ...
- 岛屿的个数12 · Number of Islands12
[抄题]: 给一个01矩阵,求不同的岛屿的个数. 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右为相邻. [ [1, 1, 0, 0, 0], [0, 1, 0, 0 ...