问题标签 [junos-automation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
33 浏览

ansible - junos_l2_interface 删除描述,不是吗?

junos_l2_interface 模块删除了预设的接口描述,我不希望它这样做。有没有办法,或者我应该使用 junos_config 模块重做这个?

在 JUNOS 14.1X53-D47.3 上运行 Ansible 2.8.1 并使用 Juniper.junos 角色和 junos_l2_interface 模块

我的任务配置:

输出:

说明:null 移除预设说明

由于我没有在模块中包含描述参数,我希望模块保持原样。

0 投票
1 回答
61 浏览

variables - 从 Junos 节点获取事实并使用它们形成将在其他戏剧中使用的变量

我有一个关于使用 Ansible 自动化网络节点的问题。

我想获取涉及vlan的网络节点的配置(实际上我只是想查看节点中使用的最后一个vlan,以便我可以自动创建下一个)。

当我登录到 Junos 路由器时,我编写了以下命令:

show configuration | display set | match interfaces | match ae0 | match description

我得到了 17 行配置,都涉及 vlan(最后一行是创建的最后一个 vlan)

我想我会junos_command为相同的命令使用模块,注册输出然后在 msg 中显示它(更大计划的第一部分)。

但事实证明,junos_command这只能让我使用show configuration2500 行配置。

有没有办法让junos_command我得到想要的输出,或者我应该只使用给定的输出,尝试以某种方式解析它?有什么建议么?

我看到的唯一缺点是获取和解析该输出需要时间,因为它会非常大,并且能够最小化输出将提高效率。

也许还有一些关于解析输出的建议?除了正则表达式过滤器还有其他方法吗?

0 投票
1 回答
226 浏览

ansible - 收集已配置 IP 地址的列表

我想提取将 IPv6 地址分配给接口的 Juniper 配置行,并将该输出保存到文件中。

我所追求的输出是使用命令“show configuration |”生成的。展示套装| 匹配 "inet6 地址" '

我正在构建一个 Ansible 剧本并排除错误以完成以下任务。它基本上为我提供了完整的界面配置,我只想将其缩小到适合手动命令中“匹配”行的行。注释掉的过滤器不起作用,我找不到以我理解的方式解释过滤器的文档。

输出:

我只想要这样的行:

设置接口单元 X 系列 inet6 地址 XXXX:YYYY:ZZZZ:1234::1/127

但我似乎无法插入正确的过滤器。

我还会提到,如果有更好的方法来收集它,我愿意探索它。看起来这就是 Ansible 被创建来执行的任务。

0 投票
2 回答
752 浏览

ansible - ansible junos UnicodeDecodeError: 'utf8' codec can't decode byte 0xff in position 0:

我试图为 Junos 路由器获取 ansible。当我执行以下代码时,出现以下错误:

“任务执行期间发生异常。要查看完整的回溯,请使用 -vvv。错误是:UnicodeDecodeError: 'utf8' codec can't decode byte 0xff in position 0: invalid start by”

我厌倦了在终端设备上启用 netconf,但仍然没有运气。我不能使用任何星系模块,因为我们有那个......

我错过了什么吗?

谢谢

0 投票
1 回答
117 浏览

networking - 基于文件名的主机特定目标

我正在使用 ansible 使用“junos_install_config”模块将配置“.set”文件发送到 Junos OS 设备。我想根据名称将特定文件发送到特定主机。

例如。我想将文件“vMX1.set”发送到主机 vMX1,将文件“vMX2.set”发送到主机 vMX2 等。

目前我正在这样做:

然而,这种方法非常耗时且不合逻辑。例如,如果我有 50 个配置文件和 50 个设备,我将不得不编写 50 个不同的任务。有什么方法可以自动执行此操作,以便剧本检查任务的名称并为文件分配相应的名称?

主机文件看起来像这样

0 投票
1 回答
292 浏览

ansible - junos_install_config 替换模块是什么?

在剧本中使用角色中的junos_instal_config模块时,Juniper.junos例如:

运行 playbook 会返回以下弃用警告:

但是阅读有关该模块的文档,我似乎无法找到取代它的内容。谁能告诉我现在可以在以后的版本中使用哪个模块将“.set”文件发送和安装到 Junos 设备?

0 投票
1 回答
360 浏览

authentication - 使用 Ansible 设置新的 Junos OS 用户

我正在尝试为运行 Junos OS 的 vMX 路由器创建一个新用户。用户需要是具有以下凭据的超级用户:

用户名:管理员

密码:admin123

直接从命令行执行此操作很容易,我只需更改为编辑模式并键入以下命令

控制台然后提示你输入密码然后确认,所以我输入密码如下

然后我可以提交更改并创建用户。问题在于,当我尝试使用 ansible 对 8 个不同的 vmx 路由器重复此过程时。我已经设置了以下剧本:

但这返回了以下错误:

我假设这与命令的最后一部分有关,因为直接在机器上执行此操作时,会提示用户输入密码,所以当这些行由 ansible 传递时,操作系统不知道该怎么做仅包含密码的行。

我还尝试了以下剧本:

但这会导致下面的语法错误。所以这不是一次成功的尝试。

那么有什么方法可以传递这个命令来创建一个新用户并使用 ansible 为新用户设置一个密码来加快对多个设备重复它的过程?

0 投票
1 回答
150 浏览

xpath - JSNAPY:有没有办法测试 xpath 节点属性

我正在尝试确定如何测试 junos 偶尔使用的节点属性。在这种特殊情况下,我想查找在 20w 和 1y 之间关闭的所有 BGP 会话。秒值包含在节点属性中,但我无法弄清楚如何访问它以进行测试。

我已经尝试了使用整个显式 xpath 的各种方法,一直到我在代码下面的内容。

这是我试图访问的 xpath(为简洁而编辑):

0 投票
1 回答
91 浏览

xml - 如何获取提取 xml 数据并打印调试消息

我正在尝试通过 xpath 提取 2 个元素(l2-mac-addressl2-mac-logical-interface)并将它们打印为“ mac-addressinterface

XML:

剧本:

当前结果:

我如何获得mac地址和它的界面显示在同一个debug: msg

编辑:

我如何将 mac 和接口字符串列表放入变量中?我尝试将其添加到剧本中:

但只获取最后一个 mac 和 interface 添加到变量中:

0 投票
1 回答
398 浏览

python - 正则表达式包括匹配瞻博网络 srx 输出的变量

使用 python 作为我的第一语言进行编程的新手。

我正在尝试创建一个匹配的正则表达式'lo0.0'或从下面的字符串中显示在该位置的任何其他接口。我需要将 ip 地址'192.168.50.5'作为变量输入,以便正则表达式可以作为循环的一部分动态重用,这将确保检索到的接口是该路由的正确传出接口。

我尝试使用积极的后向断言,但在让脚本在正则表达式的开头但在后向断言中使用dotallor 或multiline.

'\n\ninet.0: 13 destinations, 14 routes (13 active, 0 holddown, 0 hidden)\n+ = Active Route, - = Last Active, * = Both\n\n192.168.50.5/32 *[Direct/0] 1w2d 02:39:35\n > via lo0.0\n'