{ "info": { "author": "Florian Schulze", "author_email": "florian.schulze@gmx.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: System Administrators", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Topic :: System :: Installation/Setup", "Topic :: System :: Systems Administration" ], "description": "Overview\n========\n\nThe ploy_virtualbox plugin provides integration of `VirtualBox`_ with `ploy`_.\n\n.. _VirtualBox: https://www.virtualbox.org\n.. _ploy: https://github.com/ployground/\n\n\nInstallation\n============\n\nploy_virtualbox is best installed with easy_install, pip or with zc.recipe.egg in a buildout.\n\n\nMaster\n======\n\nThe default master for ploy_virtualbox is ``virtualbox`` and has the following options:\n\n``headless``\n Whether to start instances in headless mode by default.\n If not set, the system default is used.\n\n``use-acpi-powerbutton``\n Whether to use acpi power off by default when stopping instances.\n If not set, the system default is used.\n\n``basefolder``\n The basefolder for VirtualBox data.\n If not set, the VirtualBox default is used.\n This varies depending on the OS that ploy is running in.\n When not provided as absolute path, then it's relative to ``ploy.conf``.\n\n``instance``\n Name of instance to use to execute VirtualBox commands instead of the default local machine.\n\nExample::\n\n [vb-master:virtualbox]\n headless = true\n\n\nInstances\n=========\n\n``headless``\n Whether to start this instance in headless mode.\n If not set, the setting of the master is used.\n\n``use-acpi-powerbutton``\n Whether to use acpi power off for this instance when stopping.\n If not set, the setting of the master is used.\n\n``basefolder``\n The basefolder for this instances VirtualBox data.\n If not set, the setting of the master is used.\n When not provided as absolute path, then it's relative to ``ploy.conf``.\n\n``no-terminate``\n If set to ``yes``, the instance can't be terminated via ploy until the setting is changed to ``no`` or removed entirely.\n\nAny option starting with ``vm-`` is stripped of the ``vm-`` prefix and passed on to VBoxManage.\nAlmost all of these options are passed as is.\nThe following options are handled differently or have some convenience added:\n\n``storage``\n One storage definition per line.\n See ``VBoxManage storageattach`` documentation for details.\n\n If you don't specify the ``type``, then ``hdd`` is used by default.\n\n You don't have to specify the ``port``, if not set the line number starting at zero is used.\n\n If you don't set ``--storagectl`` then ``sata`` is used as default and if that controller doesn't exist it's created automatically.\n\n If ``medium`` references a local file that path will be passed directly to ``VBoxManage storageattach``.\n\n If it takes the form ``vb-disk:NAME`` which refers to a `Disk section`_ called ``NAME`` that will be used instead.\n\n If it takes the form of an URL, the filename of that URL is assumed to be located at ``~/.ploy/downloads/`` (this default can be overridden in the ``[global]`` section of the configuration file with an entry ``download_dir``).\n If the file does not exist it will be downloaded.\n\n When using the URL notation it is strongly encouraged to also provide a checksum using the ``--medium_sha1`` key (currently only SHA1 is supported).\n\n Example for using a local ISO image as DVD drive::\n\n storage =\n --type dvddrive --medium ~/downloads/archives/mfsbsd-se-9.2-RELEASE-amd64.iso\n --medium vb-disk:boot\n\n Example for referencing an external URL::\n\n storage =\n --type dvddrive --medium http://mfsbsd.vx.sk/files/iso/10/amd64/mfsbsd-se-10.1-RELEASE-amd64.iso --medium_sha1 03af247c1058a78a251c46ad5a13dc7b84a7ee7d\n --medium vb-disk:boot\n\n``hostonlyadapter``\n If there is a matching `Host only interface section`_, then that is evaluated.\n\n.. _Disk section:\n\nDisk sections\n=============\n\nThese section allow you to describe how disks should be created.\n\nYou can set the ``size``, ``variant`` and ``format`` options as described in the ``VBoxManage createhd`` documentation.\n\nThe ``filename`` option allows you to set a filename for the disk, the extension is automatically added based on the ``format`` option.\nIf you use a relative path, then it's base is the ``basefolder`` setting of the instance.\n\nWhen the ``delete`` option is set to ``false``, the disk is not deleted when the instance using it is terminated.\nThe default is to delete the disk upon instance termination.\n\nExample::\n\n [vb-disk:boot]\n size = 102400\n\n\n.. _Host only interface section:\n\nHost only interface sections\n============================\n\nIf you want to use host only network interfaces, then this allows you to make sure your settings are as expected and the interface exists.\nFor now only the ``ip`` option is supported.\nSee ``VBoxManage hostonlyif`` documentation for details.\n\nExample::\n\n [vb-hostonlyif:vboxnet0]\n ip = 192.168.56.1\n\n\nDHCP\n----\n\nIf a ``vb-dhcpserver`` section with the same name exists, then it is checked and if needed configured as well.\nSee ``VBoxManage hostonlyif`` documentation for details.\n\nExample::\n\n [vb-dhcpserver:vboxnet0]\n ip = 192.168.56.2\n netmask = 255.255.255.0\n lowerip = 192.168.56.100\n upperip = 192.168.56.254\n\nThe combination of ``vb-hostonlyif`` with ``vb-dhcpserver`` allows to configure a hostonly network with a deterministic IP address.\nIn the above example you could configure an instance with a static IP address of ``192.168.56.99`` which would be addressable from the host.\nThe important part is to chose an address that is *within* the DHCP server network but *outside* its DHCP pool, which is defined by ``lowerip`` and ``upperip`` respecitively.\n\n\nSSH\n===\n\nDepending on the setup we can't get the IP address or host name automatically.\n\nUnfortunately VirtualBox doesn't provide a way to see which instance got which IP address from it's own DHCP servers for example.\n\nIf you know which host name or ip address your instance will have, then set the ``host`` or ``ip`` option as explained above in the ``hostonly`` section.\n\nAs a workaround you can also setup a NAT port forwarding like this::\n\n vm-nic2 = nat\n vm-natpf2 = ssh,tcp,,47022,,22\n\nFor this case ploy_virtualbox knows how to get the port and uses it for SSH access via localhost.\n\n\nIf you install the VirtualBox guest additions in your instance, then the ``status`` command can show you the current IP address of the instance.\n\n\nExample config\n==============\n\n::\n\n [vb-master:virtualbox]\n # use-acpi-powerbutton = false\n\n [vb-disk:boot]\n size = 102400\n\n [vb-hostonlyif:vboxnet0]\n ip = 192.168.56.1\n\n [vb-dhcpserver:vboxnet0]\n ip = 192.168.56.2\n netmask = 255.255.255.0\n lowerip = 192.168.56.100\n upperip = 192.168.56.254\n\n [vb-instance:foo]\n # headless = true\n vm-ostype = FreeBSD_64\n vm-memory = 512\n vm-accelerate3d = off\n vm-acpi = on\n vm-rtcuseutc = on\n vm-boot1 = disk\n vm-boot2 = dvd\n vm-nic1 = hostonly\n vm-hostonlyadapter1 = vboxnet0\n vm-nic2 = nat\n vm-natpf2 = ssh,tcp,,47022,,22\n storage =\n --type dvddrive --medium ~/downloads/archives/mfsbsd-se-9.2-RELEASE-amd64.iso\n --medium vb-disk:boot\n\n\nChangelog\n=========\n\n1.2.0 - 2015-09-03\n------------------\n\n* Add ``delete`` option to disks. If set to ``false``, the disk is kept in\n place upon instance termination and not deleted as per default.\n [fschulze]\n\n* Ask user whether to continue or not when checksum of downloaded iso image\n doesn't match.\n [tomster]\n\n\n1.1.0 - 2015-01-20\n------------------\n\n* Log info when starting an instance.\n [fschulze]\n\n* Handle instances in ``aborted`` state.\n [fschulze]\n\n* Print error output of commands on failures.\n [fschulze]\n\n* Use new helper in ploy 1.0.2 to setup proxycommand.\n [fschulze]\n\n* Added possibility to specify a remote instance to use for a virtualbox master.\n [fschulze]\n\n* Added ability to reference disk images via external URL for virtualbox instances storage.\n [tomster]\n\n\n1.0.0 - 2014-07-19\n------------------\n\n* Added documentation.\n [fschulze]\n\n* Renamed ``vb-master`` to ``virtualbox``, so the uids of instances are nicer.\n [fschulze]\n\n* Enable DHCP server when creating or modifying it.\n [fschulze]\n\n\n1.0b4 - 2014-07-15\n------------------\n\n* Verify and if possible create host only interfaces and dhcpservers.\n [fschulze]\n\n* Add support for instances that have manually been put into ``saved`` state.\n [fschulze]\n\n\n1.0b3 - 2014-07-08\n------------------\n\n* Packaging and test fixes.\n [fschulze]\n\n\n1.0b2 - 2014-07-04\n------------------\n\n* Python 3 compatibility.\n [fschulze]\n\n* Renamed mr.awsome to ploy and mr.awsome.virtualbox to ploy_virtualbox.\n [fschulze]\n\n\n1.0b1 - 2014-06-16\n------------------\n\n* Initial release\n [fschulze]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/ployground/ploy_virtualbox", "keywords": null, "license": "BSD 3-Clause License", "maintainer": null, "maintainer_email": null, "name": "ploy_virtualbox", "package_url": "https://pypi.org/project/ploy_virtualbox/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ploy_virtualbox/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/ployground/ploy_virtualbox" }, "release_url": "https://pypi.org/project/ploy_virtualbox/1.2.0/", "requires_dist": null, "requires_python": null, "summary": "Plugin for ploy to provision virtual machines using VirtualBox.", "version": "1.2.0" }, "last_serial": 5377156, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "d975949f9bf4c2a1e09ee0271786d787", "sha256": "1efa592a54b9f87f8cb8cac2421589d01fc595ed8cb33448dc98839374bdf225" }, "downloads": -1, "filename": "ploy_virtualbox-1.0.0.zip", "has_sig": false, "md5_digest": "d975949f9bf4c2a1e09ee0271786d787", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25736, "upload_time": "2014-07-19T19:30:58", "url": "https://files.pythonhosted.org/packages/a5/ed/ec52d7df47d407c565efc688016185ab9b1788f928e9bc9922c9e000e904/ploy_virtualbox-1.0.0.zip" } ], "1.0b2": [ { "comment_text": "", "digests": { "md5": "251e7bbf889542bad3e9e023df33252e", "sha256": "d8b484c218ff9f665121b9c85754b13eceb2b8597f5600f9fb51f05621324dba" }, "downloads": -1, "filename": "ploy_virtualbox-1.0b2.zip", "has_sig": false, "md5_digest": "251e7bbf889542bad3e9e023df33252e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18703, "upload_time": "2014-07-04T13:44:17", "url": "https://files.pythonhosted.org/packages/82/75/e98b6b5e8fd1ac93a8d0f042989a259b96d5be6a7306362644455cfb32bd/ploy_virtualbox-1.0b2.zip" } ], "1.0b3": [ { "comment_text": "", "digests": { "md5": "c76a04d321895bf9256a47776f0fc1cd", "sha256": "0915603edf1e1b95d19b2d2cc3ed81bb6f129ff9c38e92026f6a38a1f8fee4a4" }, "downloads": -1, "filename": "ploy_virtualbox-1.0b3.zip", "has_sig": false, "md5_digest": "c76a04d321895bf9256a47776f0fc1cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19019, "upload_time": "2014-07-08T11:30:43", "url": "https://files.pythonhosted.org/packages/8f/49/8274c84af244b290f5dbd5d612278bd6641bd6dd966128c13843954db58a/ploy_virtualbox-1.0b3.zip" } ], "1.0b4": [ { "comment_text": "", "digests": { "md5": "e91c46c797315ddec765739da5f4a404", "sha256": "332dbe6e9d73aeb308f8e13cb663660cb19b4430b064fb261701e664ee696d44" }, "downloads": -1, "filename": "ploy_virtualbox-1.0b4.zip", "has_sig": false, "md5_digest": "e91c46c797315ddec765739da5f4a404", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20550, "upload_time": "2014-07-15T13:18:27", "url": "https://files.pythonhosted.org/packages/ec/54/b63f2e69168de123347a1ee84797813d1d9156e2706f2210c7528a05fcac/ploy_virtualbox-1.0b4.zip" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "2a44e1bde8e19892fefd9bd2e96e6c22", "sha256": "1956e2e305bde601ddf24154c356db1ffa31ead12f1cb78b0542a3ee1c23218e" }, "downloads": -1, "filename": "ploy_virtualbox-1.1.0.zip", "has_sig": false, "md5_digest": "2a44e1bde8e19892fefd9bd2e96e6c22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28779, "upload_time": "2015-01-20T13:53:21", "url": "https://files.pythonhosted.org/packages/0e/42/f52fee2a1a00405df18559c448aac1353eb0d642c38f0df37361321bd11f/ploy_virtualbox-1.1.0.zip" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "c1d167b162e8804d581db3fec4916db8", "sha256": "a76b2d7e078076757383788dea0eaa6f5b9df536b704576b173764dba71bb5d0" }, "downloads": -1, "filename": "ploy_virtualbox-1.2.0.tar.gz", "has_sig": false, "md5_digest": "c1d167b162e8804d581db3fec4916db8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22728, "upload_time": "2015-09-03T07:30:00", "url": "https://files.pythonhosted.org/packages/3d/d6/7652572a895f488fe5a9ff7b4cad49292fcd1c87d83df602c26479c22c7f/ploy_virtualbox-1.2.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "fd870ca1536d59a5e64ccbe4bc9f7d51", "sha256": "8b73af76ba4aab9f4fe624da68e281cd3892a7a94a8aa3dd5de8c0a127233833" }, "downloads": -1, "filename": "ploy_virtualbox-1.2.0.zip", "has_sig": false, "md5_digest": "fd870ca1536d59a5e64ccbe4bc9f7d51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29441, "upload_time": "2015-09-03T07:29:56", "url": "https://files.pythonhosted.org/packages/df/ce/f0da6fb075053ccff5d204bbee07943418bfa0dbd7539283c0f251c760da/ploy_virtualbox-1.2.0.zip" } ], "2.0.0b1": [ { "comment_text": "", "digests": { "md5": "f6136a7ae6c112a2c15a23c77855c7b0", "sha256": "a8d6787e0a82796d2df3e77aa439ae437880681fe2bf61417f7ee79800d0bcb5" }, "downloads": -1, "filename": "ploy_virtualbox-2.0.0b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6136a7ae6c112a2c15a23c77855c7b0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23255, "upload_time": "2018-02-07T08:36:50", "url": "https://files.pythonhosted.org/packages/19/2d/c35f265da3b3fc46f9e3e1d234f57aaa3725da6baf7fbf56d5c7f1e1c64b/ploy_virtualbox-2.0.0b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ef88467c8fb83ce146845ebec8e2fec", "sha256": "ce1d57275aaef245c32a718cc133195279e7178fe7922db229bee0e8f2555524" }, "downloads": -1, "filename": "ploy_virtualbox-2.0.0b1.tar.gz", "has_sig": false, "md5_digest": "6ef88467c8fb83ce146845ebec8e2fec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22138, "upload_time": "2018-02-07T08:36:49", "url": "https://files.pythonhosted.org/packages/69/99/b52c27191c8ca94366d6eeed4266628835b28b181bb95b54e23bb49283a2/ploy_virtualbox-2.0.0b1.tar.gz" } ], "2.0.0b2": [ { "comment_text": "", "digests": { "md5": "fb2f5556a6de2548a3b7460d83652c3c", "sha256": "c2af36878f76b0713f08b78c3ada388139afb69906347a9983d4b1f83b78b48f" }, "downloads": -1, "filename": "ploy_virtualbox-2.0.0b2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb2f5556a6de2548a3b7460d83652c3c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19226, "upload_time": "2019-06-09T08:27:59", "url": "https://files.pythonhosted.org/packages/14/ca/5e564fca50e90b958d6c1b9184fcff20d374b1246f3897f14857186c2f04/ploy_virtualbox-2.0.0b2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d21087dc1783d36dd6919f0fbaa31523", "sha256": "35bffc687b1cfc3da5a525201faee372ed0da55e8ae5dbb22c8cb4f5aca49728" }, "downloads": -1, "filename": "ploy_virtualbox-2.0.0b2.tar.gz", "has_sig": false, "md5_digest": "d21087dc1783d36dd6919f0fbaa31523", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22258, "upload_time": "2019-06-09T08:27:57", "url": "https://files.pythonhosted.org/packages/51/49/e8bd0156b65f180a27252df5557541343a074f4c7456f77dd0cdbfc2510a/ploy_virtualbox-2.0.0b2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c1d167b162e8804d581db3fec4916db8", "sha256": "a76b2d7e078076757383788dea0eaa6f5b9df536b704576b173764dba71bb5d0" }, "downloads": -1, "filename": "ploy_virtualbox-1.2.0.tar.gz", "has_sig": false, "md5_digest": "c1d167b162e8804d581db3fec4916db8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22728, "upload_time": "2015-09-03T07:30:00", "url": "https://files.pythonhosted.org/packages/3d/d6/7652572a895f488fe5a9ff7b4cad49292fcd1c87d83df602c26479c22c7f/ploy_virtualbox-1.2.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "fd870ca1536d59a5e64ccbe4bc9f7d51", "sha256": "8b73af76ba4aab9f4fe624da68e281cd3892a7a94a8aa3dd5de8c0a127233833" }, "downloads": -1, "filename": "ploy_virtualbox-1.2.0.zip", "has_sig": false, "md5_digest": "fd870ca1536d59a5e64ccbe4bc9f7d51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29441, "upload_time": "2015-09-03T07:29:56", "url": "https://files.pythonhosted.org/packages/df/ce/f0da6fb075053ccff5d204bbee07943418bfa0dbd7539283c0f251c760da/ploy_virtualbox-1.2.0.zip" } ] }