Comments (6)
Furthermore, defining multiple instances to test a role on different platforms is not an intended Molecule's usage pattern?
I now remember why we took this approach. When we wrote molecule, we were solving a use case specific to us. We wanted the ability to perform multi-node testing. Kitchen didn't support this, however, it did support multi-platform. We implemented multi-host on a single platform. Once we decided to implement multi-platform, it was implemented against a single-platform at a time. I'm working on a rewrite of molecules config, which will likely address this in the future. However, thats a couple months away from landing.
from molecule.
@tjanez At the moment we don't have a mechanism to do multiple platforms in a single converge. The entire thing is built around the idea that you're converging one or multiple instances of the same platform. For our needs, we do these as separate steps, though I could definitely see how it would be convenient to test multiple platforms in a single shot.
from molecule.
@abrown-sg, thanks for your explanation.
So, if I understand current Molecule's design correctly, instances are meant to be used to test how a role behaves under different configurations/states of the currently chosen platform?
Furthermore, defining multiple instances to test a role on different platforms is not an intended Molecule's usage pattern?
from molecule.
@retr0h Hey, so is there any progress on that?
FYI my current case (maybe I'll change this up) looks like this:
- one Ansible role that's supposed to work on many OSes
- I'm using Vagrant as the driver
- CentOS7 should use virtualbox provider
- Ubuntu 16 should use the lxc provider
from molecule.
Molecule v2 supports scenarios. Your scenarios can be written for each distro and driver.
from molecule.
@retr0h Thanks!
from molecule.
Related Issues (20)
- Environment variables can no longer be be passed to the verifier since Molecule 6 HOT 3
- v6 fails due to collection path not aligning with ansible collection path HOT 14
- molecule fails in GitHub actions with: ansible_compat.errors.InvalidPrerequisiteError: Collection 'community.docker' not found in '['/home/runner/.ansible/collections', '/usr/share/ansible/collections']' HOT 17
- RFE: Use the output of list to find a scenario
- New collection --pre handling breaks on empty list HOT 2
- created: true is ignored in state.yml HOT 1
- RFE: Use inventory plugin to manage molecule dynamic inventory
- Getting Started example: Molecule looking for namespace.collection.role within the molecule directory structure HOT 9
- Incorrect pip install documentation
- Development of dependent roles requires workarounds because of non configurable symlinking
- molecule login does not work with podman containers HOT 2
- When including more than 1 entry in platforms molecule_inventory.yml doesn't contain all entries HOT 2
- Documentation still mentions "Docker" as the default driver in certain places
- Molecule Reset overwrites projects in COLLECTIONS_PATHS HOT 3
- Idempotence tests incorrectly succeed when Ansible callback plugin is not default HOT 4
- testinfra 9.0.0 use the same ssh connection as molecule/ansible… which can lead to wrong environment variables
- MOLECULE_REPORT is not generating html report when mentioned in molecule.yml as per docs HOT 2
- Update documentation about default Driver HOT 1
- [Docs] Update user guide with missing sections HOT 4
- [Docs] Add porting guide HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from molecule.