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.
- Yeoman has a heart of gold.
- Yeoman is a person with feelings and opinions, but is very easy to work with.
- Yeoman can be too opinionated at times but is easily convinced not to be.
- Feel free to learn more about Yeoman.
MIT © coaxial