Skip to main content

Nova Compute Library for Python

Project description

Date:
2012-03-08 16:22
tags:

Openstack, Nova Compute, Nova

category:

*nix

Access Openstack Nova Compute via Python

General Overview

This is a VERY Simple library which I have found useful in projects where I needed access to the Openstack NOVA Compute API and I did not want to bother with novaclient.

NOTICE:

If you had installed a previous version of “the book of nova” then you will need to retool the application when it comes to authentication and logging. By Default the application now uses the standard Python Logging Module, and will print out all of the logging information to the console as you access the library. If you want to log to a file simply change the “log_file” variable when you load in “computelib.NovaCommands” class. The “log_file” variable will attempt to place the log file in “/var/log” if you are running with elevated privileges, otherwise the log file will be in the users working directory. You may also change the log level for more/less output by changing the “log_level” variable. Lastly, if you have a log handler setup you can override the default logger entirely by simple using the “output” variable. To use the output variable you will need to pre-set the some logging facility which supports [error, info, debug].

Functions of the Library :
  • Do Openstack Nova Things

  • Presently only supports Openstack Nova Compute, but does so for both Vanilla Openstack and the Rackspace Open Cloud

  • Not all of the functions are built-in however the library is extendable and I would be happy to add things in as needed / requested.

Prerequisites :
  • Python => 2.6 but < 3.0

Installation is simple :

git clone git://github.com/cloudnull/bookofnova.git
cd bookofnova
python setup.py install

Now in your application Import bookofnova and go forth and Access Openstack Nova.

Application Usage

Here is some Basic Usage :

# 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'

Get Social

See https://github.com/cloudnull/bookofnova/issues for Issues or Feature requests

License

Copyright [2013] [Kevin Carter]

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bookofnova-0.007.tar.gz (12.6 kB view details)

Uploaded Source

File details

Details for the file bookofnova-0.007.tar.gz.

File metadata

  • Download URL: bookofnova-0.007.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bookofnova-0.007.tar.gz
Algorithm Hash digest
SHA256 4d10da602ba4e880574927f6ee509cf409a9fb48731b9bbc397ca202524e190f
MD5 a52e968e61a13eb308577f187779fb36
BLAKE2b-256 4dd72036bcf3ac6b75f3bf08dab60e4ba696557d53fef45831b58d81769a9d6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page