molecule-ec2

EC2 Molecule Plugin :: run molecule tests using AWS EC2


Keywords
ansible, roles, testing, molecule, plugin, ec2, aws, boto, hacktoberfest, molecule-driver
License
MIT
Install
pip install molecule-ec2==0.4

Documentation

Molecule EC2 Plugin

PyPI Package Python Black Code Style Ansible Code of Conduct Ansible mailing lists Repository License

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

Quickstart

Installation

pip install molecule-ec2

Create a scenario

With a new role

molecule init role -d ec2 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 ec2 driver (using ansible community.aws.ec2_instance collection). Install the collection using ansible-galaxy install -r test_requirements.yml.

In a pre-existing role

molecule init scenario -d ec2

This will create a default scenario with the ec2 driver in a molecule folder, located in the current working directory.

Example

This is a molecule.yml example file

dependency:
   name: galaxy
driver:
   name: ec2
platforms:
  - name: instance
    image_owner: 099720109477
    image_name: ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*
    instance_type: t2.micro
    vpc_subnet_id: <your-aws-vpc-subnet-id>
    tags:
      - Name: molecule_instance
provisioner:
  name: ansible
verifier:
  name: ansible

All you need to do is fill in the subnet-id you want to create your test instance into. Then run

molecule test

Note

To make this work, you need to export your AWS credentials, as well as the AWS region you want to use, in your environment.

export AWS_ACCESS_KEY_ID=ACCESS_API_KEY
export AWS_SECRET_KEY=SECRET_API_KEY
export AWS_REGION=us-east-1

You can read more about managing AWS credentials with Ansible modules in the official documentation of the Ansible AWS modules

Documentation

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

Get Involved

Authors

Molecule EC2 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.