{ "info": { "author": "Gerard Flanagan", "author_email": "gflanagan@devopsni.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Operating System :: POSIX", "Programming Language :: Other", "Programming Language :: Python" ], "description": "vboxn\n######\n\n`vboxn`_ automates the creation of VirtualBox machines.\n\nOveriew\n=======\n\n`vboxn`_ is a Python/Bash library for creating new VirtualBox machine images\nin a repeatable and unattended fashion. It is intended as a developer utility\nsimilar in scope to `veewee`_, (from which it borrows a few deploy templates).\n\nThe package includes three user-facing scripts:\n\n+ **vboxn-init** for creating and bootstrapping a new virtual machine (Bash).\n+ **vboxn-postinstall** for further provisioning of the machine via default or\n user-supplied scripts (Bash).\n+ **vboxn** for manipulating existing machines (Python).\n\nVagrant\n-------\n\nThe default postinstall scripts are intended to configure the virtual machine\nin a way that is compatible with `Vagrant`_. Once the postinstall step has\ncompleted (and the machine has been shutdown), you ought to be able to\nimmediately package the vm as a `Vagrant`_ base box - for example, if the vm\nyou created is called **pangolin32** ::\n\n vagrant package --base pangolin32 --output pangolin32.box\n\nThe new box can then be further configured and added to an existing `Vagrant`_\ninstallation as follows::\n\n vagrant box add pangolin32.box\n\nSee the `docs on Vagrant base boxes`_ for more info.\n\nHowever, note that vagrant will handle network configuration in its own way,\nand this may clash with how the postinstall scripts have left things. In the\ncase of the default Ubuntu install, you need to ensure that\n``/etc/network/interfaces`` is consistent.\n\nStatus\n======\n\nThe Ubuntu 12.04 guest install works, the archlinux guest install is not\ncomplete - the default postinstall script fails after a certain point.\nSince Ubuntu is all I need at the moment, there are no immediate plans to\ngo beyond that.\n\nInstallation\n============\n\nInstall from `pypi`_::\n\n pip install vboxn\n\nDevelopment\n-----------\n\nEither::\n\n pip install -e git+https://github.com/devopsni/vboxn.git#egg=vboxn\n\nOr::\n\n python bootstrap.py && ./bin/buildout\n\nRequirements\n------------\n\n + `Cliff`_\n\nQuickstart\n==========\n\nThe following will create and start a new VirtualBox machine in GUI mode,\nand install Ubuntu 12.04 as the guest OS::\n\n vboxn-init pangolin32 ubuntu auto\n\nIf all went well and the OS was successfully installed, shutdown the virtual\nmachine (either from the GUI, or with ``sudo shutdown -h now``), and run the\npostinstall script.::\n\n vboxn-postinstall pangolin32\n\nIf that succeeded, shutdown the machine again and launch it in headless\n(GUI-less) mode::\n\n vboxn headless pangolin32\n\nNow, wait enough time for the machine to boot and, assuming that you had a\npublic RSA key in the usual place (~/.ssh/id_rsa.pub) and it was copied to\nthe new machine successfully, you should be able to **ssh** to the running\ninstance (by default on address 192.168.44.100 via the hostonly adapter with\naddress 192.168.44.1).\n\nThe root password is set to **vboxn** and there is an admin user called\n**vboxn** also with this password.\n\nBoth the init and postinstall phases will launch \"one-shot\" web servers on\nthe host using the `netcat`_ utility, if the installation fails then these\nmay still be running and should be killed.\n\nvboxn-init\n===========\n\n**vboxn-init** is a Bash script which will be installed as part of the standard\nPython package installation, but could also be used standalone without\nrequiring either Python or `vboxn`_ itself.\n\nUsage\n-----\n\n::\n\n vboxn-init [properties_file] [vm_option=..., vm_option=...]\n\n Description:\n\n Automate the creation of VirtualBox machine instances.\n\n Examples:\n\n vboxn-init testbox0 ubuntu auto\n vboxn-init testbox0 ubuntu auto kickstart=no\n vboxn-init testbox0 ubuntu auto kickstart_file=bootstrap.sh\n vboxn-init testbox0 ubuntu auto postinstall=no\n vboxn-init testbox0 ubuntu auto vm_basefolder=/srv/vbox\n vboxn-init testbox0 archlinux archlinux-2011.08.19-core-i686.iso\n vboxn-init testbox0 archlinux iso/archlinux-2011.08.19-core-i686.iso conf/vm.properties\n\n Notes:\n\n - Specifying 'auto' or 'auto64' for the iso source will download\n the latest generic 32/64-bit installation image for the OS\n\n - A properties file can optionally be used to supply overrides to the\n default VM config options, it is sourced by vboxn-init and should be a\n valid shell script.\n\n - Properties can additionally be defined as command line\n arguments. If both a properties file and command line properties\n are given, then those specified on the command line will take\n precedence.\n\n - If 'kickstart=yes' (the default) and 'kickstart_file' is\n unspecified, then a generic kickstart file will be downloaded\n from this project's github repository and run on the new guest\n machine. Similarly for 'postinstall=yes' and 'postinstall_configure_files'.\n\n - 'postinstall_configure_files' should be a space delimited list\n of files which will be concatenated in the order given and run\n on the guest after the OS is installed. 'postinstall_configure_root'\n can optionally be defined as a prefix for the postinstall files.\n\n - The kickstart and postinstall files are made available to the\n guest machine by running a \"one shot\" web server on the host.\n The default address for this web server to listen on is the inet\n IP address of the host, and the default port is 8585. This can be\n changed by specifying the 'kickstart_listen_on' parameter:\n\n vboxn-init testbox0 ubuntu auto kickstart_listen_on=192.168.1.101:8080\n\n\n\n.. _vboxn: https://github.com/devopsni/vboxn\n.. _veewee: https://github.com/jedi4ever/veewee\n.. _netcat: http://en.wikipedia.org/wiki/Netcat\n.. _vagrant: http://vagrantup.com\n.. _docs on Vagrant base boxes: http://vagrantup.com/v1/docs/base_boxes.html\n.. _pypi: http://pypi.python.org/pypi\n.. _cliff: http://pypi.python.org/pypi/cliff/", "description_content_type": null, "docs_url": null, "download_url": "http://pypi.python.org/packages/source/v/vboxn/vboxn-0.2.4.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/devopsni/vboxn", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "vboxn", "package_url": "https://pypi.org/project/vboxn/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/vboxn/", "project_urls": { "Download": "http://pypi.python.org/packages/source/v/vboxn/vboxn-0.2.4.tar.gz", "Homepage": "https://github.com/devopsni/vboxn" }, "release_url": "https://pypi.org/project/vboxn/0.2.4/", "requires_dist": null, "requires_python": null, "summary": "Automate the creation and provisioning of VirtualBox machines.", "version": "0.2.4" }, "last_serial": 801353, "releases": { "0.0.0": [], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5d9cadec0537d27852e3b9ead703a62b", "sha256": "caed97f88412d4079bf434e6123212d6308acfae632466a55dff2100e1d75405" }, "downloads": -1, "filename": "vboxn-0.2.0.tar.gz", "has_sig": false, "md5_digest": "5d9cadec0537d27852e3b9ead703a62b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32208, "upload_time": "2012-07-16T18:18:38", "url": "https://files.pythonhosted.org/packages/c6/01/9b9e76a0917b3b05dcf9286223f8eebaacce13dccb8d3a10a8f820d2ec88/vboxn-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "058bd3f25e7f1fef15206f3a4dff801b", "sha256": "19ff75898f44e252520bc5e859cc81a00d5de7a630861237132a232893fe6fac" }, "downloads": -1, "filename": "vboxn-0.2.1.tar.gz", "has_sig": false, "md5_digest": "058bd3f25e7f1fef15206f3a4dff801b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32201, "upload_time": "2012-07-16T18:27:32", "url": "https://files.pythonhosted.org/packages/0d/ca/4c4fffea14d3e6387dd34a0013c259cc32f29166e2249b42cfbeef6a9e67/vboxn-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "4f9e0326fb27339811b66d63b9c8a82a", "sha256": "f9ab33bc77833ccc5816726457c8c4e861bfa3e9ba844ea279adb1c4f0eead54" }, "downloads": -1, "filename": "vboxn-0.2.2.tar.gz", "has_sig": false, "md5_digest": "4f9e0326fb27339811b66d63b9c8a82a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32239, "upload_time": "2012-07-16T18:31:06", "url": "https://files.pythonhosted.org/packages/ff/91/e6b14e6f159c0af16185512ccaff9851f5f05ad32fff3edc7dc2c3616b3f/vboxn-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "80f8d221891a68c895d03f4b60a49833", "sha256": "9c5f9a15d956751f7e934b441b646288ceaf18c7b73c71e8a01d20a168c38ede" }, "downloads": -1, "filename": "vboxn-0.2.3.tar.gz", "has_sig": false, "md5_digest": "80f8d221891a68c895d03f4b60a49833", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32330, "upload_time": "2012-07-16T18:33:07", "url": "https://files.pythonhosted.org/packages/a7/fd/e60605e3921532b7fbfc4bfc00c413f5ad881c37d342ecd0cf9c7f034b93/vboxn-0.2.3.tar.gz" } ], "0.2.4": [] }, "urls": [] }