Nova 通过Python API 查询,创建,删除flavor,, 1 [[email
Nova 通过Python API 查询,创建,删除flavor,, 1 [[email
1 [[email protected] ~]# cat flavor.py 2 from novaclient import client as nvclient 3 from novaclient import utils 4 from novaclient import base 5 6 from keystoneauth1.identity import v3 7 from keystoneauth1 import session 8 from keystoneclient.v3 import client 9 10 import time11 import sys12 import keystoneclient.v3.client as ksclient13 from neutronclient.v2_0 import client as netclient14 15 # Keystone get project_id16 auth = v3.Password(user_domain_name=‘Default‘,17 username=‘admin‘,18 password=‘openstack‘,19 project_domain_name=‘Default‘,20 project_name=‘admin‘,21 auth_url=‘http://controller:35357/v3‘)22 sess = session.Session(auth=auth)23 keystone = client.Client(session=sess)24 25 projects_list = keystone.projects.list()26 for o in projects_list:27 name = getattr(o, "name", ‘‘)28 if name == "admin":29 project_id = getattr(o, "id", ‘‘)30 break31 32 # Nova33 nova = nvclient.Client(‘2.42‘, ‘admin‘, ‘openstack‘, project_id, ‘http://controller:5000/v2.0‘)34 35 def flavors_list():36 flavors_list = nova.flavors.list()37 print "================ list flavor =============="38 for data in flavors_list:39 print "ID :" + data.id40 print "Name:" + data.name41 print "CPU :" + str(data.vcpus)42 print "MEM :" + str(data.ram)43 print "Disk:" + str(data.disk)44 print "==========================================="45 print ""46 47 def flavors_create(name, ram, vcpus, disk):48 print "=============== create flavor ============="49 flavors_create = nova.flavors.create(name, ram, vcpus, disk, flavorid="auto",50 ephemeral=0, swap=0, rxtx_factor=1.0, is_public=True) 51 print flavors_create52 print "=================== end ================="53 print ""54 55 def set_key_flavor(name):56 print "============== set key flavor ============="57 key = {‘hw:cpu_cores‘:‘4‘, ‘hw:cpu_sockets‘:‘1‘}58 flavors_list = nova.flavors.list()59 for data in flavors_list:60 if data.name == name:61 print data62 data.set_keys(key)63 print "=================== end ================="64 print ""65 66 def flavors_delete(name):67 print "=============== delete flavor ============="68 flavors_list = nova.flavors.list()69 for data in flavors_list:70 if data.name == name:71 print data72 nova.flavors.delete(data)73 print "=================== end ================="74 75 flavors_list()76 flavors_create(name=‘flavor_demo‘, ram=4096, vcpus=‘4‘, disk=0)77 set_key_flavor(name=‘flavor_demo‘)78 flavors_list()79 flavors_delete(name=‘flavor_demo‘)
运行效果:
[[email protected] ~]# python flavor.py
================ list flavor ==============
=============== create flavor =============
<Flavor: flavor_demo>
=================== end =================
============== set key flavor =============
<Flavor: flavor_demo>
=================== end =================
[[email protected] ~]# vim flavor.py
[[email protected] ~]# 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学习之----用虚拟环境保存库文件,python----,如果你
- Python 可视化TVTK CubeSource管线初使用,tvtkcubesource,
- Python3的安装,Python3安装,工欲善其事,必先利其
- Python第三方模块tesserocr安装,pythontesserocr,介绍在爬虫过
- Python中的Numpy,PythonNumpy,引用Numpyimp
- python随机产生手机号和邮箱号,python手机号邮箱,1、写
- python正则表达式re 中m.group和m.groups的解释,m.groupm.gro
- Python 使用 Matplotlib 做图时,如何画竖直和水平的分割线
- python 调用 R,使用rpy2,pythonrpy2, python 与
- 短时傅里叶变换(Short Time Fourier Transform)原理及 Python 实
评论关闭