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

评论关闭