Skip to main content

A QEMU wrapper adding vagrant support and shared folders

Project description

Demo Gif

transient

Documentation Status

transient is thin wrapper for QEMU that provides additional features like downloading disk images, shared folders, and SSH support. Currently transient only supports Vagrant libvirt images.

Installation

transient is available on PyPI, so the latest release can be installed with pip install transient. To install transient from source, clone this repository and run pip install -e '.[dev]' from the project root. As always, the usage of python virtual environments is recommended for a development setup.

transient has dependencies on a number of packages. On ubuntu, these can be installed by running apt-get install ssh qemu-system-x86 python3-pip libguestfs-tools. Note that libguestfs-tools is only required when using the -copy-in-before and -copy-out-after flags.

Documentation

Documentation for transient is available on Read the Docs.

Quick Start

transient is primarily a wrapper for QEMU. It supplies a small set of flags that are used to add additional features to the VM being started. As the name implies, it is almost completely stateless. This avoids problems that can sometimes occur with libvirt based tools becoming 'unsynchronized' with the real system state.

For example, in the following command, the flags before the -- are passed to transient. The remaining arguments are passed directly to QEMU. This example will cause transient to download and run a Centos7 VM (from the Vagrant Cloud) with 1GB of memory using a text console. This virtual machine will be automatically shut down on exit and its disk will be destroyed.

transient run \
   -image centos/7:2004.01 \
   -- \
   -nographic -enable-kvm -m 1G

transient also supports a vagrant style SSH connection. This will start the virtual machine and connect standard input and output to an SSH connection with the machine, instead of the serial console. However, when this connection is closed, the machine will be automatically shut down (unlike vagrant). For example:

transient run \
   -ssh-console \
   -image centos/7:2004.01 \
   -- \
   -enable-kvm -m 1G

The -ssh-console flag depends on the image having the normal vagrant keypair trusted for the vagrant user.

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

transient-0.6.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

transient-0.6-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

Details for the file transient-0.6.tar.gz.

File metadata

  • Download URL: transient-0.6.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for transient-0.6.tar.gz
Algorithm Hash digest
SHA256 576bf02462726bb5ec0829e2dcf8e9c48aada58d789ccf7e3647a69431d70dd9
MD5 c345aaafa53e0f493a1de72f6d662673
BLAKE2b-256 078f5fe12c51c4a2bb2b3747e183f3d892e745d6d89dcd1bba761b44ab95ed9c

See more details on using hashes here.

File details

Details for the file transient-0.6-py3-none-any.whl.

File metadata

  • Download URL: transient-0.6-py3-none-any.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3

File hashes

Hashes for transient-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0d9960fd6de07855ebfe330b9c8921b362b369541cb23b80df3de6c8f2fe2294
MD5 3db8603559c7e88f4d477554842269df
BLAKE2b-256 a47ce8c69fc1a6e19bce424d4f55abb3c050e0e210de41bfa3f271d1b2609d7d

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