首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解NetConf::来自Ansible Juniper NetConf模块的OpenError

理解NetConf::来自Ansible Juniper NetConf模块的OpenError
EN

Stack Overflow用户
提问于 2013-11-21 00:40:14
回答 1查看 684关注 0票数 0

我正在使用Ansible把信任推到一些Juniper设备上。为了开始工作,我正在尝试调整从这里的官方演示。中收集事实的Playbook,我已经修改了主机文件,以使用我实际的Juniper设备之一。看来Ansible知道所有模块库都在哪里,但出于某种原因,它抛出了一个似乎没有文档的错误:Netconf::OpenError

除了在我自己的主机上使用主机文件之外,我还更改了tasks/nc_check.yml中的端口22,而不是端口830。这是因为(据我所知),我能进入交换机的只有SSH (端口22)。

Juniper模块都是用Ruby编写的。下面是我安装的所有依赖项的版本:

代码语言:javascript
复制
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)

下面是运行演示所提供的相同剧本的输出。我的问题是:

  1. 是什么导致了Netconf::OpenError错误?
  2. 我应该在Juniper交换机上为Netconf使用不同的端口吗?在Juniper配置中,我要看什么才能知道要使用哪个端口?(EX4200和EX4500) ansible-剧本junos/get_junos_facts.yml -i -vvv 播放“显示朱诺斯事实”,确保使用**************** -v 任务:检查设备**************** <10.113.7.002> EXEC '/bin/sh‘、'-c’、‘'mkdir $HOME/.ansible/tmp/ansible-1384993979.41-2345029032433 && chmod a+rx $HOME/.ansible/tmp/ansible-1384993979.41-2345029032433 && echo $HOME/.ansible/tmp/ansible-1384993979.41-2345029032433’<10.113.7.002> REMOTE_MODULE wait_for host="10.113.7.002“port=22 timeout="1”<10.113.7.002> PUT /tmp/tmpwhWU6X TO /home/gateway/.ansible/tmp/ansible-1384993979.41-2345029032433/wait_for <10.113.7.002> EXEC '/bin/sh','-c','/usr/bin/python /home/gateway/.ansible/tmp/ansible-1384993979.41-2345029032433/wait_for;rm /home/gateway/.ansible/tmp/ansible-1384993979.41-2345029032433/ >/dev/null 2>&1‘ok: 10.113.7.002 => {“已更改”:false,“-rf”:0,"item":“item”:"port":22,“-rf”:“-rf”:“-rf”} 任务:联系目标获取***************** <10.113.7.002> EXEC '/bin/sh','-c',‘'mkdir $HOME/.ansible/tmp/ansible-1384993979.48-89494360697375 && chmod a+rx $HOME/.ansible/tmp/ansible-1384993979.48-89494360697375 & echo $HOME/.ansible/tmp/ansible-1384993979.48-89494360697375’<10.113.7.002> REMOTE_MODULE junos_get_facts host=10.113.7.002 user=viasat <10.113.7.002> PUT /tmp/tmpB4jBDM至/home/gateway/.ansible/tmp/ansible-1384993979.48-89494360697375/junos_get_facts <10.113.7。将/tmp/tmp28DLzs放到/home/gateway/.ansible/tmp/ansible-1384993979.48-89494360697375/arguments <10.113.7.002> EXEC '/bin/sh','-c','/usr/local/bin/ruby /home/gateway/.ansible/tmp/ansible-1384993979.48-89494360697375/junos_get_facts /home/gateway/.ansible/tmp/ansible-1384993979.48-89494360697375/arguments;rm /home/gateway/.ansible/tmp/ansible-1384993979.48-89494360697375/ >/dev/null 2>&1‘failed: 10.113.7.002 => {"failed":true,“已解析”:false}无效输出是: /var/lib/gems/1.9.1/gems/netconf-0.3.1/lib/net/netconf/transport.rb:49:in 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
EN

回答 1

Stack Overflow用户

发布于 2013-11-21 02:27:48

答案是: Juniper设备没有正确地设置来侦听正常SSH端口22上的NETCONF连接。在Juniper配置中更改这一点使其全部正常工作。这意味着Netconf::OpenError意味着设备可能是可访问的,但NETCONF连接不可用。

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

https://stackoverflow.com/questions/20110214

复制
相关文章

相似问题

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