Question:
Using Molecule v.2 to test Ansible roles, I faced an issue with the check for a role to be idempotent.
How can I disable this check?
As documented, Molecule configuration parameters are required to be set in molecule.yml
file, but I could not find how to disable idempotence check.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
--- # molecule.yml file dependency: name: galaxy driver: name: docker lint: name: ansible-lint options: x: ANSIBLE0006,ANSIBLE0010,ANSIBLE0012,ANSIBLE0013 platforms: - name: mongo01 image: mongo:3.2 privileged: yes groups: - mongodb - mongodb_master - name: mysql_server image: mysql environment: MYSQL_ROOT_PASSWORD: some_password groups: - mysql - name: elasticsearch image: molecule_local/centos:6 command: sleep infinity dockerfile: Dockerfile privileged: yes groups: - elastic - name: esb image: molecule_local/centos:6 command: sleep infinity dockerfile: Dockerfile links: - "elasticsearch-default:elasticsearch elasticsearch01" - "mongo01-default:mongo mongo_b2b mongo01" - "mysql_server-default:mysql mysql_server" groups: - fabric provisioner: name: ansible config_options: defaults: vault_password_file: /path/to/vault/file diff: yes scenario: name: default # Probably something like below should disable idempotency check. idempotent: false # Uncomment when developing locally to # keep instances running when tests are completed. # Must be kept commented when building on CI/CD. # test_sequence: # - destroy # - create # - converge # - lint # - verify verifier: name: testinfra |
I want to get rid of idempotency check altogether and rely on my own tests.
Answer:
You should uncomment the test_sequence
and include only the tests you want, for example:
1 2 3 4 5 6 7 8 |
test_sequence: - destroy - create - converge # - idempotence - lint - verify |