-
Notifications
You must be signed in to change notification settings - Fork 77
Home
Ruby OpenStack Compute, Object-Store, Block Storage and Network bindings for the OpenStack API. It supports Keystone Authentication (v1.0 and v2.0), Nova and Swift.
To use this gem, the first Step is to install it with gem install openstack or add it to your Gemfile:
gem 'openstack'
Next you need to open a new connection and authenticate on your OpenStack infrastructure. For this, you can use Keystone Identity version 1.0 or version 2.0 with password- or token-authentication. Version 3.0 is not implemented yet.
compute = OpenStack::Connection.create({
:username => "[email protected]",
:api_key=>"secureP433word",
:auth_method=>"password",
:auth_url => "https://example.com:13327/v2.0/",
:authtenant_name =>"[email protected]",
:service_type=>"compute"})
After that, you can use the Compute API (see the :service_type specification in the example above). Keep in mind that you have to open a new connection for different OpenStack projects and different tasks (network, object storage, ...).
compute.servers
=> []
OpenStack is composed from various core services (independent projects). What is available for you is dependent on your infrastructure. This gem supports (except Glance) all core services from OpenStack and in addition the widely used extensions.
Manages the lifecycle of compute instances in an OpenStack environment. Responsibilities include spawning, scheduling and decommissioning of machines on demand. more ...
There are various extensions. You can get more information which extensions are installed by using the .api_extensions method on the OpenStack connection object. The following extensions are implemented:
- Volumes (attach/detach volumes)
- Floating IPs (managing floating IPs and attach/detach them to instances)
- Security Groups (managing security groups)
- Keypairs (managing public/private keypairs)
Enables network connectivity as a service for other OpenStack services, such as OpenStack Compute. Provides an API for users to define networks and the attachments into them. Has a pluggable architecture that supports many popular networking vendors and technologies. more ...
Stores and retrieves arbitrary unstructured data objects via a RESTful, HTTP based API. It is highly fault tolerant with its data replication and scale out architecture. Its implementation is not like a file server with mountable directories. more ...
Provides persistent block storage to running instances. Its pluggable driver architecture facilitates the creation and management of block storage devices. more ...
- Marios Andreou ([email protected])
- Dan Prince ([email protected])
- Naveed Massjouni ([email protected])
- Aaron Fischer ([email protected])
- Alexander Birkner ([email protected])
Initial code checkin on May 23rd 2012 - code refactored from and based on the Rackspace Cloud Servers gem and Rackspace Cloud Files gem. Since Nov 2015 maintained by Marbis GmbH. If you want to contribute code, make sure you read the developer guidelines before.
See COPYING for license information.
Core Services
The project
