码迷,mamicode.com
首页 > 编程语言 > 详细

Nova 通过Python API 查询,创建,删除flavor

时间:2018-05-28 13:45:16      阅读:420      评论:0      收藏:0      [点我收藏+]

标签:nova   time   bsp   nec   domain   tor   util   ESS   imp   

 1 [root@controller ~]# 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 time
11 import sys
12 import keystoneclient.v3.client as ksclient
13 from neutronclient.v2_0 import client as netclient
14 
15 # Keystone get project_id
16 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         break
31 
32 # Nova
33 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.id
40         print "Name:" + data.name
41         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_create
52     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 data
62             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 data
72             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)

 

运行效果:

 

[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

标签:nova   time   bsp   nec   domain   tor   util   ESS   imp   

原文地址:https://www.cnblogs.com/wangjq19920210/p/9099591.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!