我正在使用Ansible把信任推到一些Juniper设备上。为了开始工作,我正在尝试调整从这里的官方演示。中收集事实的Playbook,我已经修改了主机文件,以使用我实际的Juniper设备之一。看来Ansible知道所有模块库都在哪里,但出于某种原因,它抛出了一个似乎没有文档的错误:Netconf::OpenError
除了在我自己的主机上使用主机文件之外,我还更改了tasks/nc_check.yml中的端口22,而不是端口830。这是因为(据我所知),我能进入交换机的只有SSH (端口22)。
Juniper模块都是用Ruby编写的。下面是我安装的所有依赖项的版本:
junos-ez-stdlib (0.1.2)
mini_portile (0.5.2)
net-scp (1.1.2)
net-ssh (2.7.0)
netconf (0.3.1)
nokogiri (1.6.0)
serialport (1.2.3)下面是运行演示所提供的相同剧本的输出。我的问题是:
open': Netconf::OpenError (Netconf::OpenError) from /var/lib/gems/1.9.1/gems/netconf-0.3.1/lib/net/netconf/transport.rb:28:in初始化‘from /var/lib/gems/1.9.1/gems/netconf-0.3.1/lib/net/netconf/ssh.rb:21:in initialize' from /home/gateway/.ansible/tmp/ansible-1384993979.48-89494360697375/junos_get_facts:46:innew’from /home/gateway/.ansible/tmp/ansible-1384993979.48-89494360697375/junos_get_facts:46:in‘
致命:所有主机都失败了??中止。
播放重述**************************************重试,使用:-限制@/home/gateway/get_junos_facts.retry
10.113.7.002 : ok=1 changed=0 unreachable=0 failed=1发布于 2013-11-21 02:27:48
答案是: Juniper设备没有正确地设置来侦听正常SSH端口22上的NETCONF连接。在Juniper配置中更改这一点使其全部正常工作。这意味着Netconf::OpenError意味着设备可能是可访问的,但NETCONF连接不可用。
https://stackoverflow.com/questions/20110214
复制相似问题