Skip to main content

libvirt Molecule Plugin :: run molecule tests on libvirt

Project description

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

Molecule libvirt is designed to allow use of libvirt for provisioning test resources.

Please note that this driver is currently in its early stage of development, do not even try to install or use it until this message is removed.

Quickstart

Installation

pip install molecule-libvirt

Create a scenario

With a new role

molecule init role -d libvirt my-role

This will create a new folder my-role containing a bare-bone generated role like you would do with ansible-galaxy init command.

It will also contain a molecule folder with a default scenario using the libvirt driver (using ansible community.libvirt collection).

Install the collection using:

ansible-galaxy install -r test_requirements.yml.

Example

This is a molecule.yml example file

dependency:
name: galaxy
driver:
  name: libvirt
platforms:
  - name: instance-1
    cpu: 1
    cpu_model: "qemu64"
    image_url: "https://download.fedoraproject.org/pub/fedora/linux/releases/34/Cloud/x86_64/images/Fedora-Cloud-Base-34-1.2.x86_64.qcow2"
    disk_size: "10G"
    ssh_port: 22
    memory_size: "1" # in GB
  - name: instance-2
    memory: "1"
    cpus: 1
    image_url: "https://download.fedoraproject.org/pub/fedora/linux/releases/34/Cloud/x86_64/images/Fedora-Cloud-Base-34-1.2.x86_64.qcow2"
    libvirt_host: "server.home.lan"
    libvirt_user: "james"
    bridge_name: "bridge0"
  - name: instance-3
    memory: "1"
    cpus: 1
    image_url: "https://download.fedoraproject.org/pub/fedora/linux/releases/34/Cloud/x86_64/images/Fedora-Cloud-Base-34-1.2.x86_64.qcow2"
    libvirt_host: "server.home.lan"
    libvirt_user: "james"
    bridge_name: "bridge0"
provisioner:
  name: ansible
verifier:
  name: ansible

Optional parameters

molecule_bridge: existing bridge on local host. Can be useful if you want to set network interface name created for molecule. default value is: molecule-br0.

molecule_network_cidr: ip address range that should be bind to molecule virtual network. default value is: 10.10.10.0/24.

qemu_user: qemu process user. On RHEL like system qemu user is qemu. On Debian like, qemu user is libvirt-qemu. default value is: qemu.

cpu_model: specifies CPU model requested by the guest virtual machine. default is : qemu64.

arch: specifying the CPU architecture to virtualization. default is x86_64.

timezone: vm’s timezone. default is America/Toronto.

bridge_name: existing bridge on remote host. This bridge should allow VM being reachable with an ip address.

libvirt_host and libvirt_user: remote host parameters. libvirt_user should belongs to libvirt group.

Once set, you will have to run:

molecule test

Documentation

Read the documentation and more at https://molecule.readthedocs.io/.

Get Involved

Authors

  • James Regis

  • Gaëtan Trellu

  • Gariele Cerami

  • Sorin Sbarnea

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.

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

molecule_libvirt_ng-1.0.0.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

molecule_libvirt_ng-1.0.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file molecule_libvirt_ng-1.0.0.tar.gz.

File metadata

  • Download URL: molecule_libvirt_ng-1.0.0.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for molecule_libvirt_ng-1.0.0.tar.gz
Algorithm Hash digest
SHA256 558e95631392afb70b8ccde60a2063e093368af2694ab0c1f93864c3db85d419
MD5 eb641b21ab02244f56fccbe8cf24b649
BLAKE2b-256 79ab4d4894d75d450441a5b4ca3c328485239e85d6d57b9c11b8df3f25995b28

See more details on using hashes here.

File details

Details for the file molecule_libvirt_ng-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for molecule_libvirt_ng-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 18a0da24f3492a5fcc39233549326a32479915278d3042ed1b88482cc7d31d80
MD5 fb944a0aa1a06814adf8177efe1442b6
BLAKE2b-256 7f9cb4a1843b47ca7a83fe3f81ff4f95e9a909a9bd2b3f20a6c022d858925601

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page