如何解决如何确认正常任务不在运行列表中的原因
我执行剧本时,只会显示一个任务
playbook: test.yaml
play #1 (lab): lab TAGS: []
tasks:
Install pip TAGS: []
当我执行剧本时,这确实很正常
PLAY [lab] *****************************************************************************************************************************
TASK [Gathering Facts] *****************************************************************************************************************
ok: [my_ipaddress]
TASK [Install pip] *********************************************************************************************************************
ok: [my_ipaddress]
PLAY RECAP *****************************************************************************************************************************
my_ipaddress : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
和/var/log/ansible.log中的内容也与执行输出一样正常
问题是,我是否需要减少设置?为什么执行列表中没有任务,或者其他调试输出可以显示更详细的输出信息?
这是我的烦人的配置
作业系统版本:Ubuntu 18.04.5 LTS
ansible版本:
ansible 2.9.12
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/primula/.ansible/plugins/modules','/usr/share/ansible/plugins/modules']
ansible python module location = /home/primula/.local/lib/python3.6/site-packages/ansible
executable location = /home/primula/.local/bin/ansible
python version = 3.6.9 (default,Jul 17 2020,12:50:27) [GCC 8.4.0]
我的剧本:
---
- hosts: lab
roles:
- { role: apache2,become: yes }
- { role: pip,become: yes }
apache2角色配置
路径:/etc/ansible/roles/apache2/tasks/maim.yaml
---
- name: Install apache2
apt:
name: apache2
update_cache: yes
pip角色配置
路径:/etc/ansible/roles/pip/tasks/main.yaml
---
- name: Install pip
apt:
name: python-pip
update_cache: yes
这是我的发票和ansible.cfg 发票
[lab]
<ipaddress> ansible_ssh_user=<user_name> ansible_ssh_pass='<ssh_pass>' ansible_become_user=<root_user> ansible_become=true ansible_become_pass='<root_pass>'
ansible.cfg
[defaults]
private_key_file = /root/.ssh/id_rsa
roles_path = /etc/ansible/roles
inventory = /etc/ansible/hosts
timeout = 10
log_path = /var/log/ansible.log
deprecation_warnings = False
strategy = debug
any_errors_fatal = True
解决方法
使用ansible-playbook --list-tasks your_playbook.yml
时不在执行列表中的任务是与setup
module完成的事实收集有关的任务
这是一个隐式自动任务,默认情况下会为您播放中的所有主机打开该任务。如果为隐式,则上述命令不会报告。
您可以使用gather_facts
play keyword在播放级别控制事实收集,例如
---
- name: Some play without facts gathering
hosts: my_group
gather_facts: false
tasks:
- name: dummy demo task
debug:
msg: I am dummy task
关于有关更详细的输出的问题,您可以使用ansible(-playbook)
开关打开-v(vv)
详细模式(v
越多,更多细节)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。