Skip to content

Debug switch isn't working when verbosity options are set for Ansible #1195

@wilmardo

Description

@wilmardo

Issue Type

  • Bug report

Molecule and Ansible details

ansible --version
ansible 2.4.3.0
  ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609]
molecule --version
molecule, version 2.9.0

Molecule installation method (one of):

  • pip

Ansible installation method (one of):

  • pip

Desired Behavior

The --debug switch should ignore the set verbosity options for Ansible.
When the --debug switch is added to Molecule it should ignore the set verbosity and outputs with -vvv

Also one thing to consider, Ansible merges the set -v options. ansible localhost -vvv -m ping is the same as ansible localhost -vv -v -m ping
That is why I propose the ignore of the set verbosity, if you specify both molecule --debug will output with -vvv plus the set verbosity in the Ansible options.

Actual Behaviour (Bug report only)

Errors because the --vvv option does not exist.

As default I have the following in the molecule.yml

provisioner:
  name: ansible
  options:
    v: true

This errors when run with the --debug switch because it tries to run ansible-playbook --vvv

See this TravisCI build or the output below.

Console log
wilmardo@NUC-FLEX-01:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role$ molecule --debug converge
--> Test matrix

└── default
    ├── dependency
    ├── create
    ├── prepare
    └── converge

--> Scenario: 'default'
--> Action: 'dependency'
Skipping, missing the requirements file.
--> Scenario: 'default'
--> Action: 'create'
Skipping, instances already created.
--> Scenario: 'default'
--> Action: 'prepare'
Skipping, instances already prepared.
--> Scenario: 'default'
--> Action: 'converge'
DEBUG: ANSIBLE ENVIRONMENT
---
ANSIBLE_CONFIG: /mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/ansible.cfg
ANSIBLE_FILTER_PLUGINS: /usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible/plugins/filters:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/plugins/filters:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/plugins/filters
ANSIBLE_LIBRARY: /usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible/plugins/libraries:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/library:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/library
ANSIBLE_ROLES_PATH: /mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/roles:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles

DEBUG: MOLECULE ENVIRONMENT
---
MOLECULE_DEBUG: 'True'
MOLECULE_DEPENDENCY_NAME: galaxy
MOLECULE_DRIVER_NAME: vagrant
MOLECULE_EPHEMERAL_DIRECTORY: /mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule
MOLECULE_FILE: /mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/molecule.yml
MOLECULE_INSTANCE_CONFIG: /mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/instance_config.yml
MOLECULE_INVENTORY_FILE: /mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/ansible_inventory.yml
MOLECULE_LINT_NAME: yamllint
MOLECULE_PROVISIONER_NAME: ansible
MOLECULE_SCENARIO_DIRECTORY: /mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default
MOLECULE_SCENARIO_NAME: default
MOLECULE_VERIFIER_NAME: testinfra

DEBUG: SHELL REPLAY
ANSIBLE_CONFIG=/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/ansible.cfg ANSIBLE_FILTER_PLUGINS=/usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible/plugins/filters:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/plugins/filters:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/plugins/filters ANSIBLE_LIBRARY=/usr/local/lib/python2.7/dist-packages/molecule/provisioner/ansible/plugins/libraries:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/library:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/library ANSIBLE_ROLES_PATH=/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/roles:/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_EPHEMERAL_DIRECTORY=/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule MOLECULE_FILE=/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/instance_config.yml MOLECULE_INVENTORY_FILE=/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/ansible_inventory.yml MOLECULE_LINT_NAME=yamllint MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_VERIFIER_NAME=testinfra

DEBUG: COMMAND
/usr/local/bin/ansible-playbook --vvv --inventory=/mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/.molecule/ansible_inventory.yml --diff /mnt/c/Users/wilmaro/Documents/Ubuntu/Ansible/test-main/roles/test-role/molecule/default/playbook.yml -v

Usage: ansible-playbook [options] playbook.yml [playbook2 ...]

ansible-playbook: error: no such option: --vvv
ERROR:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions