我创建了基本的ansible剧本。但是当我运行剧本时,看到了以下错误。
kiranm@kmalla-lt:~/ansible/playbooks$ ansible-playbook switch.yaml -i host,
[WARNING]: Could not match supplied host pattern, ignoring: Switch
PLAY [Switch] ******************************************************************************************************************
skipping: no hosts matched
PLAY RECAP *********************************************************************************************************************
kiranm@kmalla-lt:~/ansible/playbooks$
我的剧本
---
- hosts: Switch
gather_facts: false
connection: network_cli
tasks:
- name: Run show version on remote devices
ios_command:
commands: show run
host: "{{ ansible_host }}"
username: kmalla
password: admin
register: config
- name: save output to /ansible/backups
copy:
content: "{{ config.stdout[0] }}"
dest: "/ansible/backups/show_run_{{ inventory_hostname }}.txt"
主机文件
[Switch]
[ios]
CL-QTS-R1-EDGE01 ansible_host=10.101.0.105
[ios:vars]
ansible_network_os=ios
我的剧本和主机文件都在同一目录中。有人可以帮我解决我的错误吗?
答案 0 :(得分:0)
正如我在评论中已经说过的那样,您的剧本被分配给名称为“ Switch”的组或主机。当您以逗号形式(-i host,
)传递广告资源时,您仅提供了一个名称为“主机”的主机(仅此而已)。该列表中没有组“ Switch”,因此Ansible会跳过分配给“ Switch”的剧本。