molecule: v3.1.1 regression: {'driver': [{'name': ['unallowed value docker']}]}
Issue Type
- Bug report
Molecule and Ansible details
ansible 2.10.1 && molecule 3.1.1
Molecule installation method (one of):
- pip
Ansible installation method (one of):
- pip
Desired Behavior
molecule should pre-validate.
Actual Behaviour
molecule v3.1.1 fails with this error:
ERROR: Failed to pre-validate.
{'driver': [{'name': ['unallowed value docker']}]}
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 19
- Comments: 21 (9 by maintainers)
Commits related to this issue
- molecule: fix problem with molecule-docker dependency Docker driver is now "out" of Molecule core. fixed: ERROR: Failed to pre-validate. {'driver': [{'name': ['unallowed value docker']}]} https://g... — committed to vitabaks/postgresql_cluster by vitabaks 4 years ago
- ci: install molecule using docker driver https://github.com/ansible-community/molecule/issues/2891 — committed to jobcespedes/cookiecutter-ansible-role by jobcespedes 4 years ago
- ci: install molecule with docker driver https://github.com/ansible-community/molecule/issues/2891 — committed to Universidad-de-Costa-Rica/role-mailman3 by jobcespedes 4 years ago
- ci: install molecule with docker driver https://github.com/ansible-community/molecule/issues/2891 Ref #4 — committed to Universidad-de-Costa-Rica/role-mailman3 by jobcespedes 4 years ago
- Fixing issue with building Docker images https://github.com/ansible-community/molecule/issues/2891 — committed to mrlesmithjr/ansible-hashicorp-toolbox by mrlesmithjr 4 years ago
- Update main.yml Fixes https://github.com/ansible-community/molecule/issues/2891 — committed to justin-p/ansible-role-chisel by justin-p 4 years ago
- Update main.yml Fixes ansible-community/molecule#2891 — committed to justin-p/ansible-playbook-my-linux-workstation by justin-p 4 years ago
- Update main.yml Fixes ansible-community/molecule#2891 — committed to justin-p/ansible-playbook-runoncetemplate by justin-p 4 years ago
- Update main.yml Fixes ansible-community/molecule#2891 — committed to justin-p/ansible-playbook-terraform-workstation by justin-p 4 years ago
- Update main.yml Fixes ansible-community/molecule#2891 — committed to justin-p/ansible-role-bootstrap-vps by justin-p 4 years ago
- Update main.yml Fixes ansible-community/molecule#2891 — committed to justin-p/ansible-role-joinad by justin-p 4 years ago
- Update main.yml Fixes ansible-community/molecule#2891 — committed to justin-p/ansible-role-posh5 by justin-p 4 years ago
- Update main.yml Fixes ansible-community/molecule#2891 — committed to justin-p/ansible-role-wincom by justin-p 4 years ago
- Update main.yml Fixes ansible-community/molecule#2891 — committed to justin-p/ansible-role-pdc by justin-p 4 years ago
- fix: fix tests by including new required molecule-docker dependency See upstream https://github.com/ansible-community/molecule/issues/2891 — committed to patrickjahns/ansible-role-promtail by deleted user 4 years ago
- test newer molecule, plus external molecule-docker package see: https://github.com/ansible-community/molecule/issues/2891 — committed to stefangweichinger/ansible-rclone by stefangweichinger 4 years ago
- ci: install molecule using docker driver https://github.com/ansible-community/molecule/issues/2891 — committed to jobcespedes/dockerfile_builder by jobcespedes 4 years ago
- test-requirements: add molecule-docker This regressed in 3.1.1, molecule-docker has been moved outside molecule core, see https://github.com/ansible-community/molecule/issues/2891 — committed to wireapp/ansible-minio-archive by flokli 4 years ago
- test-requirements: add molecule-docker, strictly specify versions This regressed in 3.1.1, molecule-docker has been moved outside molecule core, see https://github.com/ansible-community/molecule/issu... — committed to wireapp/ansible-minio-archive by flokli 4 years ago
- Install molecule-docker for proper testing Change due to https://github.com/ansible-community/molecule/issues/2891. — committed to sorrowless/ansible_nginx by sorrowless 4 years ago
yeh I think you should have made this a 4.0.0, because thats very much a breaking change lol
I think this is the reason: https://github.com/ansible-community/molecule/pull/2811 Docker driver is now “out” of Molecule core, so you have to install it apart:
With all the respect @ssbarnea - you are not using semantic versioning in the right way. The middle number represents a minor update. See https://semver.org:
I think in one fell swoop you have literally broken everyone’s molecule tests The PR is even labelled as major 🤦
Same here… any chance this can be reverted in a patch release and moved to 4.0?
I am closing the ticket to avoid confusing people about a documented change in 3.1.
@chrisjsewell The epoch part was more of a joke, but reality may prove it more real than it was intended. I am not part of Ansible organization and while I know there were lots of voices asking for 2.10 to be named as 3.0, they decided to keep going on 2.x for the forseable future.
If anyone want to make a PR to update the docs regarding versioning of molecule I will be happy to review it. Yes, 1.2.3 will only contain bugfixes for the 1.2.x versions but 1.3.0 will always contain stuff that can break 1.2.x users. In fact bumping middle number is determined by the presence of a breaking change (major label).
Totally agree… I have more than a dozen different pipelines broken because that… 😞
Yep agree with @bhean, https://semver.org/ is very clear on what semantic versioning is:
if ansible doesn’t use this, then that is also wrong
(As above, I’d also note that you guys normally do a great job, that I’m very grateful for thanks 😄)
I disagree about the purposes of the “top” version you mention. According to the “Semantic Versioning” specification, if a new release introduce a breaking-change (like this), you should increase this top version to avoid the problems reported on this post.
I know you mention that in a pair of previous releases, but its impossible to me read the changelog of every application, tool or library involved in my software looking for some incompatible change, that’s the reason because “I trust” in the semver specification…
I’m very grateful with your work in this (and many others) extremely useful projects, but IMHO I think you should increase the top version when you are merging changes that could potentially broke a lot of other projects.
With due respect, a breaking change is NOT backwards compatible.
Install it as
python3 -m pip install molecule[docker]
(that should fix it)… It’s been taken out of the core from 3.1.0 onwards.The top version number will be touched only for marketing purposes. We use the same semantic as Ansible, where the X.Y is what defines a major version.
Release notes and documentation do mention that now you need to install the drivers for podman and docker as they are not installed by default. You can either use the two extras or directly mention the plugin packages.
@ccamacho Take a look at https://github.com/openstack/tripleo-quickstart-extras/blob/master/molecule-requirements.txt#L10 – this is how you should install python packages, always keeping a range. The range depends on project policy on changing versions. Since previous version was 3.0, it was easy to confuse but if you looks back at 2.x changes, you will see that each X.Y version counted as major.
I recently had to fix docker driver, I will try to take a look at podman one now.