我正在尝试使用Ansible中的"cli_command“模块来配置Netscaler设备。对于其中的两个,运行版本“12.0-buil60.9.nc”这样的简单任务工作得很好:
- name: call NS CLI
cli_command:
command: show nsconf
register: cs_vserver
delegate_to: netscaler_dmz将"delegate_to“改为运行版本"NS11.1: Build56.19.nc”的设备,我得到了错误:
完整的追溯是:警告:下面的跟踪可能与实际故障无关。文件"/tmp/ansible_cli_command_payload_4w503v/ansible_cli_command_payload.zip/ansible/modules/network/cli/cli_command.py",行167,在主文件"/tmp/ansible_cli_command_payload_4w503v/ansible_cli_command_payload.zip/ansible/module_utils/connection.py",行185中,在rpc raise中(to_text(msg,=‘#en0#_“/tmp/ansible_cli_command_payload_4w503v/ansible_cli_command_payload.zip/ansible/module_utils/connection.py”,_ConnectionError’)中),( code=code)致命: localhost -> 172.26.58.112: false!=> {“已更改”:false,“调用”:{ "module_args":{“module_args”:空,"check_all":false,“check_all”:“check_all”,"newline":true,“提示符”:null,"sendonly":false },"msg":“命令超时触发”,超时值为30秒。\nSee网络调试和故障排除指南中的超时设置选项。
身份验证对所有3种设备都使用密钥,日志显示欢迎横幅,连接也很好(使用ssh的手动连接也很好),但在发生上述错误后不久。奇怪的是,Netscaler并没有被列在可用网络平台(https://docs.ansible.com/ansible/latest/network/user_guide/platform_index.html#settings-by-platform)列表中,而是在另外两个Netscaler(库存文件)上使用了如下参数:
all:
hosts:
localhost:
ansible_connection: local
netscaler_dmz_int: <= OK
ansible_host: 192.168.XXX.XXX
ansible_connection: network_cli
ansible_network_os: ios
ansible_user: nsroot
netscaler_dmz_prod: <= OK
ansible_host: 192.168.XXX.XXX
ansible_connection: network_cli
ansible_network_os: ios
ansible_user: nsroot
netscaler_dc: <= KO
ansible_host: 172.26.XXX.XXX
ansible_connection: network_cli
ansible_network_os: ios
ansible_user: nsroot在短期内升级固件是不可行的。这个问题是来自于旧版本吗?是否有更充分的参数使它在所有3种设备上得到满足?谢谢。
发布于 2021-08-06 14:44:22
问题的解决要归功于两个同事: Citrix设备的提示(一旦连接)只显示">“,而不是像"user_device_name>”这样更复杂的提示,这一事实导致paramiko模块不确定地等待超时。
在此之前:

cli_command结果:
2021-08-06 10:37:07,728 p=4783 u=xxxxx n=p=4783 u=xxxxx | paramiko [xxx.xx.xx.xxx] | Authentication (publickey) successful!
2021-08-06 10:37:34,487 p=4646 u=xxxxx n=ansible | persistent connection idle timeout triggered, timeout value is 30 secs.可以在这里更改用于连接的特定用户"nsroot“的提示:

之后:

后来,这种联系是成功的。
https://stackoverflow.com/questions/65507587
复制相似问题