Skip to content
This repository has been archived by the owner on Jan 5, 2023. It is now read-only.

ansible-community/molecule-ec2

Repository files navigation

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

Details on the parameters for the platforms section are detailed in platforms.rst.

Read the molecule 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.