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/



Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

molecule-2.10.0.tar.gz (4.5 MB view hashes)

Uploaded Source

Built Distribution

molecule-2.10.0-py2-none-any.whl (168.2 kB view hashes)

Uploaded Python 2

Supported by

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