Skip to main content

A libcloud compute provider for local Vagrant boxes

Project description

libcloud-vagrant is a compute provider for Apache Libcloud which uses Vagrant to create VirtualBox nodes.

With libcloud-vagrant installed, you could prototype a small cluster on your laptop, for instance, and then deploy it later on to Amazon, Rackspace, or any of the other clouds supported by Libcloud.

Hello, world

The following snippet spins up a virtual machine running on your host:

from libcloud.compute.providers import get_driver

from libcloudvagrant.driver import VAGRANT


driver = get_driver(VAGRANT)()

pub = driver.ex_create_network(name="pub", cidr="172.16.0.0/16", public=True)

node = driver.create_node(name="n1",
                          image=driver.get_image("hashicorp/precise64"),
                          size=driver.list_sizes()[0],
                          ex_networks=[pub])

print "Node '%s' running!" % (node.name,)
print ("Connect to it with 'ssh vagrant@%s' (password: 'vagrant')" %
       (node.public_ips[0],))

Features

libcloud-vagrant uses Vagrant to create boxes, networks and volumes. It creates a Vagrant environment under ~/.libcloudvagrant, which is used to run as many Vagrant boxes as you define.

Nodes created by libcloud-vagrant may be connected to public networks or to private networks. Public networks are implemented as VirtualBox host-only networks, and private networks are implemented as VirtualBox internal networks.

libcloud-vagrant also lets you create VDI disks, and attach them to the SATA controllers of your nodes.

Deployment scripts are run through Vagrant’s NAT interface, using Vagrant’s SSH credentials. Therefore they also work for non-networked nodes.

Requirements

libcloud-vagrant requires:

  • VirtualBox (tested with version 4.3.12 under 64-bit Linux).

  • Vagrant (tested with version 1.6.3 under 64-bit Linux).

  • Python 2.7.

Installation

Once you have installed VirtualBox and Vagrant, do the usual:

$ pip install libcloud-vagrant

That will install libcloud-vagrant and its Python dependencies. You might want to do that within a virtualenv.

More examples

Have a look at the samples subdirectory of the source distribution. You wil find there a few scripts to create a single node, to show you how to provision it, and a script which creates a two-node cluster.

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

libcloud-vagrant-0.2.0.tar.gz (162.7 kB view details)

Uploaded Source

File details

Details for the file libcloud-vagrant-0.2.0.tar.gz.

File metadata

File hashes

Hashes for libcloud-vagrant-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2d439317150c08173c1e81971799dfbe0b72b1b3f70e82fd4d5e51d7b0148864
MD5 89655712879530b84d28cf79f1faf4d1
BLAKE2b-256 d9daf02387b62f0138f5a706a1baf2b567e5eae0cb7c3eb66c83ac9571924193

See more details on using hashes here.

Supported by

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