首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Ansible调用Netscaler命令

从Ansible调用Netscaler命令
EN

Stack Overflow用户
提问于 2020-12-30 13:17:11
回答 1查看 441关注 0票数 0

我正在尝试使用Ansible中的"cli_command“模块来配置Netscaler设备。对于其中的两个,运行版本“12.0-buil60.9.nc”这样的简单任务工作得很好:

代码语言:javascript
复制
- 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(库存文件)上使用了如下参数:

代码语言:javascript
复制
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种设备上得到满足?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-08-06 14:44:22

问题的解决要归功于两个同事: Citrix设备的提示(一旦连接)只显示">“,而不是像"user_device_name>”这样更复杂的提示,这一事实导致paramiko模块不确定地等待超时。

在此之前:

cli_command结果:

代码语言:javascript
复制
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“的提示:

之后:

后来,这种联系是成功的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65507587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档