Skip to main content
PyPI Package https://zuul-ci.org/gated.svg Python Black Code Style Ansible Code of Conduct Ansible mailing lists Repository License

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

Authors

Molecule Vagrant Plugin was created by Sorin Sbarnea based on code from Molecule.

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.

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)

Source distribution for molecule-vagrant 2.0.0
File Size Uploaded
molecule-vagrant-2.0.0.tar.gz 31.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for molecule-vagrant 2.0.0
File Interpreter ABI Platform
molecule_vagrant-2.0.0-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.0

2 release files

0.6.3

2 release files

0.6.1

2 release files

0.6

2 release files

0.5

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

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