-
Notifications
You must be signed in to change notification settings - Fork 666
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrating to molecule v3 checklist #2560
Comments
@ssbarnea. Shouldn't playbook.yml be renamed to converge.yml? I guess it's a typo... |
@zeitounator Thanks, fixed. That is the proof that most people TLDR, really happy to get corrections. |
Can you add a little more detail to the |
@ssbarnea as per ansible-community/molecule-plugins#63, could I give a hand for molecule-vagrant? |
@ssbarnea The "lint" - example from the documentation with ansible-lint leads to errors, could you elaborate a little on this? Behaviour before was that if a role doesn't contain any playbook.yml then it at least verified the playbook.yml in the molecule directory of the scenario (at least that is my impression). So configuration as this:
|
Heh, I just started seeing new failures today as Molecule 3.0 arrived and I install via
Luckily for this project I already had the updated Note that a quick fix if you don't want Molecule 3 yet (e.g. wait to migrate your tests to it), change your
|
Solution: Follow molecule 3.0 migration guide: ansible/molecule#2560 Implementation includes: 1. Installing ansible-lint and molecule-inspec explicitly. 2. Reworking lint sections of molecule.yml files 3. Renaming playbook.yml symlinks to converge.yml Fixes: #6211
Solution: Follow molecule 3.0 migration guide: ansible/molecule#2560 Implementation includes: 1. Installing ansible-lint and molecule-inspec explicitly. 2. Reworking lint sections of molecule.yml files 3. Renaming playbook.yml symlinks to converge.yml Fixes: #6211
Solution: Follow molecule 3.0 migration guide: ansible/molecule#2560 Implementation includes: 1. Installing ansible-lint and molecule-inspec explicitly. 2. Reworking lint sections of molecule.yml files 3. Renaming playbook.yml symlinks to converge.yml 4. Resolve some lint errors Fixes: #6211
Solution: Follow molecule 3.0 migration guide: ansible/molecule#2560 Implementation includes: 1. Installing molecule-inspec, now a separate package. 2. Reworking lint sections of molecule.yml files 3. Renaming playbook.yml symlinks to converge.yml 4. Resolve some lint errors Fixes: #6211
Solution: Follow molecule 3.0 migration guide: ansible/molecule#2560 Implementation includes: 1. Installing molecule-inspec, now a separate package. 2. Reworking lint sections of molecule.yml files 3. Renaming playbook.yml symlinks to converge.yml 4. Resolve some lint errors fixes: #6211
Solution: Follow molecule 3.0 migration guide: ansible/molecule#2560 Implementation includes: 1. Installing molecule-inspec and ansible-lint 2. Reworking lint sections of molecule.yml files 3. Renaming playbook.yml symlinks to converge.yml 4. Resolve some lint errors fixes: #6211
I too am getting hammered with issues from v3 today! As @geerlingguy mentioned, CI nightmare but all is good. Working through numerous projects as well. |
Solution: Follow molecule 3.0 migration guide: ansible/molecule#2560 Implementation includes: 1. Installing molecule-inspec and ansible-lint 2. Reworking lint sections of molecule.yml files 3. Renaming playbook.yml symlinks to converge.yml 4. Resolve some lint errors fixes: #6211
Here's the script I used to convert all my active |
@ssbarnea I found the same issue here. I don't know if new behavior from
You can test it:
I found that if you put a dot as the PATH (like in the lint: |
set -e
yamllint .
ansible-lint . I tested this on several roles with the following versions:
|
Sorry, I didn't realize that there was a superior version with this change reverted. |
molecule-hetznercloud plugin supports molecule 3.x now. |
This is in accordance to ansible/molecule#2560
With the updated syntax, the docker container run in the documentation no longer works.
https://molecule.readthedocs.io/en/latest/examples.html I'm finding that no matter what I try, nothing works under the lint, since it isn't qualifying as the dict type. The docker container also doesn't recognize 'ansible' as a verifier. This is my molecule.yml file. Ignore the extra ` at the end, it wouldn't format as code:
|
In 3.x.x version family of Molecule the 'playbook.yml' file for 'converge' action has changed to 'converge.yml'. Ref.: ansible/molecule#2560 Change-Id: I8710ebd5710237be138f2aff8943d6c949058dbd Issue-ID: OOM-2722 Signed-off-by: Bartek Grzybowski <[email protected]>
In Molecule 3.x.x it's no longer needed, scenario name is assumed from its directory name. Ref.: ansible/molecule#2560 Change-Id: I3b25dae499d4f40851ac3fe0183ee7ab913b7dd7 Issue-ID: OOM-2722 Signed-off-by: Bartek Grzybowski <[email protected]>
In 3.x.x version family of Molecule the 'playbook.yml' file for 'converge' action has changed to 'converge.yml'. Ref.: ansible/molecule#2560 Change-Id: I8710ebd5710237be138f2aff8943d6c949058dbd Issue-ID: OOM-2722 Signed-off-by: Bartek Grzybowski <[email protected]>
In Molecule 3.x.x it's no longer needed, scenario name is assumed from its directory name. Ref.: ansible/molecule#2560 Change-Id: I3b25dae499d4f40851ac3fe0183ee7ab913b7dd7 Issue-ID: OOM-2722 Signed-off-by: Bartek Grzybowski <[email protected]>
How to migrate to molecule v3 (3.0a9 or newer)
Only delegated, docker and podman providers are ready, so if you use others, delay till they are updated or preferably give a hand with that.
scenario.name
frommolecule.yaml
, from now on, only folder name determines the scenario namelint:
sections from molecule.yaml or replace them with newer syntax from documentationtestinfra
, add it as a pip dependency, is no longer installed by defaultlinters
, you need to add them as pip dependenciesplaybook.yml
toconverge.yml
to avoid a deprecation messageKnown regressions with v3
When not to migrate to v3
If you use one of:
non-core providers like Azure, EC2, DigitalOcean, GCE, HetznerCloud, Linode, LXD, OpenStack or Vagrant, you probably do want to delay migration until they are updated. Keep in mind that as well as molecule, they are fully community supported, so if nobody steps in to help, they will be affected by bit rot and become unusable.
you are using goss verifier which was removed. It can still be re-implemented as a plugin, if anyone is willing to help.
The text was updated successfully, but these errors were encountered: