[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的更多相关文章

  1. python 读取 查询 更新 删除 sql2008 类及应用

    import pymssql class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user s ...

  2. Python mysql-表的创建,删除和更新

    2017-09-06 20:59:56 数据库的创建 CREATE DATEBASE <数据库的名称> 表的创建 CREATE TABLE <表名> (<列名1> ...

  3. Openstack python api 学习文档 api创建虚拟机

    Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...

  4. 手把手教你使用C#操作SQLite数据库,新建数据库,创建表,插入,查询,删除,运算符,like

    目录: 一.新建项目,添加引用 二.创建数据库 三.创建表 四.插入数据  五.查询数据  六.删除数据  七.运算符 八.like语句 我的环境配置:windows 64,VS,SQLite(点击下 ...

  5. elasticsearch 中文API 基于查询的删除(九)

    基于查询的删除API 基于查询的删除API允许开发者基于查询删除一个或者多个索引.一个或者多个类型.下面是一个例子. import static org.elasticsearch.index.que ...

  6. Python API:openstack

    OpenStack 是一个越来越流行的.用于部署基础架构即服务 (IaaS) 云的开源解决方案.OpenStack 附带了一个仪表板 Web 应用程序,非常适合执行手动任务,比如启动单个虚拟机 (VM ...

  7. 《Spark Python API 官方文档中文版》 之 pyspark.sql (一)

    摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...

  8. 初识Django —Python API接口编程入门

    初识Django —Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言, ...

  9. The novaclient Python API

    The novaclient Python API Usage First create a client instance with your credentials: >>> f ...

随机推荐

  1. Rhythmk 一步一步学 JAVA (19): 注解 annotation

    在编写注解的时候需要了解的四种注解: @Target 表示该注解可以用于什么地方,可能的ElementType参数有: CONSTRUCTOR:构造器的声明 FIELD:域声明(包括enum实例) L ...

  2. react之引用echarts

    react之引用echarts npm: npm install echarts --save 代码: import React, { Component } from 'react'; // 引入 ...

  3. leetcode112

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  4. javax.persistence.RollbackException: Error while committing the transaction

    the valid jpa update entity code gives the exception below in the case of  wrong dependency( org.hib ...

  5. 检测IE浏览器版本是否过低

    <script type="text/javascript"> /*判断浏览器版本是否过低*/ $(document).ready(function() {s var ...

  6. java.util.ConcurrentModificationException异常分析

    Java在操作ArrayList.HashMap.TreeMap等容器类时,遇到了java.util.ConcurrentModificationException异常.以ArrayList为例,如下 ...

  7. Python运维开发基础03-语法基础

    上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现" ...

  8. tomcat启动一闪而过,调试tomcat

    参考地址:https://blog.csdn.net/baidu_32739019/article/details/64155136

  9. windchill StatementCache: wt.util.Cache%828007782 [size=50, count=4, hits=36, misses=4, aged=0]

    StatementCache: wt.util.Cache%828007782 [size=50, count=4, hits=36, misses=4, aged=0] 方法: EXEC sys.s ...

  10. Eclipse自动补全修改

    一.前言 之前敲代码用的是文本工具sublime,转到Eclipse之后发现补全功能特别不方便,所以想根据自己的情况进行调整,具体有两点: 输入某些语句的前几个字母就能自动提示相关的完整语句 用tab ...