{ "info": { "author": "Carlos Valiente", "author_email": "carlos@pepelabs.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "libcloud-vagrant - A Vagrant compute provider for Apache Libcloud\n=================================================================\n\n``libcloud-vagrant`` is a compute provider for `Apache Libcloud`_ which uses\n`Vagrant`_ to create `VirtualBox`_ nodes.\n\nWith ``libcloud-vagrant`` installed, you could prototype a small cluster on\nyour laptop, for instance, and then deploy it later on to Amazon, Rackspace,\nor any of the other clouds supported by Libcloud.\n\n\nHello, world\n------------\n\nThe following snippet spins up a virtual machine running on your host::\n\n from libcloud.compute.providers import get_driver\n\n from libcloudvagrant import VAGRANT\n\n\n driver = get_driver(VAGRANT)()\n\n pub = driver.ex_create_network(name=\"pub\", cidr=\"172.16.0.0/16\", public=True)\n\n node = driver.create_node(name=\"n1\",\n image=driver.get_image(\"hashicorp/precise64\"),\n size=driver.list_sizes()[0],\n ex_networks=[pub])\n\n print \"Node '%s' running!\" % (node.name,)\n print (\"Connect to it with 'ssh vagrant@%s' (password: 'vagrant')\" %\n (node.public_ips[0],))\n\n\nFeatures\n--------\n\n``libcloud-vagrant`` uses Vagrant to create boxes, networks and volumes. It\ncreates a Vagrant environment under ``~/.libcloudvagrant``, which is used\nto run as many Vagrant boxes as you define.\n\nNodes created by ``libcloud-vagrant`` may be connected to *public networks*\nor to *private networks*. Public networks are implemented as VirtualBox\n`host-only`_ networks, and private networks are implemented as VirtualBox\n`internal`_ networks.\n\n``libcloud-vagrant`` also lets you create `VDI disks`_, and attach them to\nthe `SATA controllers`_ of your nodes.\n\nDeployment scripts are run through Vagrant's NAT interface, using\nVagrant's SSH credentials. Therefore they also work for non-networked\nnodes.\n\n``libcloud-vagrant`` includes a command-line tool to do simple\noperations with Vagrant nodes created by Libcloud::\n\n $ libcloud-vagrant -h\n usage: libcloud-vagrant [-h] \n\n Manage your Vagrant libcloud environment.\n\n positional arguments:\n command to execute\n\n optional arguments:\n -h, --help show this help message and exit\n\n Available commands:\n\n destroy\n Destroys all nodes, networks and volumes in your Vagrant\n environment.\n\n list\n Lists all nodes, networks and volumes in your Vagrant\n environment.\n\n screen\n Opens a screen(1) session to all nodes in your Vagrant\n environment.\n $\n\n``libcloud-vagrant`` is *not* thread- or multiprocess-safe. Interactions\nwith Vagrant and with the Virtualbox command-line tools are protected\nwith a filesystem-based lock, which (hopefully) serializes things, so\neven if they worked, concurrent operations would not give you much\nbenefit.\n\n\nRequirements\n------------\n\n``libcloud-vagrant`` requires:\n\n* `VirtualBox`_ (tested with version 4.3.14 under 64-bit Linux).\n* `Vagrant`_ (tested with version 1.6.3 under 64-bit Linux).\n* Python 2.7.\n* If you want to attach storage volumes to nodes, you'll need the\n `vagrant-libcloud-helper`_ Vagrant plugin. Install it with::\n\n $ vagrant plugin install vagrant-libcloud-helper\n\nThe following are optional:\n\n* If you're behind an HTTP/FTP proxy, the Vagrant plugin `vagrant-proxyconf`_\n will modify the nodes created by ``libcloud-vagrant`` to use it.\n\n You don't need to configure ``vagrant-proxyconf``. Install it with::\n\n $ vagrant plugin install vagrant-proxyconf\n\n\n\nInstallation\n------------\n\nOnce you have installed VirtualBox and Vagrant, do the usual::\n\n $ pip install libcloud-vagrant\n\nThat will install ``libcloud-vagrant`` and its Python dependencies. You\nmight want to do that within a virtualenv.\n\n\nMore examples\n-------------\n\nHave a look at the `samples`_ subdirectory of the source distribution. You\nwil find there a few scripts to create a single node, to show you how to\nprovision it, and a script which creates a two-node cluster.\n\n\n.. _Apache Libcloud: https://libcloud.apache.org/\n.. _Vagrant: http://vagrantup.com/\n.. _VirtualBox: http://virtualbox.org/\n.. _SATA controllers: http://virtualbox.org/manual/ch05.html#harddiskcontrollers\n.. _VDI disks: http://virtualbox.org/manual/ch05.html#vdidetails\n.. _host-only: http://virtualbox.org/manual/ch06.html#network_hostonly\n.. _internal: http://virtualbox.org/manual/ch06.html#network_internal\n.. _samples: https://github.com/carletes/libcloud-vagrant/tree/master/samples\n.. _vagrant-libcloud-helper: https://github.com/carletes/vagrant-libcloud-helper\n.. _vagrant-proxyconf: https://github.com/tmatilai/vagrant-proxyconf", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/carletes/libcloud-vagrant", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "libcloud-vagrant", "package_url": "https://pypi.org/project/libcloud-vagrant/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/libcloud-vagrant/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/carletes/libcloud-vagrant" }, "release_url": "https://pypi.org/project/libcloud-vagrant/0.5.0/", "requires_dist": null, "requires_python": null, "summary": "A libcloud compute provider for local Vagrant boxes", "version": "0.5.0" }, "last_serial": 1191391, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "485892938aedee5ce3404c6a3bc155a3", "sha256": "b149671be76b23530ea8a25c116705fb437e4d60f356610bf7e08c2df654b699" }, "downloads": -1, "filename": "libcloud-vagrant-0.1.0.tar.gz", "has_sig": false, "md5_digest": "485892938aedee5ce3404c6a3bc155a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 161583, "upload_time": "2014-07-19T15:39:31", "url": "https://files.pythonhosted.org/packages/cf/8a/e3a5fbfa51a606d5b9956b534bf077e1b8af3ddafd938929c028abb4930f/libcloud-vagrant-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "89655712879530b84d28cf79f1faf4d1", "sha256": "2d439317150c08173c1e81971799dfbe0b72b1b3f70e82fd4d5e51d7b0148864" }, "downloads": -1, "filename": "libcloud-vagrant-0.2.0.tar.gz", "has_sig": false, "md5_digest": "89655712879530b84d28cf79f1faf4d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 162653, "upload_time": "2014-07-21T19:08:38", "url": "https://files.pythonhosted.org/packages/d9/da/f02387b62f0138f5a706a1baf2b567e5eae0cb7c3eb66c83ac9571924193/libcloud-vagrant-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "52e8fd5923cb576676536159e94788fc", "sha256": "247e74c2e56310aff8f86ef08028898fad569dfb498ca07415e81aed309b55da" }, "downloads": -1, "filename": "libcloud-vagrant-0.3.0.tar.gz", "has_sig": false, "md5_digest": "52e8fd5923cb576676536159e94788fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 166281, "upload_time": "2014-08-02T12:11:08", "url": "https://files.pythonhosted.org/packages/28/db/2ab2563f7af279d3d1b6176e20db75e14bb97e02f3ee3871083d37e546aa/libcloud-vagrant-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f0702c66068b95d7b83defadd839b8a3", "sha256": "0aa15d4e71a7bab26d57476d6c52e689c383195b1316eff0cecb4ad4c1c383ae" }, "downloads": -1, "filename": "libcloud-vagrant-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f0702c66068b95d7b83defadd839b8a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 165068, "upload_time": "2014-08-11T12:27:13", "url": "https://files.pythonhosted.org/packages/57/ef/e49599fbfc213fba111df286d3c97ace07da840ae09495f5704594befe96/libcloud-vagrant-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "c3c0eb74d7da8e531161b077f3e022f9", "sha256": "d184e7a1f655d949b63bb3edcff8aa4f4120af1a4fd9bf2ea3cbe4c5114dfd51" }, "downloads": -1, "filename": "libcloud-vagrant-0.5.0.tar.gz", "has_sig": false, "md5_digest": "c3c0eb74d7da8e531161b077f3e022f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 166492, "upload_time": "2014-08-15T11:35:24", "url": "https://files.pythonhosted.org/packages/e7/5d/14ea49a4090b02169d44879a756bce21d4edfff61b4181f736333df6c81c/libcloud-vagrant-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c3c0eb74d7da8e531161b077f3e022f9", "sha256": "d184e7a1f655d949b63bb3edcff8aa4f4120af1a4fd9bf2ea3cbe4c5114dfd51" }, "downloads": -1, "filename": "libcloud-vagrant-0.5.0.tar.gz", "has_sig": false, "md5_digest": "c3c0eb74d7da8e531161b077f3e022f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 166492, "upload_time": "2014-08-15T11:35:24", "url": "https://files.pythonhosted.org/packages/e7/5d/14ea49a4090b02169d44879a756bce21d4edfff61b4181f736333df6c81c/libcloud-vagrant-0.5.0.tar.gz" } ] }