首页 > 解决方案 > Ansible 正在跳过调试行

问题描述

我在一个角色中有这个任务,在它下面有一个调试行:

- name: Restore bootstrap DB
  command: "mongorestore -v --host localhost:{{ mongodb_net.port }} -d {{ item.dbname }} --dir {{ item.clone_dir }}"
  register: restore_result
  with_items:
    - { dbname: "{{ mongodb_db1_dbname }}", clone_dir: "/var/tmp/db_bootstrap/DB1_CLONE" }
    - { dbname: "{{ mongodb_db2_dbname }}", clone_dir: "/var/tmp/db_bootstrap/DB2_CLONE" }

- debug: var=restore_result verbosity=2

但它正在跳过调试任务。

TASK [mongodb : Restore bootstrap DB] ***************************************************
changed: [xx.xx.xx.167] => (item={u'dbname': u'DB1', u'clone_dir': u'/var/tmp/db_bootstrap/DB1'})
changed: [xx.xx.xx.167] => (item={u'dbname': u'DB2', u'clone_dir': u'/var/tmp/db_bootstrap/DB2'})

TASK [mongodb : debug] ******************************************************************
skipping: [xx.xx.xx.167]

当我启用详细模式时-vv,它会显示已注册变量的内容。

我正在使用 Ansible 2.4.3版

标签: ansibleansible-2.x

解决方案


2.4.3中缺少一个未显示跳过原因的功能,这是在2.6.1中添加的;将我的版本升级到2.6.1并看到原因:

TASK [mongodb : debug] ********************************************************************************
skipping: [xx.xx.xx.167] => {"skipped_reason": "Verbosity threshold not met."}

所以我verbosity=2从任务中删除了它,它现在按预期工作。


推荐阅读