Python的Nova计算库
项目描述
- 日期::
- 2012-03-08 16:22
- 类别::
*nix
通过Python访问Openstack Nova Compute
一般概述
这是一个非常简单的库,我在需要访问Openstack NOVA计算API而不想使用novaclient的项目中发现了它的实用性。
- 注意:
如果您之前安装了“the book of nova”的某个版本,则在进行身份验证和日志记录时需要重新配置应用程序。默认情况下,应用程序现在使用标准的Python日志模块,并在您访问库时将所有日志信息打印到控制台。如果您想将日志记录到文件,只需在加载“computelib.NovaCommands”类时更改“log_file”变量。如果您的运行具有提升权限,则“log_file”变量将尝试将日志文件放在“/var/log”,否则日志文件将位于用户的工作目录。您还可以通过更改“log_level”变量来更改日志级别以获得更多/更少的输出。最后,如果您已设置日志处理程序,则可以通过简单地使用“output”变量来完全覆盖默认的记录器。要使用“output”变量,您需要预先设置支持[错误、信息、调试]的某些日志设施。
- 库功能
执行Openstack Nova操作
目前仅支持Openstack Nova Compute,但同时也支持纯Openstack和Rackspace Open Cloud。
并非所有功能都是内置的,但库是可扩展的,我会根据需要/请求添加功能。
- 先决条件
Python => 2.6 且 < 3.0
安装简单
git clone git://github.com/cloudnull/bookofnova.git cd bookofnova python setup.py install
现在在你的应用程序中导入bookofnova,然后继续访问Openstack Nova。
应用程序使用
以下是基本用法
# Everything in this dictionary is a string, fill in the needed values. m_args = {"os_user": 'YOURUSERNAME', "os_apikey": 'RANDOMNUMBERSANDTHINGS', "os_auth_url": None, "os_rax_auth": 'ALOCATION', "os_verbose": None, "os_password": None, "os_tenant": None, "os_region": None, "os_version": 'v2.0'}
from bookofnova import computelib, connections # Tell the book of Nova that you are ready nova = computelib.NovaCommands(m_args=m_args, log_file=None, log_level='info', output=None) # Authenticate Against the Nova API nova.auth() # Using Nova to show a list of all Instances servers = nova.server_list() print(servers) # now everything that you ever wanted to know from a Openstack Nova # query can be found in your dictionary under the key 'nova_resp'