Ansible role testing with Molecule using LXD containers
MIT License
This Yeoman generator will create a new Ansible role with the necessary configuration to test it using Molecule on Travis CI (optional). It will run the Molecule tests using LXD containers instead of Docker containers.
LXD containers run a full system including an init system out of the box and are extremely close to the actual metal or VM hosts usually targetted by Ansible. I find LXD containers much better suited at testing Ansible roles, rather than shoe-horning additional systems into a Docker container to simulate a real host.
LXD is more like a VM but with a container footprint. It's based on LXC and it's great. To learn more, see the official website.
First, install Yeoman and generator-molecule-lxd-role using npm (we assume you have pre-installed node.js).
npm install -g yo
npm install -g generator-molecule-lxd-role
Then generate your new project:
yo molecule-lxd-role
.
├── defaults
│ └── main.yml
├── files
├── .gitignore
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── molecule
│ ├── create.yml
│ ├── default
│ │ ├── molecule.yml
│ │ ├── playbook.yml
│ │ └── tests
│ │ └── test_default.py
│ └── destroy.yml
├── README.md
├── tasks
│ └── main.yml
├── templates
├── .travis
│ └── setup.sh
├── .travis.yml
├── vars
│ └── main.yml
└── .yamllint
11 directories, 15 files
Open an issue on this repo, and a PR to match if you can.
Questions are welcome as issues too.
MIT © coaxial