我一直在测试 ansible 的一些简单网络自动化,但似乎连一些简单的任务都无法完成。我遇到一个问题,即任何需要启用模式的命令都会失败。目前,它因命令超时问题而失败。我已经尝试将超时时间从 10 秒增加到 30 秒,但结果仍然失败。运行不需要提升权限的命令可以正常工作。
这是来自调试日志的错误:
The full traceback is:
Traceback (most recent call last):
File "/usr/bin/ansible-connection", line 292, in main
messages.extended(conn.update_play_context(pc_data))
File "/usr/lib/python2.7/dist-packages/ansible/module_utils/connection.py? line 173, in __rpc__
raise ConnectionError(to_text(msg, errors='surrogate_then_replace'), code=code)
ConnectionError: command timeout triggered, timeout value is 30 secs.
有问题的剧本:
- name: Test playbook
hosts: wb
connection: network_cli
gather_facts: false
tasks:
- name: fix for prompt issue
ios_command:
commands:
- disable
- name: Add interface to VLAN
become: yes
become_method: enable
ios_vlan:
vlan_id: 11
interfaces:
- fast5/46
我也尝试过使用 ios_command 模块并发送单独的命令,但输出结果类似。我更喜欢使用 ios_vlan 模块。
组变量:
ansible_connection: network_cli
ansible_network_os: ios
ansible_user: myUserName
ansible_ssh_pass: MyPassword
我在 git 上找到了类似问题的参考,并尝试了许多修复方法,但到目前为止我所做的一切都没有解决这个问题。
上面提到的“修复提示问题”任务是因为当我登录时,我们的提示以#结尾,即使我们没有登录到启用模式(不确定是否与tacacs有关)...运行“禁用”命令会使提示返回到>,然后在第二个任务中启用不会引发我能看到的任何错误。
与运行 IOS-XE 03.04.05.SG 的 Cisco Catlyst 4500 一起运行。
任何帮助将非常感激。