Skip to main content

Molecule aids in the development and testing of Ansible roles.

Project description

********
Molecule
********

.. image:: https://badge.fury.io/py/molecule.svg
:target: https://badge.fury.io/py/molecule
:alt: PyPI Package

.. image:: https://readthedocs.org/projects/molecule/badge/?version=latest
:target: https://molecule.readthedocs.io/en/latest/
:alt: Documentation Status

.. image:: https://img.shields.io/badge/license-MIT-brightgreen.svg
:target: LICENSE
:alt: Repository License

Molecule is designed to aid in the development and testing of `Ansible`_ roles.
Molecule provides support for testing with multiple instances, operating
systems and distributions, virtualization providers, test frameworks and
testing scenarios. Molecule is opinionated in order to encourage an approach
that results in consistently developed roles that are well-written, easily
understood and maintained.

Molecule uses `Ansible`_ `playbooks`_ to exercise the `role`_ and its
associated tests. Molecule supports any provider [#]_ that `Ansible`_
supports.

.. [#]

Providers can be bare-metal, virtual, cloud or containers. If Ansible can
use it, Molecule can test it. Molecule simply leverages Ansible's module
system to manage instances.

.. _`playbooks`: https://docs.ansible.com/ansible/playbooks.html
.. _`role`: http://docs.ansible.com/ansible/playbooks_roles.html

Quick Start
===========

Installing
----------

.. image:: https://asciinema.org/a/161970.png
:target: https://asciinema.org/a/161970?speed=5&autoplay=1&loop=1
:alt: Installing

Creating a new role
-------------------

.. image:: https://asciinema.org/a/161976.png
:target: https://asciinema.org/a/161976?speed=5&autoplay=1&loop=1
:alt: Creating a new role

Testing a new role
-------------------

.. image:: https://asciinema.org/a/161977.png
:target: https://asciinema.org/a/161977?speed=5&autoplay=1&loop=1
:alt: Testing a new role

Testing an existing role
-------------------

.. image:: https://asciinema.org/a/AkQ4KhxuGAxwn1YJX3tM5BZld.png
:target: https://asciinema.org/a/AkQ4KhxuGAxwn1YJX3tM5BZld?speed=5&autoplay=1&loop=1
:alt: Testing an existing role

Documentation
=============

https://molecule.readthedocs.io/

Demo
====

`Infrastructure Testing with Molecule`_, AnsibleFest SF 2017

.. _`Infrastructure Testing with Molecule`: https://www.ansible.com/infastructure-testing-with-molecule


Contact
=======

IRC
---

Join us in the #molecule-users channel on `freenode`_.

.. _`freenode`: https://freenode.net

Forums
------

* `molecule-users`_
* `molecule-dev`_

.. _`molecule-users`: https://groups.google.com/forum/#!forum/molecule-users
.. _`molecule-dev`: https://groups.google.com/forum/#!forum/molecule-dev

Ansible Support
===============

Molecule requires Ansible version 2.2 or later.

.. _`Ansible`: https://docs.ansible.com

License
=======

`MIT`_

.. _`MIT`: https://github.com/metacloud/molecule/blob/master/LICENSE

The logo is licensed under the `Creative Commons NoDerivatives 4.0 License`_.
If you have some other use in mind, contact us.

.. _`Creative Commons NoDerivatives 4.0 License`: https://creativecommons.org/licenses/by-nd/4.0/



Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
molecule-2.10.0-py2-none-any.whl (168.2 kB) Copy SHA256 hash SHA256 Wheel py2
molecule-2.10.0.tar.gz (4.5 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page