Molecule Vagrant is designed to allow use of Vagrant for provisioning of test resources.
Supported Platforms
This driver relies on vagrant command line which is known to be problematic to install on several platforms. We do our best to perform CI/CD testing on multiple platforms but some are disabled due to known bugs.
✅ MacOS with VirtualBox - GitHub Actions
✅ Fedora 32 with libvirt - Zuul
✅ Ubuntu Bionic (18.04) with libvirt - Zuul
❌ CentOS 8 with libvirt - Zuul DISABLED due to 1127 and 11020
Please do not file bugs for unsupported platforms. You are welcomed to create PRs that fix untested platform, as long they do not break existing ones.
Documentation
To use this plugin, you’ll need to set the driver and platform variables in your molecule.yml. Here’s a simple example using the fedora/32-cloud-base box:
driver:
name: vagrant
platforms:
- name: instance
box: fedora/32-cloud-base
memory: 512
cpus: 1
Here’s a full example with the libvirt provider:
driver:
name: vagrant
provider:
# Can be any supported provider (virtualbox, parallels, libvirt, etc)
# Defaults to virtualbox
name: libvirt
# Run vagrant up with --provision.
# Defaults to --no-provision)
provision: no
# vagrant-cachier configuration
# Defaults to 'machine'
# Any value different from 'machine' or 'box' will disable it
cachier: machine
# If set to false, set VAGRANT_NO_PARALLEL to '1'
# Defaults to true
parallel: true
# vagrant box to use by default
# Defaults to 'generic/alpine316'
default_box: 'generic/alpine316'
platforms:
- name: instance
# If specified, set host name to hostname, unless it's set to False and
# the host name won't be set. In all other cases (including default) use
# 'name' as host name.
hostname: foo.bar.com
# List of dictionaries mapped to `config.vm.network`
interfaces:
# `network_name` is the required identifier, all other keys map to
# arguments.
- auto_config: true
network_name: private_network
type: dhcp
- network_name: private_network
ip: 192.168.123.3
- network_name: forwarded_port
guest: 80
host: 8080
# List of raw Vagrant `config` options
instance_raw_config_args:
# use single quotes to avoid YAML parsing as dict due to ':'
- 'vm.synced_folder ".", "/vagrant", type: "rsync"'
# Run 'uname' a provisionning step **needs 'provision: true' to work**
- 'vm.provision :shell, inline: "uname"'
# Dictionary of `config` options. Note that string values need to be
# explicitly enclosed in quotes.
config_options:
ssh.keep_alive: yes
ssh.remote_user: 'vagrant'
synced_folder: true
box: fedora/32-cloud-base
box_version: 32.20200422.0
box_url:
memory: 512
cpus: 1
# Dictionary of options passed to the provider
provider_options:
video_type: 'vga'
# List of raw provider options
provider_raw_config_args:
- cpuset = '1-4,^3,6'
More examples may be found in the molecule scenarios directory. They’re the scenarios used by the CI.
Get Involved
Join us in the #ansible-devtools channel on Libera.
Join the discussion in molecule-users Forum.
Join the community working group by checking the wiki.
Want to know about releases, subscribe to ansible-announce list.
For the full list of Ansible email Lists, IRC channels see the communication page.
License
The MIT License.
The logo is licensed under the Creative Commons NoDerivatives 4.0 License.
If you have some other use in mind, contact us.
Metadata
Release files for molecule-vagrant 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| molecule-vagrant-2.0.0.tar.gz | 31.9 kB | Without provenance | Details for molecule-vagrant-2.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| molecule_vagrant-2.0.0-py3-none-any.whl | Python 3 | none | any | Details for molecule_vagrant-2.0.0-py3-none-any.whl |
Total release size: 65.4 kB
Release files / molecule-vagrant-2.0.0.tar.gz
| Download URL | molecule-vagrant-2.0.0.tar.gz |
|---|---|
| Size | 31.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb27f4ec482d0f68231f31136bfba328fc8ef7d81341874284bdd71295e278d5
|
|
BLAKE2b-256 checksum How to use checksums |
c9ad0ed60a69cd6887622ff03d67beacbc54183f9d6fa45978c37dc35a315b30
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.1
|
Release files / molecule_vagrant-2.0.0-py3-none-any.whl
| Download URL | molecule_vagrant-2.0.0-py3-none-any.whl |
|---|---|
| Size | 33.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2fdd67228cd2926e07d6702e5534480f0ea1319ad1e1eaad0038240a1420039c
|
|
BLAKE2b-256 checksum How to use checksums |
8cfaadbb39abc85ec56ab997ff0e39fbc20df9653d6f3a76da5a9e2689cc43b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.1
|
Security for molecule-vagrant 2.0.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.