Skip to main content

Molecule VirtUp Plugin

Molecule VirtUp is designed to allow use of virt-up for provisioning of molecule test guests on a libvirt based hypervisor. The libvirt hypervisor may be local or remote.

See virt-up for installation instructions.

Requires

On the hypervisor (local or remote)

  • libvirt based hypervisor

  • ssh server and connection credentials if remote

  • python virt_up module and dependencies

Supported libvirt providers:

  • qemu/KVM

  • XEN

Example

To use this plugin, you’ll need to set the driver and platform variables in your molecule.yml. Here is a example using the generic/centos8 template:

driver:
  name: virtup
  options:
     connection: local
     host: localhost
     port: 22
     python_interpreter: "/usr/bin/python3"
     libvirt_default_uri: "qemu:///session"
     config_home: "~/.config/virt-up"
     data_home: "~/.local/share/virt-up"

platforms:
  - name: instance
    template: generic/centos8
    memory: 512
    cpus: 1

Environment variables

VIRTUP_OPTIONS_FILE

Specifies the path to the external yaml formatted options file. An external driver options yaml file is supported in order to promote driver independent molecule scenarios. Options specified in the molecule.yml take precedent.

Default: ~/.config/molecule-virtup.yml

Example:

---
connection: ssh
host: kvm.example.com
port: 22
libvirt_default_uri: "qemu:///session"

Options

connection

The ansible_connection type used when connecting to the hypervisor; local or ssh.

Default: local

host

The ansible_host used when connecting to the hypervisor.

Default: localhost

port

The ansible_port used when connecting to the hypervisor.

Default: 22

user

The ansible_user used when connecting to the hypervisor.

Default: None

loglevel

The logging level name. Log messages are written to the syslog on the hypervisor. Specify one of: critical, error, warning, warn, info, debug

Default: info

config_home

Specifies the virt_up configuration directory path.

data_home

Specifies the virt_up data directory path.

python_interpreter

Specifies the ansible_python_interpreter on the hypervisor.

Default: Detected by ansible

libvirt_default_uri

The libvirt local connection URI when the LIBVIRT_DEFAULT_URI environment variable is not present on the hypervisor for the ansible user. This URI should be a local connection URI, not ssh. The connection URI is used by the module running on the hypervisor to connect to the local libvirt daemon also running on the hypervisor.

virt_up defaults to qemu:///session when the LIBVIRT_DEFAULT_URI environment variable is not set on the hypervisor and the libvirt_default_uri option is not specified.

Default: None

password

The ansible_password used when connecting to the hypervisor.

Default: None

ssh_private_key_file

The ansible_private_key_file used when connecting to the hypervisor. Private key file used by ssh. Useful if using multiple keys and you don’t want to use SSH agent.

Default: None

ssh_common_args

The ansible_ssh_common_args used when connecting to the hypervisor. This setting is always appended to the default command line ssh..

Default: None

ssh_extra_args

The ansible_ssh_extra_args used when connecting to the hypervisor. This setting is always appended to the default ssh command line.

Default: None

ssh_pipelining

The ansible_ssh_pipelining used when connecting to the hypervisor. Determines whether or not to use SSH pipelining.

Default: None

ssh_executable

The ansible_ssh_executable used when connecting to the hypervisor. Overrides the ssh command to be used.

Default: None

Platform parameters

template

Name of the virt-up template definition on the hypervisor. See virt-up show templates.

Aliases: box

Default: default

size

Image size expressed as <number><units>, for example 10G.

Default: set by template definition

memory

Memory size of virtual machine in Mb. e.g. 2048

Default: set by template definition

cpus

Number of virtual cpus, e.g. 1

Default: set by template definition

Authors

Molecule Virt-Up Plugin was created by Michael Meffie based on code from Molecule.

License

The MIT License.

Metadata

Release files for molecule-virtup 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for molecule-virtup 1.5.0
File Size Uploaded Provenance Actions
molecule-virtup-1.5.0.tar.gz 10.0 kB Without provenance Details for molecule-virtup-1.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for molecule-virtup 1.5.0
File Interpreter ABI Platform Actions
molecule_virtup-1.5.0-py3-none-any.whl Python 3 none any Details for molecule_virtup-1.5.0-py3-none-any.whl

Total release size: 23.7 kB

Release files / molecule-virtup-1.5.0.tar.gz

Download URL molecule-virtup-1.5.0.tar.gz
Size 10.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8c3c84d1cc12f63bff6e7148871d714a97725cf31b423ba337f1b6956270ffe5
BLAKE2b-256 checksum
How to use checksums
e507dcc77e2cfddb5ff75d9182043f77f1cb5181f4b16641be5708727fd92f88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3

Release files / molecule_virtup-1.5.0-py3-none-any.whl

Download URL molecule_virtup-1.5.0-py3-none-any.whl
Size 13.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91fac1d56239c2837fe40d03fd1b0a607e27dfe93b06a8cf0aa74a435f97eae6
BLAKE2b-256 checksum
How to use checksums
b3ddd8f32ef2f95c65a6435fc05e7c635b6f552463ab64de22c36a0b510dbd52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3

Security for molecule-virtup 1.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page